6.6 聚类分析
6.6.1 距离与相似性的度量
6.6.2 系统聚类
6.6.2.1 类与类之间的距离
- 最短距离法:\(D_{KL} = \min\limits_{i\in G_K, j \in G_L} \{d_{ij}\}\)
适用于长条形的或不规则现状的类,对球形类的效果不是很好
- 最长距离法:\(D_{KL} = \max\limits_{i\in G_K, j \in G_L} \{d_{ij}\}\)
倾向于产生直径相等的类,易受异常值的影响
- 类平均法:\(D_{KL}=\frac{\sum_{i\in G_K, j \in G_L}d_{ij}}{n_Kn_L}\)
两类中所有距离的平均数,倾向于先合并方差小的类,而且偏向于产生方差相同的类
- 中间距离法:\(D_{MJ}^2=\frac{1}{2}D_{KJ}^2+\frac{1}{2}D_{LJ}^2-\frac{1}{4}D_{KL}^2\)
平行四边形的对角线的中线距离,
- 重心法:\(D_{KL}^2 = ||\bar X_K - \bar X_L||^2 = (\bar X_K-\bar X_L)'(\bar X_K-\bar X_L)\)
注意这里是平方距离,是重心差的内积。和其他系统聚类方法相比在处理异常值方面更稳健
- Ward法:\(D_{KL}^2 = ||\bar X_K - \bar X_L||^2/(\frac{1}{n_K}+\frac{1}{n_L})\)
在重心法的基础上多除了各自数量的倒数和。该法倾向于先合并样品少的类,且对异常值非常敏感
下面是不同形状数据及各种距离的系统聚类方法效果。
能完全分开的球状数据
各种距离的系统聚类方法均适用。
不能完全分开的球状数据
Ward法、类平均法、重心法的聚类形状差不多,Ward法比较适合样本大小相等的球状数据的聚类。
最短距离法最差。
样本大小不等的球状数据
重心法的聚类效果最好,类平均法偏向产生方差相等的类。
并排拉长的数据
最短距离法效果最好。
Ward法、类平均法、重心法都不行。数据进行预处理后可以得到较好的聚类结果。
非球状数据
最短距离法聚类效果最好。
Ward法、类平均法、重心法都不行,即使对数据进行预处理后仍不起作用。
系统距离的特点:
无需事先指定类的数目。
需要确定相异度(距离/相似性系数)和联接度量准则。
运算量较大,适用于小规模数据。
一旦完成合并或分裂,则无法撤销或修正。
6.6.3 Kmeans
算法步骤:
输入观测样本数据和聚类数目K。
随机将所有观测样本分配到K个类中,作为样本初始类。
分别计算K个类的中心\(\bar x^{(i)}, \, i=1,...,K\)。
计算每个观测样本到其所属类的中心的平方距离\(SSE=\sum_{i=1}^K\sum_{j\in G_i} ||x_j-\bar x^{(i)}||^2\)。
重新将每个观测样本分配到距离其最近的类中心所在的类中,使得SSE减少。
重复第3-5步,直至SSE不在减少,得到最终的聚类结果。
kmeans聚类的特点:
核心思想是使同类内所有样本点的总体差异性尽可能小。
适用于中大规模样本数据。
需要事先指定聚类的数目K。
不同的初始类可能会导致不同结果。
适用于发现球状类。
可能会陷入局部解。
对异常值非常敏感。