机器学习笔记——16 聚类(clustering):系统聚类与k-means聚类及对“距离”的重新认识(实战项目:利用k-means实现对图像的压缩)
在无监督学习中,由于没有标签值,所以也就失去了损失函数这个用样本来近似总体的监督准则,因此我们的学习就需要从样本本身的属性出发。那么从样本的本身属性值出发,有什么信息是可以利用的呢,一般常用的有:
- 样本属性间的“距离”
- 样本属性间的方差与相关性,或者更一般地说,样本属性的各阶样本原点矩和样本中心矩
重新认识距离
“距离”对我们并不陌生,最符合我们“直觉”和出名的大概就是欧式距离了。但是,欧式距离只是对两点间“距离”的一种刻画。一般来讲,我们可以从日常经验中抽象总结出“距离”应该具有的最简和最本质的公理,只要一种刻画方式满足公理,它自然也可以用来刻画距离。
欧式空间
在向量空间中,通过定义内积(仿造三维的内积定义),可以引申出距离和角度的定义,此时该空间也称为欧式空间(大概是为了纪念欧几里得)。具体的,两个向量的内积应该满足的公理如下:
- 可交换性和正则性: ϕ ( ξ , η ) = ϕ ( η , ξ ) \phi(\xi,\eta) = \phi(\eta,\xi) ϕ(ξ,η)=ϕ(η,ξ) ϕ ( ξ , ξ ) > 0 w h e n ξ ! = 0 \phi(\xi,\xi) > 0~~ when ~~ \xi != 0 ϕ(ξ,ξ)>0 when ξ!=0
- 线性性: ϕ ( a ξ , η ) = a ϕ ( ξ , η ) \phi(a\xi,\eta) = a\phi(\xi,\eta) ϕ(aξ,η)=aϕ(ξ,η)
- 可加性: ϕ ( ξ 1 + ξ 2 , η ) = ϕ ( ξ 1 , η ) + ϕ ( ξ 2 , η ) \phi(\xi_1+\xi_2,\eta) = \phi(\xi_1,\eta)+\phi(\xi_2,\eta) ϕ(ξ1+ξ2,η)=ϕ(ξ1,η)+ϕ(ξ2,η)
此时可以由内积来定义长度,以及两点间的距离: L ( ξ ) = ϕ ( ξ , ξ ) > = 0 L(\xi) = \sqrt{\phi(\xi,\xi)} >= 0 L(ξ)=ϕ(ξ,ξ)>=0
角度余弦定义: c o s ( ξ , η ) = ϕ ( ξ , η ) L ( ξ ) L ( η ) ∈ ( − 1 , 1 ) cos(\xi,\eta) = \frac{\phi(\xi,\eta)}{L(\xi)L(\eta)} \in (-1,1) cos(ξ,η)=L(ξ)L(η)ϕ(ξ,η)∈(−1,1)
角度定义中的取值限制是由柯西不等式决定的 ϕ ( ξ , η ) 2 < = ϕ ( ξ , ξ ) ϕ ( η , η ) \phi(\xi,\eta)^2 <= \phi(\xi,\xi)\phi(\eta,\eta) ϕ(ξ,η)2<=ϕ(ξ,ξ)ϕ(η,η)事实上,该式有一个更为直观的理解,即斜边长度大于直角边长度: ∣ ξ ∣ > ϕ ( ξ , η ∣ η ∣ ) |\xi| > \phi(\xi,\frac{\eta}{|\eta|}) ∣