常见的聚类算法除了Kmeans,还有Meanshift及AP。这里先总结一下Meanshift相关知识。
Mean shift基本思想
Mean shift将特征空间视为先验概率密度函数,那么输入就被视为是一组满足某种概率分布的样本点,这样一来,特征空间中数据最密集的地方,对应于概率密度最大的地方,且概率密度的质心就可以被视为是概率密度函数的局部最优值,也就是要求的聚类中心。
对于每一个样本点,计算以它为中心的某个范围内所有样本点的均值,作为新的中心(这就是shift既中心的移动),移动直至收敛。这样每一轮迭代,中心都会向数据更密集的地方移动。
伪代码可以写成:
重复移动直至收敛{
对每一个数据点,固定一个窗口(数据范围):
计算窗口内数据的中心;
移动窗口至新的中心
}
###如何完成中心的shift过程?### 可以对概率密度求梯度,梯度的方向就是概率密度增加最大的方向,从而也就是数据最密集的方向。 ####预备知识#### - 核 Kernels : 核是满足如下条件的函数:
1.
2.
常见的核函数包括 :
1. Rectangular
2. Gaussian