本文是关于聚类算法的第二篇K-means,感兴趣的同学可以前往http://ihoge.cn/2018/clustering.html
阅读完整版。
二、K-means
1. 算法步骤
<1> 选择 K K 个点作为初始质心
<2> Repeat:
<3> 将每个点指派到最近的质心,形成 个簇
<4> 重新计算每个簇的质心
<5> Until: 质心不发生变化终止
2. 距离的度量
闵可夫斯基距离不是一种距离,而是一类距离的定义。对于 n 维空间中的两个点 x(x1,x2,x3,...,xn) x ( x 1 , x 2 , x 3 , . . . , x n ) 和 y(y1,y2,y3,...,yn) y ( y 1 , y 2 , y 3 , . . . , y n ) ,那么 x x 和 亮点之间的闵可夫斯基距离为:
dxy=∑i=1n(xi−yi)p‾‾‾‾‾‾‾‾‾‾‾‾⎷ d x y = ∑ i = 1 n ( x i − y i ) p
其中p是一个可变参数:
- 当p=1时,被称为曼哈顿距离;
- 当p=2时,被称为欧式距离;
- 当p= ∞ ∞ 时,被称为切比雪夫距离。
余弦相似度:
cos(Θ)=aTb|a