聚类算法
K-means 算法
算法步骤
- 随机确定好 k个聚类中心
- 根据离聚类中心最近的原则给样本点分类
- 根据分类后的样本点集合进行平均重新 计算聚类中心。返回2;
- 存在聚类中心差异小的时候,结束计算。
K值的挑选
- cost function : 分类后的样本点和聚类中心的方差作为代价函数。
- K值变大,cost function 变小
Elbow method 可以确定变化的骤变点。该点是 K-cost function图像上曲率最大的点。
使用K-means进行图像分割
- 特征聚类
- 亮度聚类
- 颜色空间聚类
优点:
- 类密集且区别明显的时候,分类效果好
- 强的一致性
- 算法复杂度O(NMt),处理大数据集是高效的
缺点:
- 初始化中心的选择影响收敛
- 需要预先给出k值
- 噪声敏感
- 收敛到局部最优解,可能效果感人。。
Mean shift
在数据空间中,确定一个圆区域,计算圆内数据质心,然后圆心漂移到质心,重新在圆内计算质心,直到圆心等于质心。即收敛,达到局部最小值。
另外一种表述,在窗口中计算均值漂移向量,变换密度窗口,重复计算变换直到收敛。
- 不受噪声敏感(除三维颜色,还引入位置坐标信息)
- 参数单一
- 维度越高,聚类越慢
- 重复计算(染色标记降低冗余)