聚类分析(二):系统聚类法

目录

一、类和类的特征

   设G为一个类,类中有m个元素,分别记为\(x^{(1)},x^{(2)},\cdots,x^{(m)}\), 常用到的特征有三个:

1.均值(重心)

\[\bar{x}_G=\frac{1}{m}\sum_{i=1}^{m}x^{(i)} \tag{1} \]

2.样本离差阵和协方差阵

\[L_G=\sum_{i=1}^{m}(x^{(i)}-\bar{x}_G)(x^{(i)}-\bar{x}_G)^T\tag{2} \]

\[\Sigma_G=\frac{L_G}{m-1}\tag{3} \]

3.直径,有多种定义

\[D_G=\sum_{i=1}^{m}(x^{(i)}-\bar{x}_G)^T(x^{(i)}-\bar{x}_G)=tr(L_G) \tag{4} \]

\[D_G=\max_{i,j \in G}d_{ij} \tag{5} \]

二、类间距离

假设两个类\(G_p\)和\(G_q\),分别有\(k\)和\(m\)个样本, 重心分别为\(x_p\)和\(x_q\), 两个类的距离定义为\(G(p,q)\)。

1.最短距离法

两个类的距离取决于最邻近的两个样本的距离。

\[D_G(p,q)=\min{\{d_{jl}|j \in G_p,l \in G_q \}}\tag{6} \]

2. 最长距离法

两个类的距离取决于最远的两个样本的距离。

\[D_G(p,q)=\max{\{d_{jl}|j \in G_p,l \in G_q \}}\tag{7} \]

3.重心法

\[D_c(p,q)=d_{\bar{x}_p\bar{q}_q} \]

二、系统聚类法

1.流程

flowchat st=>start: 开始 e=>end: 结束 op1=>operation: 计算n个样品的两两间的距离 op2=>operation: 构造n个类,每个样品为独立的一个类 op3=>operation: 合并最近的两个类为一个新类 op4=>operation: 计算新类到各个类的距离 cond=>condition: 累的个数是否为1 st->op1->op2->op3->op4->cond cond(yes)->e cond(no)->op3

2.示例

以下数据为5个省份居民消费在8个指标的的支出占比。
聚类分析(二):系统聚类法
用欧式距离来衡量各个样本间的距离,用重心法衡量各个类间的距离。
计算出各个省之间的距离如下:

聚类分析(二):系统聚类法
发现最小距离为195.14,于是将对应的省份合成一类,在计算相对应的距离。
最后得到聚类的谱系图:
聚类分析(二):系统聚类法

上一篇:Java设计模式学习笔记三


下一篇:拜读经典——大话设计模式(四)——装饰模式、代理模式、工厂方法模式