聚类分析的基本目标是发现项目items/变量variables的自然分组natural grouping方法。

接近程度closeness或者相似性similarity/proximity
Euclidean distance 欧氏距离
x=[x1,x2,...,xp],y=[y1,y2,...,yp]x'=[x_{1},x_{2},...,x_{p}]\quad,\quad y'=[y_{1},y_{2},...,y_{p}]

d(x,y)=(xy)(xy)d(x,y)=\sqrt{(x-y)'(x-y)}
statistical distance 统计距离
d(x,y)=(xy)S1(xy)d(x,y)=\sqrt{(x-y)'S^{-1}(x-y)}
Hierarchical Clustering Methods 分层聚类方法
--------------·Linkage Method 连接法
1)single linkage 单连接法
聚类 距离方法Clustering, Distance Methods
将每个对象看成是一个类,我们的聚类从合并两个最接近的项目开始:
mini,k(dik)=d53=2 \min_{i,k}(d_{ik})=d_{53}=2

对象5和3合并,形成聚类(35)。为确定下一个聚类水平,我们需要得到聚类(35)与其余对象1,2,4之间的距离,最近邻近点的距离为:
d(35)1=min{d31,d51}=min{3,11}=3d(35)2=min{d32,d52}=min{7,10}=7d(35)4=min{d34,d54}=min{9,8}=8 d_{(35)1}=min{\{d_{31},d_{51}\}}=min{\{3,11\}}=3\\ d_{(35)2}=min{\{d_{32},d_{52}\}}=min{\{7,10\}}=7\\ d_{(35)4}=min{\{d_{34},d_{54}\}}=min{\{9,8\}}=8

得到新的距离矩阵:
聚类 距离方法Clustering, Distance Methods
在这个距离阵中,各对聚类间最小距离为d(35)1=3d_{(35)1}=3,于是我们将聚类1与(35)合并在一起得到下一个聚类(135)
d(135)2=min{d(35)2,d12}=min{7,9}=7d(135)4=min{d(35)4,d14}=min{8,6}=6 d_{(135)2}=min{\{d_{(35)2},d_{12}\}}=min{\{7,9\}}=7\\ d_{(135)4}=min{\{d_{(35)4},d_{14}\}}=min{\{8,6\}}=6
我们得到下一个聚类水平的距离矩阵:
聚类 距离方法Clustering, Distance Methods
各对聚类之间最小最近邻近点距离为d42=5d_{42}=5,于是我们将对象4和2合并,得到聚类(24)。
现在我们有两个不同的聚类(135)和(24),它们的最近临近点距离为:
d(135)(24)=min{d(135)2,d(135)4}=min{7,6}=6 d_{(135)(24)}=min{\{d_{(135)2},d_{(135)4}\}}=min{\{7,6\}}=6

最终的距离阵变为:
聚类 距离方法Clustering, Distance Methods
于是将聚类(135)和(24)合并,形成一个包含全部5个对象的聚类(12345),此时最近邻近点距离为6。

2)complete linkage 完全连接法
聚类 距离方法Clustering, Distance Methods
依旧首先得到聚类(35),但是接下来距离的计算方式为:
d(35)1=max{d31,d51}=mxa{3,11}=11d(35)2=max{d32,d52}=max{7,10}=10d(35)4=max{d34,d54}=max{9,8}=9 d_{(35)1}=max{\{d_{31},d_{51}\}}=mxa{\{3,11\}}=11\\ d_{(35)2}=max{\{d_{32},d_{52}\}}=max{\{7,10\}}=10\\ d_{(35)4}=max{\{d_{34},d_{54}\}}=max{\{9,8\}}=9

于是距离阵修正为:
聚类 距离方法Clustering, Distance Methods
下一次合并发生在两个最相似的组2和4之间,得到一个新的聚类(24),距离的计算方式为:
d(24)(35)=max{d2(35),d4(35)}=max{10,9}=10d(24)1=max{d21,d41}=9 d_{(24)(35)}=max{\{d_{2(35)},d_{4(35)}\}}=max{\{10,9\}}=10\\ d_{(24)1}=max{\{d_{21},d_{41}\}}=9

于是距离阵修正为:
聚类 距离方法Clustering, Distance Methods
下一次合并产生聚类(124)。
在最后阶段,将组(35)和(124)合并成一个聚类(12345),距离水平为:
d(124)(35)=max{d1(35),d(24)(35)}=11 d_{(124)(35)}=max{\{d_{1(35)},d_{(24)(35)}\}}=11
3)average linkage 平均连接法
我们仍从距离阵D={dik}D=\{d_{ik}\}中搜寻最接近/相似的对象开始,假定找到的是UVU、V,将这两个对象合并得到UV(UV),聚类UV(UV)WW之间的距离由下式确定:
d(UV),W=ikdikN(UV)NW d_{(UV),W}=\frac{\sum\limits_{i}\sum\limits_{k}d_{ik}}{N_{(UV)}N_{W}}

其中dikd_{ik}为聚类UV(UV)中的第ii个对象与聚类WW中第kk个对象之间的距离,N(UV)N_{(UV)}NWN_{W}分别为(UV)(UV)WW中成员的个数。

