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.

## How to program K Means

K Means is a popular unsupervised machine learning algorithm for data clustering. A typical start for flat clustering, the K Means algorithm works by defining a number K of clusters to be extracted by the algorithm. With this K number given, the algorithm will then find the best “centroids” to cluster the data around.

## 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.

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.

Underfitting | Just right | Overfitting | |

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 illustration | |||

Classification illustration | |||

Deep learning illustration | |||

Possible remedies | • Complexify model • Add more features • Train longer | • Perform regularization • Get more data |

The main **machine learning** cheat sheets can be found here:

**Supervised Learning**

Results about linear models, generative learning, support vector machines and kernel methods**Unsupervised Learning**

Formulas about clustering methods and dimensionality reduction**Deep Learning**

Main concepts around neural networks, backpropagation and reinforcement learning**Machine Learning Tips and Tricks**

Good habits and sanity checks to make sure that your model is trained the right way

Other **mathematics and coding** cheat sheets can be found here:

**Probabilities and Statistics**

Formulas about combinatorics, random variables, main probability distributions, and parameter estimation**Linear Algebra and Calculus**

Matrix-vector notations as well as algebra and calculus properties**Getting started with Matlab**

Main features and good practices to adopt

The complete cheat sheets can also be found on Github.