I’ve been reading some introductory material on machine learning lately. I thought I’d share some of what I’ve learned. First an overview of sorts. Machine learning is an approach to giving computers the ability to learn without being explicitly programmed. There are three approaches to machine learning currently known, supervised learning, unsupervised learning, and reinforcement learning.
Supervised learning takes a set of example data in which each element has been characterized as to its category, for example a collection of email messages might be supplied as a training set and each message will be characterized as spam or not spam. The learning algorithm analyzes all of the examples and builds a model by which it will attempt to categorize new email messages as either spam or not spam. After the program is satisfied that it has developed an adequate classification algorithm, it applies the algorithm to a test dataset to evaluate the quality of its categorization. In operation it is applied to incoming messages and thus categorizes them as spam or not spam.
Another kind of supervised learning tries to characterize data elements according to some continuous measure of relevant attributes. Such a ranking is called a regression. It might be used for such things as predicting adult height from the height of a person’s parents and key elements of their diet as a kid.
Unsupervised learning is a way of detecting clusters of similar elements without any dataset to explicitly compare with. It proceeds by first examining the test data set for tight clusters of elements that are similar in some way or another. The problem with this approach is that it needs much closer oversight when it is extracting clusters from the dataset. It may find a correlation where there isn’t one for example. It remains for the computer scientist to identify which relationships that were discovered by the algorithm and what significance they have, if any. An example of unsupervised learning is taking the information from a survey and trying to discover common traits between subjects that indicate a preference for the client’s product so that the common traits can guide the development of an advertising campaign.
Reinforcement learning is similar to the way that people learn. There is a function that determines how closely an element matches its desired state. If it matches reasonably well, the processor typically receives a reward commensurate with how well it matches the reward criteria. An example of reinforcement learning might be learning to play tic tac toe where the program is rewarded according to whether it wins, or draws, with no reward for losing.
So, to summarize, there are three kinds of machine learning, supervised, unsupervised, and reinforcement learning. Supervised learning works from a manually scored example dataset, unsupervised learning discovers clusters of similar elements, and reinforcement learning builds a database of experience that resulted in rewards.
You’ve now taken the first step toward understanding what machine learning is doing under the covers. So now when your browser uncannily offers you products that you are actually interested in, you’ll have an inkling why.
Sweet dreams, don’t forget to tell the ones you love that you love them, and most important of all, be kind.