How to program Mean Shift

Mean Shift is an unsupervised machine learning algorithm. It is a hierarchical data clustering algorithm that finds the number of clusters a feature space should be divided into, as well as the location of the clusters and their centers. It works by grouping data points according to a “bandwidth”, a distance around data points, and converging the clusters’ centers towards the densest regions of data.

Mean Shift algorithm finding the clusters centers Continue reading “How to program Mean Shift”

Conceptual and mathematical summary for machine learning

Machine learning makes use of multiple mathematical formulas and relations to implement the different tasks it can handle. Gathered in the following “cheat sheets” by Afshine and Shervine Amidi, the concepts for supervised and unsupervised learning, deep learning together with machine learning tips and tricks, probabilities, statistics algebra and calculus reminders, are all presented in details with the underlying math.

Gradient descent diagram

Based on the Stanford course on Machine Learning (CS 229), the cheat sheets summarize the important concepts of each branch with simple explanations and diagrams, such as the following table cover underfitting and overfitting.

UnderfittingJust rightOverfitting
Symptoms• High training error
• Training error close to test error
• High bias
• Training error slightly lower than test error• Very low training error
• Training error much lower than test error
• High variance
Regression illustrationIllustrationIllustrationIllustration
Classification illustrationIllustrationIllustrationIllustration
Deep learning illustrationIllustrationIllustrationIllustration
Possible remedies• Complexify model
• Add more features
• Train longer
• Perform regularization
• Get more data

The main machine learning cheat sheets can be found here:

Other mathematics and coding cheat sheets can be found here:

The complete cheat sheets can also be found on Github.