聚类分析(二)——K中心点算法(k-mediods)
来源:互联网 发布:什么软件可以升级显卡 编辑:程序博客网 时间:2024/06/16 14:22
K中心点算法(K-medoids)
前面介绍了k-means算法,并列举了该算法的缺点。而K中心点算法(K-medoids)正好能解决k-means算法中的 “噪声”敏感这个问题。
如何解决的呢?
首先,我们得介绍下k-means算法为什么会对“噪声”敏感。还记得K-means寻找质点的过程吗?对某类簇中所有的样本点维度求平均值,即获得该类簇质点的维度。当聚类的样本点中有“噪声”(离群点)时,在计算类簇质点的过程中会受到噪声异常维度的干扰,造成所得质点和实际质点位置偏差过大,从而使类簇发生“畸变”。
Eg: 类簇C1中已经包含点A(1,1)、B(2,2)、 C(1,2)、 D(2,1), 假设N(100,100)为异常点,当它纳入类簇C1时,计算质点Centroid((1+2+1+2+100)/5,(1+2+2+1+100)/5)=centroid(21,21),此时可能造成了类簇C1质点的偏移,在下一轮迭代重新划分样本点的时候,将大量不属于类簇C1的样本点纳入,因此得到不准确的聚类结果。
为了解决该问题,K中心点算法(K-medoids)提出了新的质点选取方式,而不是简单像k-means算法采用均值计算法。在K中心点算法中,每次迭代后的质点都是从聚类的样本点中选取,而选取的标准就是当该样本点成为新的质点后能提高类簇的聚类质量,使得类簇更紧凑。该算法使用绝对误差标准来定义一个类簇的紧凑程度。
如果某样本点成为质点后,绝对误差能小于原质点所造成的绝对误差,那么K中心点算法认为该样本点是可以取代原质点的,在一次迭代重计算类簇质点的时候,我们选择绝对误差最小的那个样本点成为新的质点。
Eg:样本点A –>E1=10
样本点B –>E2=11
样本点C –>E3=12
原质点O–>E4=13,那我们选举A作为类簇的新质点。
与K-means算法一样,K-medoids也是采用欧几里得距离来衡量某个样本点到底是属于哪个类簇。终止条件是,当所有的类簇的质点都不在发生变化时,即认为聚类结束。
- 聚类分析(二)——K中心点算法(k-mediods)
- 聚类分析(三) K中心点算法(k-mediods)
- 聚类分析之K中心点算法(k-mediods)
- K-mediods(K中心点)算法
- 聚类分析--k中心点算法
- 聚类分析--k中心点算法
- K-mediods算法
- K中心点算法(K-medoids)
- 【机器学习】聚类分析(一)——k-means算法
- k-Mediods算法Matlab实现
- K中心点算法(K-medoids) java实现
- K-中心点聚类算法(K-Medoide)
- 聚类分析——K-Means算法
- 用K均值算法(K-means)做聚类分析
- 划分聚类分析: K均值和基于中心点的划分(PAM)
- 聚类分析: k-means算法
- 聚类分析笔记-K均值matlab算法(一)
- K中心点聚类算法
- 黑马程序员——OC中字典的用法总结
- 给老板汇报技术规划的要点
- 小白马卫士之流量统计
- Audio笔记之耳机插拔检测
- Python中将生成的向量存入一个矩阵中
- 聚类分析(二)——K中心点算法(k-mediods)
- 【深入浅出ios开发】UIStoryboardSegue详解
- Linux内核中常见内存分配函数
- android handle 用法
- wxWidgets 安装
- 用“逐步排除”的方法定位Java服务线上“系统性”故障
- 程序员的“机械同感”
- 深入理解SELinux SEAndroid(第一部分)
- MFC 与 CUDA 环境设置及程序运行