K-means算法介绍
- 设样本为X{x(1),x(2)……..}
- 首先在样本中随机选取k个聚类中心.
- 然后对除开聚类中心外的样本点计算到每个聚类中心的距离.将样本归类到距离样本中心最近的样本点.这便实现了最初的聚类
- 更新每类的聚类中心为X{x(1),x(2)……..}的平均值
- 重复步骤四,直到两次聚类中心的位置不再变化,这便完成了最终的聚类
[参考]http://www.cnblogs.com/zhzhang/p/5437778.html
K-mediod算法介绍
- 设样本为X{x(1),x(2)……..}
- 首先在样本中随机选取k个聚类中心.
- 然后对除开聚类中心外的样本点计算到每个聚类中心的距离.将样本归类到距离样本中心最近的样本点.这便实现了最初的聚类
- 再对每个类中除类中心的点外的其他样本点计算到其他所有点的距离和的最小值.将该最小值点作为新的聚类,中心便实现了一次聚类优化.
- 重复步骤四,直到两次聚类中心的位置不再变化,这便完成了最终的聚类
[参考]http://www.cnblogs.com/vpoet/p/4659734.html
差异分析
注:步骤4正体现了kmeans和kmediod的核心差异
- K-means迭代的中心点为当前类中所有数据的平均值,这个中心点可能是不存在的,比如对5和6则新的中心为5.5。
- K-mediod迭代的中心点仍然在当前类中。迭代的过程为对于每个点计算距离和,因此可以弥补K-means的缺陷
- K-mediod算法的收敛速度很慢,不适合大规模数据