设计非分层聚类技术的目的,是为了将项目(不是变量)分成由K个聚类组成的集合。聚类的个数K可以事先指定,也可以在聚类过程中确定。由于在计算机运行过程中不必确定距离矩阵,也不必存储基本数据,所以同分层方法相比,非分层方法可用于大的多的数据集。
非分层方法的起点或是(1)一个初始的分割,或者是(2)构成未来聚类核心的一组初始种子点。好的初始结构应该没有明显的偏倚。一种启动方式是从项目中随机选出种子点,或将项目随机地分割成初始组的集合。
K均值法——比较流行的非分层方法
算法的基本思想使将每一个项目分给具有最近中心(均值)的聚类。最简单形式的算法包括以下三个步骤:
1. 将所有项目分成K个初始聚类。
2. 将项目表中的某个项目划入中心(均值)离它最近的类。(这里的距离通常用标准
化或非标准化数据算出的欧式距离)对得到的项目和失去项目的两个聚类重新计算它们的中心坐标。
3. 重复步骤2,直至所有的点都不能再分配为止。
在上述过程中,步骤1 也可以不从分割成K个初始聚类开始,而从规定K个初始中心(种子点)开始,然后进入步骤2。
最终的分类结果在某种程度上依赖于初始分组或初始种子点的选择。经验显示,聚类过程中的绝大多数重要变化均发生在第一次再分配中。
例子(用K均值法聚类)
假定我们对A,B,C,D四个项目分别测量两个变量x1和x2,得到如下数据:
项目
变量
x1 x2 A 5 3 B -1 1 C 1 -2 我们的目标是将这些项目分成K=2个聚类,使每个聚类内部的项目之间的距离比与分别属
于不同聚类的项目之间的距离小。为了实施K=2均值法,我们将这些项目先随意分成两个聚类,比如说(AB)和(CD),然后计算这两个聚类的中心(均值)的坐标(x1,x2)。这样,在步骤1中我们有:
中心的坐标 D -3 -2 项目 x1 (AB) (CD)
x2 5+(−1)=2 21+(−3)=−1 23+1=2 2−2+(−2)=−2 2在步骤2中,计算每个项目到组中心的欧氏距离,然后将每个项目重新分配给最近的一组。若组中的项目发生了变化,则改组的中心在进行下一步操作之前要重新计算。先计算A到两个聚类的平方距离
d2(A,(AB))=(5−2)2+(3−2)2=10d(A,(CD))=(5+1)+(3+2)=61
2
2
2
由于A到(AB)的距离小于到(CD)的距离,因此A不用重新分配。计算B到两个聚类的平方距离
d2(B,(AB))=(−1−2)2+(1−2)2=10d(B,(CD))=(−1+1)+(1+2)=9
2
2
2
将B重新分配到聚类(CD),得到聚类(BCD)。接下来就应该更新中心的坐标:
聚类 x1 中心的坐标 x2 (A) 5 3 (BCD) -1 -1
然后再检查每个项目,以决定是否需要重新分类。计算各种平方距离,得出结果如下:
聚类
项目到聚类中心的平方距离
A B C D (A) 0 40 41 (BCD) 52 4 5 5
我们看到,现在的每个项目都已被分给具有最近中心(均值)的聚类,因此分类过程到此结束。最终得到的K=2 个聚类为(A)和(BCD)。
为检查聚类结果的稳定性,应该以新的初始分割重新启动算法。一旦聚类被确定,就可通过对项目标中的项目重新排列来对聚类作直观解释:是处于第一个聚类中的项目排在最前面,处于第二个聚类中的项目排在下一个位置,等等。一份列有各聚类中心坐标和每个聚类内部方差的表同样有助于刻画组与组之间的差别。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo3.cn 版权所有 湘ICP备2023017654号-3
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务