像整理相册一样学AI?揭秘K-Means图像分类的数学魔法!:典型例题精讲
适用年级
奥数
难度等级
⭐⭐⭐
资料格式
PDF 可打印
最近更新
2025-12-20
图像分类:K-Means算法深度解题攻略
💡 阿星精讲:图像分类 的本质
想象一下,你要整理手机里上千张照片。你怎么做?你会把家人的归在一起,风景的归在一起,宠物的也归在一起。这就是分类。但机器没有眼睛,它怎么“看”图片呢?
奥秘在于,机器会把每张图片转化成一串数字,称为特征向量(Feature Vector),比如 \( \mathbf{x} = [x_1, x_2, ..., x_n] \),这串数字就代表了图片的“身份证”——颜色分布、纹理、形状等信息。
那么,K-Means算法是如何工作的呢?它就像一个聪明的“图片管家”。它的任务是:给定一堆图片(特征向量)和一个预设的类别数 \( K \),自动把相似的图片聚成一堆。它的核心方法是计算距离。在数学世界里,我们常用欧几里得距离来衡量两个特征向量的相似度:对于两个向量 \( \mathbf{p} = [p_1, p_2] \) 和 \( \mathbf{q} = [q_1, q_2] \),距离 \( d = \sqrt{(p_1 - q_1)^2 + (p_2 - q_2)^2} \)。距离越近,图片越相似!算法通过不断计算、比较、调整,最终让同一堆内的图片距离尽可能小,不同堆的图片距离尽可能大。
🔥 经典例题精析
题目:假设我们有6张图片,每张图片用一个二维特征向量 \( (x, y) \) 表示其在颜色和纹理上的简化特征,数据点为:\( A(1, 2) \), \( B(1, 4) \), \( C(3, 3) \), \( D(5, 4) \), \( E(6, 3) \), \( F(7, 2) \)。使用K-Means算法(设 \( K=2 \)),初始中心点选为 \( C_1 = A(1, 2) \) 和 \( C_2 = D(5, 4) \)。请完成第一轮迭代,将6个点划分到两个簇中。
阿星拆解:
第一步:计算每个点到两个初始中心的距离。
距离公式:\( d = \sqrt{(x_1 - x_2)^2 + (y_1 - y_2)^2} \)
以点 \( B(1,4) \) 为例:
到 \( C_1(1,2) \) 的距离:\( d_{B1} = \sqrt{(1-1)^2 + (4-2)^2} = \sqrt{0+4} = 2 \)
到 \( C_2(5,4) \) 的距离:\( d_{B2} = \sqrt{(1-5)^2 + (4-4)^2} = \sqrt{16+0} = 4 \)
因为 \( 2 < 4 \),所以点 \( B \) 离 \( C_1 \) 更近,划归簇1。
第二步:根据距离,完成所有点的划分。
计算结果如下:
- 点A:到C1距离 \( 0 \),到C2距离 \( \sqrt{20} \approx 4.47 \) → 归簇1。
- 点B:如上计算 → 归簇1。
- 点C:到C1距离 \( \sqrt{5} \approx 2.24 \),到C2距离 \( \sqrt{5} \approx 2.24 \) → 距离相等,通常归入序号小的簇(簇1)。
- 点D:到C1距离 \( \sqrt{20} \approx 4.47 \),到C2距离 \( 0 \) → 归簇2。
- 点E:到C1距离 \( \sqrt{34} \approx 5.83 \),到C2距离 \( \sqrt{2} \approx 1.41 \) → 归簇2。
- 点F:到C1距离 \( \sqrt{36} = 6 \),到C2距离 \( \sqrt{8} \approx 2.83 \) → 归簇2。
第三步:总结第一轮划分结果。
簇1包含点:\( A, B, C \)
簇2包含点:\( D, E, F \)
口诀:特征向量是身份证,距离计算比远近。近者相聚成一簇,迭代优化中心稳。
🚀 举一反三:变式挑战
数据点变为:\( P(2, 10) \), \( Q(4, 8) \), \( R(6, 8) \), \( S(8, 10) \), \( T(4, 4) \), \( U(6, 4) \)。初始中心选 \( C_1 = P(2, 10) \) 和 \( C_2 = T(4, 4) \),\( K=2 \)。请完成第一轮迭代的簇划分。
已知经过K-Means算法(\( K=2 \))最终稳定后,两个簇的中心点分别为 \( M_1(2, 3) \) 和 \( M_2(8, 3) \)。现有两个待分类的特征向量 \( V(4, 3) \) 和 \( W(5, 6) \)。请问它们分别会被划分到哪个簇?并解释原因。
在图像分类中,除了欧氏距离,还可使用曼哈顿距离(公式:\( d = |x_1 - x_2| + |y_1 - y_2| \))。对于经典例题中的数据点 \( C(3,3) \) 和初始中心 \( C_1(1,2) \)、\( C_2(5,4) \),请用曼哈顿距离重新计算它到两个中心的距离,并判断它会被划分到哪个簇。这个结果和用欧氏距离计算的结果一致吗?
答案与解析
经典例题答案:第一轮迭代结果:簇1:\( A, B, C \);簇2:\( D, E, F \)。(解析见阿星拆解步骤)
举一反三解析:
变式一:
计算各点到 \( C_1(2,10) \) 和 \( C_2(4,4) \) 的欧氏距离:
- \( Q(4,8) \): 到C1: \( \sqrt{(4-2)^2+(8-10)^2} = \sqrt{4+4} = \sqrt{8} \approx 2.83 \); 到C2: \( \sqrt{(4-4)^2+(8-4)^2} = \sqrt{0+16} = 4 \)。归簇1。
- \( R(6,8) \): 到C1: \( \sqrt{(6-2)^2+(8-10)^2} = \sqrt{16+4} = \sqrt{20} \approx 4.47 \); 到C2: \( \sqrt{(6-4)^2+(8-4)^2} = \sqrt{4+16} = \sqrt{20} \approx 4.47 \)。距离相等,归簇1。
- \( S(8,10) \): 到C1: \( \sqrt{(8-2)^2+(10-10)^2} = 6 \); 到C2: \( \sqrt{(8-4)^2+(10-4)^2} = \sqrt{16+36} = \sqrt{52} \approx 7.21 \)。归簇1。
- \( U(6,4) \): 到C1: \( \sqrt{(6-2)^2+(4-10)^2} = \sqrt{16+36} = \sqrt{52} \approx 7.21 \); 到C2: \( \sqrt{(6-4)^2+(4-4)^2} = \sqrt{4+0} = 2 \)。归簇2。
因此,簇1:\( P, Q, R, S \);簇2:\( T, U \)。
变式二:
计算距离:
- \( V(4,3) \) 到 \( M_1(2,3) \) 距离为 \( 2 \),到 \( M_2(8,3) \) 距离为 \( 4 \)。因此 \( V \) 离 \( M_1 \) 更近,归入 \( M_1 \) 所在簇。
- \( W(5,6) \) 到 \( M_1(2,3) \) 距离为 \( \sqrt{(5-2)^2+(6-3)^2} = \sqrt{18} \approx 4.24 \),到 \( M_2(8,3) \) 距离为 \( \sqrt{(5-8)^2+(6-3)^2} = \sqrt{18} \approx 4.24 \)。距离相等,按惯例可归入任一簇,算法中通常有确定规则(如归入编号小的簇)。
核心原因:K-Means划分的最终依据就是比较待分类点与各簇中心点的距离,距离最小者胜出。
变式三:
使用曼哈顿距离计算:
点 \( C(3,3) \) 到 \( C_1(1,2) \) 的距离:\( |3-1| + |3-2| = 2 + 1 = 3 \)。
点 \( C(3,3) \) 到 \( C_2(5,4) \) 的距离:\( |3-5| + |3-4| = 2 + 1 = 3 \)。
两者距离相等。在经典例题中使用欧氏距离计算结果也是相等(均为 \( \sqrt{5} \))。所以在这个特例下,划分结果一致(都可根据规则归入簇1)。但需要注意的是,不同的距离度量公式可能会导致不同的划分结果,这是选择算法参数时需要考量的。
PDF 典型例题打印版
为了节省资源,点击后将为您即时生成 PDF