AI Knowledge Base

James Butcher - Version 2.0, 2024


Introduction

Welcome to my base of AI/ML knowledge!

One of the goals of this project is to help AI and Machine Learning engineers choose the right tools for a given problem. There are so many out there that it is easy to get lost.

This knowledge base contains all kinds of information about machine learning methods and how they compare. It describes which methods can be used for certain applications as well as their advantages and disadvantages.

The knowledge embodied as an RDF graph, a semantic web technology consisting of many interconnected "things" called resources. These resources can be concepts such as linear regression or properties such as has advantage or literals such as "very simple."

These connections are represented as triples consisting of a subject, a predicate, and an object.

triples diagram

The above diagram depicts two triples: (classification, is a, application) and (decision tree, can do, application). Note that the resource called "classification" appears twice. In an RDF graph, these two instances of "classification" refer to the same thing. Thus, a list of triples together builds a sort of "web" of knowledge. This is the backbone of the knowledge graph structure. Below is a small example of what such a knowledge graph looks like:

simple graph

This framework is extremely flexible. You can use any concept or property you wish to express relationships in any domain of knowledge. For example, the above diagram can be extended by adding triples representing subclass relationships. One of these could be: (logistic regression, subclass of, supervised learning).

Or, as I found very useful, triples representing the strengths and weaknesses of various machine learning methods. For example: (decision tree, has advantage, "creates good explanations"), and (decision tree, has disadvantage, "only easily interpretable when short"). This comes in handy when comparing different methods to use for a given application.


Add/Remove Triples from Knowledge Base

The "Knowledge Base" page lists all the triples currently in the knowledge base.

To add a triple: Enter a subject, a predicate, and an object in the corresponding input fields and click enter. Be sure to use consistent spelling when entering multiple triples containing the same thing. All inputs are case-sensitive.

To delete a triple: Simply scroll down to the triple you want to delete and click the 'X' on the right.

Be sure to click "Save" if you want to save your changes to the graph file.


Recommender Tool

The "Recommender" page lets you select the application you are interested in and then generates a neat list of relevant machine learning methods and information about each one, including their advantages and disadvantages.

It does this by querying the knowledge base for all subjects that meet the criteria: [subject] --> can do --> [selected application], and then gathers all other information on that subject.


Custom Queries

The "Custom Query" page lets you examine the knowledge base in more detail.

Select the subject, predicate, or object you are interested in while leaving the other fields with the default '?' selection acting as a wildcard, and the program will fetch all the triples that meet the criteria.

For example, if you wanted to see all of the different applications in the knowledge base, you would select '?' for the subject, "is a" for the predicate, and "application" for the object. Similarly, if you wanted to see all of the things k-means clustering can do, you would select "k-means clustering" for the subject, "can do" for the predicate, and '?' for the object.




© James Butcher 2024 - jmsbutcher1567@gmail.com