Hands-On Convolutional Neural Networks with TensorFlow
上QQ阅读APP看书,第一时间看更新

Types of ML

ML problems can be separated into three major groups depending on what kind of data is available to us and what we want to accomplish:

Supervised learning: Both the input and desired output or label are available to us. Hand gesture classification, where we are given images of hand gestures and corresponding labels, is an example of a supervised learning problem. We want to create a model that is able to output the correct label given an input hand image.

Supervised techniques include SVM, LDA, neural networks, CNN, K-NN, the decision tree, and so on.

Unsupervised learning: Only the inputs are available with no labels, and we don't necessarily know what we want our model to do. An example would be if we are given a large dataset containing pictures of hands, but no labels. In this case, we might know that there is some structure or relationships in the data, but we leave it up to an algorithm to try and find them within our data for us. We might want our algorithm to find clusters of similar hand gestures in our data, so we don't have to manually label them.

Another use of unsupervised learning is finding ways of reducing the dimension of the data we are using, again by finding important features in our data and discarding unimportant ones.

Unsupervised techniques include PCA, t-SNE, K-means, autoencoders, deep autoencoders, and so on.

The following image illustrates the difference between classification and clustering (when we need to find structure on unsupervised data).

Reinforcement learning: The third kind is all about training an agent to perform some action in an environment. We know the desired outcome, but not how to get to it. Rather than having labeled data, we give the agent feedback telling it how good or bad it is at accomplishing the task. Reinforcement learning is out of the scope of this book.