Fraser Price
Fraser Price

Reputation: 909

Machine Learning Algorithms which provide information that describes why a classification is made

I am working on a machine learning project in which I need to train a model to classify various input objects; for simplicity, lets assume I am trying to create a model which can classify an image as either containing a cat or a dog.

However, I am not only interested in classifying these objects, but also in understanding why the algorithm classified the image as a dog or a cat. Decision Trees allow for very nice visualizations which describe why an example would be classified one way or another based on the example's features, like so:

enter image description here

I am new to machine learning, so am unfamiliar with how a lot of learning algorithms work; are there any other algorithms which would allow for a visualization (or information) which could give some insight as to why an input example is classified one way or the other, based on that examples features?

Upvotes: 1

Views: 82

Answers (2)

Reece Stevens
Reece Stevens

Reputation: 454

There are several powerful visualization methods that have been developed for deep learning models-- in particular, visualizing image classification is a well-explored space. Just to name a few of the possible methods:

The links above are from the Keras documentation. The original research papers for these methods are linked in the docs-- Keras does a good job of providing a high level explanation and you can dive in to the research paper if you want more detail.

I'm not sure what you are using to build your model, but Keras provides some great visualization tools that implement these methods. I wrote a blog post about visualizing the learning process using Grad-CAM here; it might provide some more context, and there's a link to a working code example too: http://innolitics.com/10x/visualizing-image-classification/.

Upvotes: 0

Rohit
Rohit

Reputation: 67

There is one such visualization tool (for neural networks) which helps you visualize how a particular parameter affects the output classification. It might give you an intuition on how the network is exactly classifying a particular label. You can check it out here: http://playground.tensorflow.org/

Since any linear and complex non linear classifiers can always be represented/transformed into a neural network, it can help you generalize better.

Upvotes: 1

Related Questions