2.2 设有5个二维模式样本如下:X_(1)=(0,0)^T,X_(2)=(0,1)^T,X_(3)=(2,0)^T,X_(4)=(3,3)^T,X_(5)=(4,4)^T定义类间距离为最短距离,且不得小于3。利用层次聚类法对这5个样本进行分类。
题目解答
答案
问题解析
题目要求我们使用层次聚类法对5个二维模式样本进行分类,类间距离定义为最短距离(即单链接距离),并且类间距离不得小于3。
样本点
给定的样本点为:
- $X_1 = (0, 0)^T$
- $X_2 = (0, 1)^T$
- $X_3 = (2, 0)^T$
- $X_4 = (3, 3)^T$
- $X_5 = (4, 4)^T$
聚类步骤
-
计算初始距离矩阵:
首先,计算每个样本点之间的欧几里得距离,构建初始距离矩阵。$d(X_i, X_j) = \sqrt{(x_{i1} - x_{j1})^2 + (x_{i2} - x_{j2})^2}$
计算结果如下:
$\begin{array}{c|ccccc} & X_1 & X_2 & X_3 & X_4 & X_5 \\ \hline X_1 & 0 & 1 & 2 & \sqrt{18} & \sqrt{32} \\ X_2 & 1 & 0 & \sqrt{5} & \sqrt{17} & \sqrt{33} \\ X_3 & 2 & \sqrt{5} & 0 & \sqrt{10} & \sqrt{20} \\ X_4 & \sqrt{18} & \sqrt{17} & \sqrt{10} & 0 & \sqrt{2} \\ X_5 & \sqrt{32} & \sqrt{33} & \sqrt{20} & \sqrt{2} & 0 \\ \end{array}$ -
初始聚类:
每个样本点初始时各自形成一个类:
$\{X_1\}, \{X_2\}, \{X_3\}, \{X_4\}, \{X_5\}$ -
合并最近的类:
根据最短距离(单链接距离)合并最近的类。首先找到距离最小的两个类。- 最小距离为1,对应 $X_1$ 和 $X_2$。
- 合并 $X_1$ 和 $X_2$ 形成新的类 $C_1 = \{X_1, X_2\}$。
更新距离矩阵:
$\begin{array}{c|cccc} & C_1 & X_3 & X_4 & X_5 \\ \hline C_1 & 0 & 2 & \sqrt{10} & \sqrt{18} \\ X_3 & 2 & 0 & \sqrt{10} & \sqrt{20} \\ X_4 & \sqrt{10} & \sqrt{10} & 0 & \sqrt{2} \\ X_5 & \sqrt{18} & \sqrt{20} & \sqrt{2} & 0 \\ \end{array}$ -
继续合并:
- 最小距离为 $\sqrt{2}$,对应 $X_4$ 和 $X_5$。
- 合并 $X_4$ 和 $X_5$ 形成新的类 $C_2 = \{X_4, X_5\}$。
更新距离矩阵:
$\begin{array}{c|ccc} & C_1 & X_3 & C_2 \\ \hline C_1 & 0 & 2 & \sqrt{10} \\ X_3 & 2 & 0 & \sqrt{10} \\ C_2 & \sqrt{10} & \sqrt{10} & 0 \\ \end{array}$ -
继续合并:
- 最小距离为2,对应 $C_1$ 和 $X_3$。
- 合并 $C_1$ 和 $X_3$ 形成新的类 $C_3 = \{X_1, X_2, X_3\}$。
更新距离矩阵:
$\begin{array}{c|cc} & C_3 & C_2 \\ \hline C_3 & 0 & \sqrt{10} \\ C_2 & \sqrt{10} & 0 \\ \end{array}$ -
检查类间距离:
- 当前类间距离为 $\sqrt{10} \approx 3.16$,满足类间距离不得小于3的条件。
最终分类结果
最终分类结果为:
- $C_3 = \{X_1, X_2, X_3\}$
- $C_2 = \{X_4, X_5\}$
答案
最终分类结果为两个类:
- $\{X_1, X_2, X_3\}$
- $\{X_4, X_5\}$
解析
层次聚类法是一种自底向上的聚类方法,通过逐步合并最近的类来形成层次结构。本题的关键在于:
- 类间距离定义为最短距离(单链接):两个类之间的距离是类中最近的两个样本点之间的距离。
- 类间距离不得小于3:合并后的类间距离需满足这一约束条件。
解题核心思路:
- 计算初始距离矩阵,确定所有样本点之间的欧氏距离。
- 逐步合并最近的类,每次选择当前最近的两个类进行合并。
- 更新距离矩阵,并检查类间距离是否满足约束条件,直到无法继续合并。
步骤1:计算初始距离矩阵
所有样本点之间的欧氏距离如下(部分关键距离):
- $d(X_1, X_2) = 1$
- $d(X_4, X_5) = \sqrt{2}$
- $d(X_3, X_4) = \sqrt{10}$
步骤2:初始聚类
每个样本点单独成类:
$\{X_1\}, \{X_2\}, \{X_3\}, \{X_4\}, \{X_5\}$
步骤3:第一次合并
- 最小距离为$1$,合并$X_1$和$X_2$,形成类$C_1 = \{X_1, X_2\}$。
- 更新距离矩阵:计算$C_1$与其他类的最小距离(单链接)。例如,$C_1$到$X_3$的最小距离为$2$($X_1$到$X_3$)。
步骤4:第二次合并
- 最小距离为$\sqrt{2}$,合并$X_4$和$X_5$,形成类$C_2 = \{X_4, X_5\}$。
- 更新距离矩阵:$C_1$到$C_2$的最小距离为$\sqrt{10}$。
步骤5:第三次合并
- 最小距离为$2$,合并$C_1$和$X_3$,形成类$C_3 = \{X_1, X_2, X_3\}$。
- 更新距离矩阵:$C_3$到$C_2$的最小距离为$\sqrt{10} \approx 3.16$,满足类间距离不小于$3$的条件。
步骤6:终止条件
此时类间距离为$\sqrt{10}$,满足约束,停止合并。