引言:
Mean Shift算法与之前的K-means算法是有共同点的。
1、Mean Shift算法原理
1.1核心思想:
他是一个基于密度的算法。里面有一个值叫半径。需要计算一个漂移向量。刚开始也是随机选取的一个点。
第1步:随机先选取一个质心,也就是聚类的质心A,这个质心选择好之后,会有一个半径r(半径一般是默认好的),此时以A为圆心,r为半径画一个圆圈,之后计算A与圆圈内的点所组成向量的一个距离(通过欧式距离来计算),计算完之后会把这些向量的值全部加在一起(加和之后不是像K-means一样求均值),加在一起之后他会把它当做下一次这个质心移动的一个方向;
第2步:比如说加在一起之后质心移动到了B点,此时就会以B点为圆心,以r为半径再画一个圆,就会再次计算这个质心B和圆圈里边(即圆圈以内的所有点)所有点的距离,计算出来之后把所有的向量做一个相加操作,相加之后,他移动的距离其实就是所有向量加起来后的总向量的一个距离,即就是总向量和的模(移动的距离就是这个总向量和的模,方向就是这个总向量和的方向);
第3步:按照这样不断的计算这个质心就会不断的进行移动,最终他会到达这个数据密度最大的一个地方,假设F点使我们最终的一个质心。
最终他会分类成好几组,这个是依据算法自动去计算,给你