Ward’s Hierarchical Clustering Method沃德的分层聚类法
建立在“联合两个聚类时“信息损失”最小”的这一想法基础上。
信息损失表现为ESS有所增大。
首先,给定聚类kk,令ESSkESS_{k}为此聚类中每一个项目与类均值(中心点)的偏差平方和。若当前有KK个聚类,则定义ESS=ESS1+ESS2+...+ESSKESS=ESS_{1}+ESS_{2}+...+ESS_{K},若某对聚类的合并使得ESSESS增加最少(信息损失最少),则将这两个聚类合并。最初,每个聚类仅由一个项目组成,因而如果有N个项目,则ESSk=0k=1,2,3...,NESS_{k}=0,k=1,2,3...,N,故ESS=0ESS=0;而在另一极端,当所有的聚类合并成由N个项目组成的组,则ESS的值为:
ESS=j=1N(xjx)(xjx) ESS=\sum\limits_{j=1}^{N}(x_{j}-\overline{x})'(x_{j}-\overline{x})

其中xjx_{j}为与第jj个项目相联系的多元测量值,而x\,\overline{x}则为总均值。

Nonhierarchical Clustering Methods: K-means Method
非分层聚类方法:K均值法
聚类 距离方法Clustering, Distance Methods
我们的目标是将这些项目分成K=2K=2个聚类,使每个聚类内部的项目之间的距离比分别属于不同聚类的项目之间的距离小。
为了实施K=2K=2均值法,我们将这些项目先随意分成两个聚类,如(AB)(AB)(CD)(CD),然后计算这两个聚类中心(均值)的坐标(x1,x2)(\overline{x}_{1},\overline{x}_{2})
聚类 距离方法Clustering, Distance Methods
聚类 距离方法Clustering, Distance Methods
考虑初始类(AB)(AB)(CD)(CD),中心坐标分别是(2,2)和(-1,-2)。假如项目AA被移到组CD(CD)中,则新的组为B(B)ACD(ACD),更新的中心为:
聚类 距离方法Clustering, Distance Methods
回到步骤1的初始分组,我们计算距离的平方:

AA不移动:
d2(A,(AB))=(52)2+(32)2=10d2(A,(CD))=(5+1)2+(3+2)2=61 d^2(A,(AB))=(5-2)^2+(3-2)^2=10\\ d^2(A,(CD))=(5+1)^2+(3+2)^2=61
AA移动到组CDCD
d2(A,(B))=(5+1)2+(31)2=40d2(A,(ACD))=(51)2+(3+0.33)2=27.09 d^2(A,(B))=(5+1)^2+(3-1)^2=40\\ d^2(A,(ACD))=(5-1)^2+(3+0.33)^2=27.09
由于AA到组(AB)(AB)中心的距离小于到组(ACD)(ACD)中心的距离,因此AA不更换组。
我们继续考虑BB是否更换组的问题。我们有:
BB不移动:
d2(B,(AB))10d2(B,(CD))=9 d^2(B,(AB))10\\ d^2(B,(CD))=9
BB移动到组CDCD
d2(B,(A))=40d2(B,(BCD))=4 d^2(B,(A))=40\\ d^2(B,(BCD))=4
由于BB到组(AB)(AB)中心的距离大于到组(BCD)(BCD)中心的距离,因此BB更换组。
于是我们得到类(A)(A)(BCD)(BCD),中心分别我(5,3)和(-1,-1)。
在上述新的分类下,我们考虑C的更换问题。
CC不移动:
d2(C,(A))=41d2(C,(BCD))=5 d^2(C,(A))=41\\ d^2(C,(BCD))=5
CC移动到组A(A)
d2(C,(AC))=10.25d2(C,(BD))=11.25 d^2(C,(AC))=10.25\\ d^2(C,(BD))=11.25
由于CC到组(BCD)(BCD)中心的距离小于到组(AC)(AC)中心的距离,因此CC不更换组。
如此继续,我们发现,没有更换再发生,最终的K=2K=2类为(A)(A)(BCD)(BCD)

等价地,上述寻找最终聚类的方法可以采用以下准则实现:
minE=di,c(i)2 minE=\sum{d^2_{i,c(i)}}
di,c(i)2d^2_{i,c(i)}是从项目ii到其所在类的中心的距离平方。
在此例中,总共有7个可能的K=2K=2个类的聚类:
A,(BCD)B,(ACD)C,(ABD)D,(ABC)(AB),(CD)(AC),(BD)(BC),(AD) A,(BCD)\\ B,(ACD)\\ C,(ABD)\\ D,(ABC)\\ (AB),(CD)\\ (AC),(BD)\\ (BC),(AD)
对于聚类{A,(BCD)}\{A,(BCD)\}:
A:dA,c(A)2=0(BCD):dB,c(B)2+dC,c(C)2+dD,c(D)2=4+5+5=14 A:\qquad d^2_{A,c(A)}=0\\ (BCD):\qquad d^2_{B,c(B)}+d^2_{C,c(C)}+d^2_{D,c(D)}=4+5+5=14

因此,di,c(i)2=0+14=14\sum{d^2_{i,c(i)}}=0+14=14
对于其他聚类,不难验证:
B,(ACD)di,c(i)2=48.7C,(ABD)di,c(i)2=27.7D,(ABC)di,c(i)2=31.3(AB),(CD)di,c(i)2=28(AC),(BD)di,c(i)2=27(BC),(AD)di,c(i)2=51.3 B,(ACD) \qquad \sum{d^2_{i,c(i)}}=48.7\\ C,(ABD) \qquad \sum{d^2_{i,c(i)}}=27.7\\ D,(ABC) \qquad \sum{d^2_{i,c(i)}}=31.3\\ (AB),(CD) \qquad \sum{d^2_{i,c(i)}}=28\\ (AC),(BD) \qquad \sum{d^2_{i,c(i)}}=27\\ (BC),(AD) \qquad \sum{d^2_{i,c(i)}}=51.3

由于聚类{A,(BCD)}\{A,(BCD)\}有最小的di,c(i)2=0+14=14\sum{d^2_{i,c(i)}}=0+14=14,这是最终的划分。

相关文章: