Supervised and Unsupervised Machine Learning Algorithms
Supervised and Unsupervised Machine Learning Algorithms
Supervised and Unsupervised Machine Learning Algorithms
Learning Algorithms
Supervised learning problems can be further grouped into regression and classification
problems.
The goal for unsupervised learning is to model the underlying structure or distribution in
the data in order to learn more about the data.
These are called unsupervised learning because unlike supervised learning above there
is no correct answers and there is no teacher. Algorithms are left to their own devises to
discover and present the interesting structure in the data.
Unsupervised learning problems can be further grouped into clustering and association
problems.
Clustering: A clustering problem is where you want to discover the inherent groupings in
the data, such as grouping customers by purchasing behavior.
Association: An association rule learning problem is where you want to discover rules
that describe large portions of your data, such as people that buy X also tend to buy Y.
Some popular examples of unsupervised learning algorithms are:
A good example is a photo archive where only some of the images are labeled, (e.g.
dog, cat, person) and the majority are unlabeled.
Many real world machine learning problems fall into this area. This is because it can be
expensive or time-consuming to label data as it may require access to domain experts.
Whereas unlabeled data is cheap and easy to collect and store.
You can use unsupervised learning techniques to discover and learn the structure in the
input variables.
You can also use supervised learning techniques to make best guess predictions for the
unlabeled data, feed that data back into the supervised learning algorithm as training
data and use the model to make predictions on new unseen data.
Summary
In this post you learned the difference between supervised, unsupervised and semi-
supervised learning. You now know that:
Supervised: All data is labeled and the algorithms learn to predict the output from the
input data.
Unsupervised: All data is unlabeled and the algorithms learn to inherent structure from
the input data.
Semi-supervised: Some data is labeled but most of it is unlabeled and a mixture of
supervised and unsupervised techniques can be used.
Do you have any questions about supervised, unsupervised or semi-supervised
learning? Leave a comment and ask your question and I will do my best to answer it.
Gradient descent
Each point in this two-dimensional space represents a line. The height of the
function at each point is the error value for that line. You can see that some lines
yield smaller error values than others (i.e., fit our data better). When we run
gradient descent search, we will start from some location on this surface and
move downhill to find the line with the lowest error.
To run gradient descent on this error function, we first need to compute its gradient.
The gradient will act like a compass and always point us downhill.
To compute it, we will need to differentiate our error function.
Since our function is defined by two parameters (m and b), we will need to
compute a partial derivative for each.
These derivatives work out to be:
We can initialize our search to start at any pair of m and b values (i.e., any line) and
let the gradient descent algorithm march downhill on our error function towards the
best line.
Each iteration will update m and b to a line that yields slightly lower error than
the previous iteration.
The direction to move in for each iteration is calculated using the two partial
derivatives