文章目录

  • K-Means 二维数据 聚类分析 数据样本及聚类要求
  • 二维数据曼哈顿距离计算
  • K-Means 算法 步骤
  • 第一次迭代 : 步骤 ( 1 ) 中心点初始化
  • 第一次迭代 : 步骤 ( 2 ) 计算距离
  • 第一次迭代 : 步骤 ( 3 ) 聚类分组
  • 第二次迭代 : 步骤 ( 1 ) 中心点初始化
  • 第二次迭代 : 步骤 ( 2 ) 计算距离
  • 第二次迭代 : 步骤 ( 3 ) 聚类分组
  • K-Means 迭代总结
  • K-Means 初始中心点选择方案
  • K-Means 算法优缺点
  • K-Means 算法变种

K-Means 二维数据 聚类分析 数据样本及聚类要求


数据样本及聚类要求 :

① 数据样本 : 数据集样本为 666 个点 , A1(2,4)A_1 ( 2 , 4 )A1​(2,4) , A2(3,7)A_2 ( 3 , 7 )A2​(3,7) , B1(5,8)B_1 ( 5 , 8 )B1​(5,8) , B2(9,5)B_2 ( 9 , 5 )B2​(9,5) , C1(6,2)C_1 ( 6 , 2 )C1​(6,2) , C2(4,9)C_2 ( 4 , 9 )C2​(4,9) ;

② 聚类个数 : 分为 333 个聚类 ;

③ 距离计算方式 : 使用 曼哈顿距离 , 计算样本之间的相似度 ; 曼哈顿距离的计算方式是 两个维度的数据差绝对值 相加 ;

④ 中心点初始值 : 选取 A1,B1,C1A_1 , B_1 , C_1A1​,B1​,C1​ 三个样本为聚类的初始值 , 这是实点 ; 如果选取非样本的点作为初始值 , 就是虚点 ;

⑤ 要求 : 使用 K-Means 算法迭代 222 次 ;

⑥ 中心值精度 : 计算过程中中心值小数向下取整 ;

二维数据曼哈顿距离计算


1 . 曼哈顿距离 公式如下 :

d(i,j)=∣xi1−xj1∣+∣xi2−xj2∣+⋯+∣xip−xjp∣d(i, j) = | x_{i1} - x_{j1} | + | x_{i2} - x_{j2} | + \cdots + | x_{ip} - x_{jp} | d(i,j)=∣xi1​−xj1​∣+∣xi2​−xj2​∣+⋯+∣xip​−xjp​∣

d(i,j)d(i, j)d(i,j) 表示两个样本之间的距离 , 曼哈顿距离 ;

ppp 表示属性的个数 , 每个样本有 ppp 个属性 ;

iii 和 jjj 表示两个 样本的索引值 , 取值范围是 {1,2,⋯,q}\{1 , 2, \cdots , q\}{1,2,⋯,q} ;

xip−xjpx_{ip} - x_{jp}xip​−xjp​ 表示两个样本 第 ppp 个属性值 的差值 , xi1−xj1x_{i1} - x_{j1}xi1​−xj1​ 表示两个样本 第 111 个属性值 的差值 , xi2−xj2x_{i2} - x_{j2}xi2​−xj2​ 表示两个样本 第 222 个属性值 的差值 ;

2 . 曼哈顿距离图示 : 曼哈顿的街道都是横平竖直的 , 从 AAA 点到 BBB 点 , 一般就是其 xxx 轴坐标差 加上其 yyy 轴坐标差 , 即 x+yx + yx+y ;

3 . 本题目中的样本距离计算示例 : 两个样本的曼哈顿距离是 xxx 属性差的绝对值 , 加上 yyy 属性差的绝对值 , 之和 ;

计算 A1(2,4)A_1 ( 2 , 4 )A1​(2,4) , A2(3,7)A_2 ( 3 , 7 )A2​(3,7) 的距离 :

d(A1,A2)=∣2−3∣+∣4−7∣=4d(A_1 , A_2) = | 2 - 3 | + |4 - 7| = 4d(A1​,A2​)=∣2−3∣+∣4−7∣=4

A1A_1A1​ 样本与 A2A_2A2​ 样本之间的距离是 444 ;

K-Means 算法 步骤


K-Means 算法 步骤 : 给定数据集 XXX , 该数据集有 nnn 个样本 , 将其分成 KKK 个聚类 ;

① 中心点初始化 : 为 KKK 个聚类分组选择初始的中心点 , 这些中心点称为 Means ; 可以依据经验 , 也可以随意选择 ;

② 计算距离 : 计算 nnn 个对象与 KKK 个中心点 的距离 ; ( 共计算 n×Kn \times Kn×K 次 )

③ 聚类分组 : 每个对象与 KKK 个中心点的值已计算出 , 将每个对象分配给距离其最近的中心点对应的聚类 ;

④ 计算中心点 : 根据聚类分组中的样本 , 计算每个聚类的中心点 ;

⑤ 迭代直至收敛 : 迭代执行 ② ③ ④ 步骤 , 直到 聚类算法收敛 , 即 中心点 和 分组 经过多少次迭代都不再改变 , 也就是本次计算的中心点与上一次的中心点一样 ;

第一次迭代 : 步骤 ( 1 ) 中心点初始化


初始化中心点 : 333 个聚类的中心点 , 在题目中已经给出 ;

① 聚类 111 中心点 : A1(2,4)A_1 ( 2 , 4 )A1​(2,4) ;

② 聚类 222 中心点 : B1(5,8)B_1 ( 5 , 8 )B1​(5,8) ;

③ 聚类 333 中心点 : C1(6,2)C_1 ( 6 , 2 )C1​(6,2) ;

第一次迭代 : 步骤 ( 2 ) 计算距离


距离计算次数 : 这里需要计算所有的样本 , 与所有的中心点的距离 , 每个样本都需要计算与 333 个中心点的距离 , 共需要计算 6×3=186 \times 3 = 186×3=18 次 ;

数据样本 : A1(2,4)A_1 ( 2 , 4 )A1​(2,4) , A2(3,7)A_2 ( 3 , 7 )A2​(3,7) , B1(5,8)B_1 ( 5 , 8 )B1​(5,8) , B2(9,5)B_2 ( 9 , 5 )B2​(9,5) , C1(6,2)C_1 ( 6 , 2 )C1​(6,2) , C2(4,9)C_2 ( 4 , 9 )C2​(4,9)

1 . 计算 A1(2,4)A_1 ( 2 , 4 )A1​(2,4) 与 三个中心点 {A1,B1,C1}\{ A_1 , B_1 , C_1 \}{A1​,B1​,C1​} 之间的距离 :

① A1(2,4)A_1 ( 2 , 4 )A1​(2,4) 与 A1(2,4)A_1 ( 2 , 4 )A1​(2,4) 的距离 : ( 最小 )

d(A1,A1)=∣2−2∣+∣4−4∣=0d(A_1 , A_1) = | 2-2 | + | 4-4 | = 0d(A1​,A1​)=∣2−2∣+∣4−4∣=0

② A1(2,4)A_1 ( 2 , 4 )A1​(2,4) 与 B1(5,8)B_1 ( 5 , 8 )B1​(5,8) 的距离 :

d(A1,B1)=∣2−5∣+∣4−8∣=7d(A_1 , B_1) = | 2-5 | + | 4-8 | = 7d(A1​,B1​)=∣2−5∣+∣4−8∣=7

③ A1(2,4)A_1 ( 2 , 4 )A1​(2,4) 与 C1(6,2)C_1 ( 6 , 2 )C1​(6,2) 的距离 :

d(A1,C1)=∣2−6∣+∣4−2∣=6d(A_1 , C_1) = | 2-6 | + | 4-2 | = 6d(A1​,C1​)=∣2−6∣+∣4−2∣=6

A1(2,4)A_1 ( 2 , 4 )A1​(2,4) 与 A1(2,4)A_1 ( 2 , 4 )A1​(2,4) 的距离最小 ;

2 . 计算 A2(3,7)A_2 ( 3 , 7 )A2​(3,7) 与 三个中心点 {A1,B1,C1}\{ A_1 , B_1 , C_1 \}{A1​,B1​,C1​} 之间的距离 :

① A2(3,7)A_2 ( 3 , 7 )A2​(3,7) 与 A1(2,4)A_1 ( 2 , 4 )A1​(2,4) 的距离 :

d(A2,A1)=∣3−2∣+∣7−4∣=4d(A_2 , A_1) = | 3-2 | + | 7-4 | = 4d(A2​,A1​)=∣3−2∣+∣7−4∣=4

② A2(3,7)A_2 ( 3 , 7 )A2​(3,7) 与 B1(5,8)B_1 ( 5 , 8 )B1​(5,8) 的距离 : ( 最小 )

d(A2,B1)=∣3−5∣+∣7−8∣=3d(A_2 , B_1) = | 3-5 | + | 7-8 | = 3d(A2​,B1​)=∣3−5∣+∣7−8∣=3

③ A2(3,7)A_2 ( 3 , 7 )A2​(3,7) 与 C1(6,2)C_1 ( 6 , 2 )C1​(6,2) 的距离 :

d(A2,C1)=∣3−6∣+∣7−2∣=8d(A_2 , C_1) = | 3-6 | + | 7-2 | = 8d(A2​,C1​)=∣3−6∣+∣7−2∣=8

A2(3,7)A_2 ( 3 , 7 )A2​(3,7) 与 B1(5,8)B_1 ( 5 , 8 )B1​(5,8) 的距离最小 ;

3 . 计算 B1(5,8)B_1 ( 5 , 8 )B1​(5,8) 与 三个中心点 {A1,B1,C1}\{ A_1 , B_1 , C_1 \}{A1​,B1​,C1​} 之间的距离 :

① B1(5,8)B_1 ( 5 , 8 )B1​(5,8) 与 A1(2,4)A_1 ( 2 , 4 )A1​(2,4) 的距离 :

d(B1,A1)=∣5−2∣+∣8−4∣=7d(B_1 , A_1) = | 5 -2 | + | 8 -4 | = 7d(B1​,A1​)=∣5−2∣+∣8−4∣=7

② B1(5,8)B_1 ( 5 , 8 )B1​(5,8) 与 B1(5,8)B_1 ( 5 , 8 )B1​(5,8) 的距离 : ( 最小 )

d(B1,B1)=∣5−5∣+∣8−8∣=0d(B_1 , B_1) = | 5 -5 | + | 8 -8 | = 0d(B1​,B1​)=∣5−5∣+∣8−8∣=0

③ B1(5,8)B_1 ( 5 , 8 )B1​(5,8) 与 C1(6,2)C_1 ( 6 , 2 )C1​(6,2) 的距离 :

d(B1,C1)=∣5−6∣+∣8−2∣=7d(B_1 , C_1) = | 5 -6 | + | 8 -2 | = 7d(B1​,C1​)=∣5−6∣+∣8−2∣=7

B1(5,8)B_1 ( 5 , 8 )B1​(5,8) 与 B1(5,8)B_1 ( 5 , 8 )B1​(5,8) 的距离最小 ;

4 . 计算 B2(9,5)B_2 ( 9 , 5 )B2​(9,5) 与 三个中心点 {A1,B1,C1}\{ A_1 , B_1 , C_1 \}{A1​,B1​,C1​} 之间的距离 :

① B2(9,5)B_2 ( 9 , 5 )B2​(9,5) 与 A1(2,4)A_1 ( 2 , 4 )A1​(2,4) 的距离 :

d(B2,A1)=∣9−2∣+∣5−4∣=8d(B_2 , A_1) = | 9 -2 | + | 5 -4 | = 8d(B2​,A1​)=∣9−2∣+∣5−4∣=8

② B2(9,5)B_2 ( 9 , 5 )B2​(9,5) 与 B1(5,8)B_1 ( 5 , 8 )B1​(5,8) 的距离 :

d(B2,B1)=∣9−5∣+∣5−8∣=7d(B_2 , B_1) = | 9 -5 | + | 5 -8 | = 7d(B2​,B1​)=∣9−5∣+∣5−8∣=7

③ B2(9,5)B_2 ( 9 , 5 )B2​(9,5) 与 C1(6,2)C_1 ( 6 , 2 )C1​(6,2) 的距离 : ( 最小 )

d(B2,C1)=∣9−6∣+∣5−2∣=6d(B_2 , C_1) = | 9 -6 | + | 5 -2 | = 6d(B2​,C1​)=∣9−6∣+∣5−2∣=6

B2(9,5)B_2 ( 9 , 5 )B2​(9,5) 与 C1(6,2)C_1 ( 6 , 2 )C1​(6,2) 的距离最小 ;

5 . 计算 C1(6,2)C_1 ( 6 , 2 )C1​(6,2) 与 三个中心点 {A1,B1,C1}\{ A_1 , B_1 , C_1 \}{A1​,B1​,C1​} 之间的距离 :

① C1(6,2)C_1 ( 6 , 2 )C1​(6,2) 与 A1(2,4)A_1 ( 2 , 4 )A1​(2,4) 的距离 :

d(C1,A1)=∣6−2∣+∣2−4∣=6d(C_1 , A_1) = | 6 -2 | + | 2 -4 | = 6d(C1​,A1​)=∣6−2∣+∣2−4∣=6

② C1(6,2)C_1 ( 6 , 2 )C1​(6,2) 与 B1(5,8)B_1 ( 5 , 8 )B1​(5,8) 的距离 :

d(C1,B1)=∣6−5∣+∣2−8∣=7d(C_1 , B_1) = | 6 -5 | + | 2 -8 | = 7d(C1​,B1​)=∣6−5∣+∣2−8∣=7

③ C1(6,2)C_1 ( 6 , 2 )C1​(6,2) 与 C1(6,2)C_1 ( 6 , 2 )C1​(6,2) 的距离 : ( 最小 )

d(C1,C1)=∣6−6∣+∣2−2∣=0d(C_1 , C_1) = | 6 -6 | + | 2 -2 | = 0d(C1​,C1​)=∣6−6∣+∣2−2∣=0

C1(6,2)C_1 ( 6 , 2 )C1​(6,2) 与 C1(6,2)C_1 ( 6 , 2 )C1​(6,2) 的距离最小 ;

6 . 计算 C2(4,9)C_2 ( 4 , 9 )C2​(4,9) 与 三个中心点 {A1,B1,C1}\{ A_1 , B_1 , C_1 \}{A1​,B1​,C1​} 之间的距离 :

① C2(4,9)C_2 ( 4 , 9 )C2​(4,9) 与 A1(2,4)A_1 ( 2 , 4 )A1​(2,4) 的距离 :

d(C2,A1)=∣4−2∣+∣9−4∣=7d(C_2 , A_1) = | 4 -2 | + | 9 -4 | = 7d(C2​,A1​)=∣4−2∣+∣9−4∣=7

② C2(4,9)C_2 ( 4 , 9 )C2​(4,9) 与 B1(5,8)B_1 ( 5 , 8 )B1​(5,8) 的距离 : ( 最小 )

d(C2,B1)=∣4−5∣+∣9−8∣=2d(C_2 , B_1) = | 4 -5 | + | 9 -8 | = 2d(C2​,B1​)=∣4−5∣+∣9−8∣=2

③ C2(4,9)C_2 ( 4 , 9 )C2​(4,9) 与 C1(6,2)C_1 ( 6 , 2 )C1​(6,2) 的距离 :

d(C2,C1)=∣4−6∣+∣9−2∣=9d(C_2 , C_1) = | 4 -6 | + | 9 -2 | = 9d(C2​,C1​)=∣4−6∣+∣9−2∣=9

C2(4,9)C_2 ( 4 , 9 )C2​(4,9) 与 B1(5,8)B_1 ( 5 , 8 )B1​(5,8) 的距离最小 ;

8 . 生成距离表格 : 将上面计算的内容总结到如下表格中 ;

A1(2,4)A_1 ( 2 , 4 )A1​(2,4) A2(3,7)A_2 ( 3 , 7 )A2​(3,7) B1(5,8)B_1 ( 5 , 8 )B1​(5,8) B2(9,5)B_2 ( 9 , 5 )B2​(9,5) C1(6,2)C_1 ( 6 , 2 )C1​(6,2) C2(4,9)C_2 ( 4 , 9 )C2​(4,9)
A1(2,4)A_1 ( 2 , 4 )A1​(2,4) 000 444 777 888 666 777
B1(5,8)B_1 ( 5 , 8 )B1​(5,8) 777 333 000 777 777 222
C1(6,2)C_1 ( 6 , 2 )C1​(6,2) 666 888 777 666 000 999

第一次迭代 : 步骤 ( 3 ) 聚类分组


1 . 聚类分组 : 根据计算出的 , 每个样本与 333 个中心点的距离 , 将样本划分到 距离该样本最近的中心点 对应的分组中 ;

A1(2,4)A_1 ( 2 , 4 )A1​(2,4) A2(3,7)A_2 ( 3 , 7 )A2​(3,7) B1(5,8)B_1 ( 5 , 8 )B1​(5,8) B2(9,5)B_2 ( 9 , 5 )B2​(9,5) C1(6,2)C_1 ( 6 , 2 )C1​(6,2) C2(4,9)C_2 ( 4 , 9 )C2​(4,9)
A1(2,4)A_1 ( 2 , 4 )A1​(2,4) 000 444 777 888 666 777
B1(5,8)B_1 ( 5 , 8 )B1​(5,8) 777 333 000 777 777 222
C1(6,2)C_1 ( 6 , 2 )C1​(6,2) 666 888 777 666 000 999

2 . 根据表格中的距离 , 为每个样本分组 :

① A1(2,4)A_1 ( 2 , 4 )A1​(2,4) 距离 A1(2,4)A_1 ( 2 , 4 )A1​(2,4) 中心点最近 , 划分到 聚类 111 中 ;

② A2(3,7)A_2 ( 3 , 7 )A2​(3,7) 距离 B1(5,8)B_1 ( 5 , 8 )B1​(5,8) 中心点最近 , 划分到 聚类 222 中 ;

③ B1(5,8)B_1 ( 5 , 8 )B1​(5,8) 距离 B1(5,8)B_1 ( 5 , 8 )B1​(5,8) 中心点最近 , 划分到 聚类 222 中 ;

④ B2(9,5)B_2 ( 9 , 5 )B2​(9,5) 距离 C1(6,2)C_1 ( 6 , 2 )C1​(6,2) 中心点最近 , 划分到 聚类 333 中 ;

⑤ C1(6,2)C_1 ( 6 , 2 )C1​(6,2) 距离 C1(6,2)C_1 ( 6 , 2 )C1​(6,2) 中心点最近 , 划分到 聚类 333 中 ;

⑥ C2(4,9)C_2 ( 4 , 9 )C2​(4,9) 距离 B1(5,8)B_1 ( 5 , 8 )B1​(5,8) 中心点最近 , 划分到 聚类 222 中 ;

3 . 最终的聚类分组为 :

① 聚类 111 : {A1}\{ A_1 \}{A1​}

② 聚类 222 : {A2,B1,C2}\{ A_2 , B_1 , C_2 \}{A2​,B1​,C2​}

③ 聚类 333 : {B2,C1}\{ B_2 , C_1 \}{B2​,C1​}

第二次迭代 : 步骤 ( 1 ) 中心点初始化


A1(2,4)A_1 ( 2 , 4 )A1​(2,4) , A2(3,7)A_2 ( 3 , 7 )A2​(3,7) , B1(5,8)B_1 ( 5 , 8 )B1​(5,8) , B2(9,5)B_2 ( 9 , 5 )B2​(9,5) , C1(6,2)C_1 ( 6 , 2 )C1​(6,2) , C2(4,9)C_2 ( 4 , 9 )C2​(4,9)

1 . 聚类 111 中心点计算 : 计算 {A1(2,4)}\{ A_1 ( 2 , 4 ) \}{A1​(2,4)} 中心点

聚类1中心点=(2,4)聚类 1 中心点 = ( 2 , 4 )聚类1中心点=(2,4)

2 . 聚类 222 中心点计算 : 计算 {A2(3,7),B1(5,8),C2(4,9)}\{ A_2 ( 3 , 7 ) , B_1 ( 5 , 8 ) , C_2( 4 , 9 ) \}{A2​(3,7),B1​(5,8),C2​(4,9)} 中心点

聚类2中心点=(3+5+43,7+8+93)=(4,8)聚类 2 中心点 = ( \frac{3 + 5 + 4}{3} , \frac{7 + 8 + 9}{3}) = ( 4 , 8 )聚类2中心点=(33+5+4​,37+8+9​)=(4,8)

3 . 聚类 333 中心点计算 : 计算 {B2(9,5),C1(6,2)}\{ B_2( 9 , 5 ) , C_1 ( 6 , 2 ) \}{B2​(9,5),C1​(6,2)} 中心点

聚类3中心点=(9+62,5+22)=(7,3)聚类 3 中心点 = ( \frac{9 + 6 }{2} , \frac{5 + 2}{2}) = ( 7 , 3 )聚类3中心点=(29+6​,25+2​)=(7,3)

第二次迭代 : 步骤 ( 2 ) 计算距离


计算 666 个点 , 到 333 个中心点的距离 , 333 个中心点分别是 {(2,4),(4,8),(7,3)}\{ ( 2 , 4 ) , ( 4 , 8 ) , ( 7 , 3 ) \}{(2,4),(4,8),(7,3)} , 直接将两个点的曼哈顿距离填在对应的表格中 ;

如 : 第 111 行 , 第 222 列 :

A1(2,4)A_1 ( 2 , 4 )A1​(2,4) 样本 与 (4,8)( 4 , 8 )(4,8) 聚类 222 中心点的 曼哈顿距离 是 666 , 计算过程如下 :

A1(2,4)与(4,8)两点曼哈顿距离=∣2−4∣+∣4−8∣=6A_1 ( 2 , 4 ) 与 ( 4 , 8 ) 两点曼哈顿距离 = | 2 - 4 | + | 4 - 8 | = 6A1​(2,4)与(4,8)两点曼哈顿距离=∣2−4∣+∣4−8∣=6

A1(2,4)A_1 ( 2 , 4 )A1​(2,4) A2(3,7)A_2 ( 3 , 7 )A2​(3,7) B1(5,8)B_1 ( 5 , 8 )B1​(5,8) B2(9,5)B_2 ( 9 , 5 )B2​(9,5) C1(6,2)C_1 ( 6 , 2 )C1​(6,2) C2(4,9)C_2 ( 4 , 9 )C2​(4,9)
(2,4)( 2 , 4 )(2,4) 000 444 777 888 666 777
(4,8)( 4 , 8 )(4,8) 666 222 111 888 888 111
(7,3)( 7 , 3 )(7,3) 666 888 777 444 222 999

第二次迭代 : 步骤 ( 3 ) 聚类分组


1 . 聚类分组 : 根据计算出的 , 每个样本与 333 个中心点的距离 , 将样本划分到 距离该样本最近的中心点 对应的分组中 ;

A1(2,4)A_1 ( 2 , 4 )A1​(2,4) A2(3,7)A_2 ( 3 , 7 )A2​(3,7) B1(5,8)B_1 ( 5 , 8 )B1​(5,8) B2(9,5)B_2 ( 9 , 5 )B2​(9,5) C1(6,2)C_1 ( 6 , 2 )C1​(6,2) C2(4,9)C_2 ( 4 , 9 )C2​(4,9)
(2,4)( 2 , 4 )(2,4) 000 444 777 888 666 777
(4,8)( 4 , 8 )(4,8) 666 222 111 888 888 111
(7,3)( 7 , 3 )(7,3) 666 888 777 444 222 999

2 . 根据表格中的距离 , 为每个样本分组 :

① A1(2,4)A_1 ( 2 , 4 )A1​(2,4) 距离 (2,4)( 2 , 4 )(2,4) 中心点最近 , 划分到 聚类 111 中 ;

② A2(3,7)A_2 ( 3 , 7 )A2​(3,7) 距离 (4,8)( 4 , 8 )(4,8) 中心点最近 , 划分到 聚类 222 中 ;

③ B1(5,8)B_1 ( 5 , 8 )B1​(5,8) 距离 (4,8)( 4 , 8 )(4,8) 中心点最近 , 划分到 聚类 222 中 ;

④ B2(9,5)B_2 ( 9 , 5 )B2​(9,5) 距离 (7,3)( 7 , 3 )(7,3) 中心点最近 , 划分到 聚类 333 中 ;

⑤ C1(6,2)C_1 ( 6 , 2 )C1​(6,2) 距离 (7,3)( 7 , 3 )(7,3) 中心点最近 , 划分到 聚类 333 中 ;

⑥ C2(4,9)C_2 ( 4 , 9 )C2​(4,9) 距离 (4,8)( 4 , 8 )(4,8) 中心点最近 , 划分到 聚类 222 中 ;

3 . 最终的聚类分组为 :

① 聚类 111 : {A1}\{ A_1 \}{A1​}

② 聚类 222 : {A2,B1,C2}\{ A_2 , B_1 , C_2 \}{A2​,B1​,C2​}

③ 聚类 333 : {B2,C1}\{ B_2 , C_1 \}{B2​,C1​}

第二次迭代的聚类分组 , 与第一次迭代的聚类分组 , 没有改变 , 说明聚类算法分析结果已经收敛 , 该聚类结果就是最终的结果 ;

K-Means 迭代总结


1 . 第一次迭代 :

① 设置中心点 : 设置了 333 个初始中心点 , A1(2,4)A_1 ( 2 , 4 )A1​(2,4) 对应聚类 111 中心点 , B1(5,8)B_1 ( 5 , 8 )B1​(5,8) 对应聚类 222 中心点 , C1(6,2)C_1 ( 6 , 2 )C1​(6,2) 对应聚类 333 中心点 ;

② 计算中心点距离 : 然后就算 666 个样本距离这 333 个中心点的距离 ;

③ 根据距离聚类分组 : 每个样本取距离最近的 111 个中心点 , 将该样本分类成该中心点对应的聚类分组 , 聚类分组结果是 , 聚类 111 : {A1}\{ A_1 \}{A1​} , 聚类 222 : {A2,B1,C2}\{ A_2 , B_1 , C_2 \}{A2​,B1​,C2​} , 聚类 333 : {B2,C1}\{ B_2 , C_1 \}{B2​,C1​} ;

2 . 第二次迭代 :

① 计算中心点 : 根据第一次迭代的聚类分组结果计算 333 个中心点 , (2,4)( 2 , 4 )(2,4) 对应聚类 111 中心点 , $( 4 , 8 ) $ 对应聚类 222 中心点 , (7,3)( 7 , 3 )(7,3) 对应聚类 333 中心点 ;

② 计算中心点距离 : 然后就算 666 个样本距离这 333 个中心点的距离 ;

③ 根据距离聚类分组 : 每个样本取距离最近的 111 个中心点 , 将该样本分类成该中心点对应的聚类分组 , 聚类分组结果是 , 聚类 111 : {A1}\{ A_1 \}{A1​} , 聚类 222 : {A2,B1,C2}\{ A_2 , B_1 , C_2 \}{A2​,B1​,C2​} , 聚类 333 : {B2,C1}\{ B_2 , C_1 \}{B2​,C1​} ;

3 . 最终结果 : 经过 222 次迭代 , 发现 , 根据最初选择中心点 , 进行聚类分组的结果 , 就是最终的结果 , 迭代 222 次的分组结果相同 , 说明聚类算法已经收敛 , 此时的聚类结果就是最终结果 , 聚类算法终止 ;

K-Means 初始中心点选择方案


1 . 初始中心点选择 :

① 初始种子 : 初始的中心点 , 又称为种子 , 如果种子选择的好 , 迭代的次数就会非常少 , 迭代的最少次数为 222 , 如上面的示例 ;

② 种子选择影响 : 初始种子选择的好坏 , 即影响算法收敛的速度 , 又影响聚类结果的质量 ; 选择的好 , 迭代 222 次 , 算法收敛 , 得到最终结果 , 并且聚类效果很好 ; 选择的不好 , 迭代很多次才收敛 , 并且聚类效果很差 ;

2 . 初始中心点选择方案 :

① 随机选择 ;

② 使用已知聚类算法的结果 ;

③ 爬山算法 : K-Means 采用的是爬山算法 , 只找局部最优的中心点 ;

K-Means 算法优缺点


1 . K-Means 算法优点 :

① 算法可扩展性高 : 算法复杂度随数据量增加 , 而线性增加 ;

② 算法的复杂度 : K-Means 的算法复杂度是 O(tkn)O(tkn)O(tkn) , nnn 是数据样本个数 , kkk 是聚类分组的个数 , ttt 是迭代次数 , ttt 一般不超过 nnn ;

2 . K-Means 算法缺点 :

③ 事先必须设定聚类个数 : K-Means 的聚类分组的个数, 必须事先确定 , 有些应用场景中 , 事先是不知道聚类个数的 ;

④ 有些中心点难以确定 : 有些数据类型的中心点不好确定 , 如字符型的数据 , 离散型数据 , 布尔值数据 等 ;

⑤ 鲁棒性差 : 对于数据样本中的噪音数据 , 异常数据 , 不能有效的排除这些数据的干扰 ;

⑥ 局限性 : 只能处理凸状 , 或 球状分布的样本数据 , 对于 凹形分布 的样本数据 , 无法有效的进行聚类分析 ;

K-Means 算法变种


1 . K-Means 方法有很多变种 :

① K_Modes : 处理离散型的属性值 , 如字符型数据等 ;

② K-Prototypes : 处理 离散型 或 连续型 的属性 ;

③ K-Medoids : 其计算中心点不是使用算术平均值 , 其使用的是中间值 ;

2 . K-Means 变种算法 与 k-Means 算法的区别与联系 :

① 原理相同 : 这些变种算法 与 K-Means 算法原理基本相同 ;

② 中心点选择不同 : 变种算法 与 原算法 最初的中心点选择不同 ;

③ 距离计算方式不同 : K-Means 使用曼哈顿距离 , 变种算法可能使用 欧几里得距离 , 明科斯基距离 , 边际距离 等 ;

④ 计算聚类中心点策略不同 : K-Means 算法中使用算术平均 , 有的使用中间值 ;

【数据挖掘】K-Means 二维数据聚类分析 ( K-Means 迭代总结 | K-Means 初始中心点选择方案 | K-Means 算法优缺点 | K-Means 算法变种 )相关推荐

  1. 【数据挖掘】数据挖掘总结 ( K-Means 聚类算法 | 二维数据的 K-Means 聚类 ) ★

    文章目录 一. K-Means 聚类算法流程 二. 二维数据的 K-Means 聚类 1. 第一次迭代 2. 第二次迭代 参考博客 : [数据挖掘]聚类算法 简介 ( 基于划分的聚类方法 | 基于层次 ...

  2. 文本聚类分析算法_Kmeans 算法实现二维数据聚类

    所谓聚类分析,就是给定一个元素集合D,其中每个元素具有n个观测属性,对这些属性使用某种算法将D划分成K个子集,要求每个子集内部的元素之间相似度尽可能高,而不同子集的元素相似度尽可能低.聚类分析是一种无 ...

  3. K-means 算法实现二维数据聚类

    所谓聚类分析,就是给定一个元素集合D,其中每个元素具有n个观测属性,对这些属性使用某种算法将D划分成K个子集,要求每个子集内部的元素之间相似度尽可能高,而不同子集的元素相似度尽可能低.聚类分析是一种无 ...

  4. Deep learning:十一(PCA和whitening在二维数据中的练习)

    前言: 这节主要是练习下PCA,PCA Whitening以及ZCA Whitening在2D数据上的使用,2D的数据集是45个数据点,每个数据点是2维的.参考的资料是:Exercise:PCA in ...

  5. c#二维数据最大最小值_C#| 打印类型,各种数据类型的最大值和最小值

    c#二维数据最大最小值 In the below example – we are printing types, min value, max value of various data types ...

  6. 以下关于python二维数据的描述中错误的是_关于二维数据CSV存储问题,以下选项中描述错误的是‪‪‪‪‪‪‫‪‪‪‪‪‫‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‪‫:...

    [单选题]C语言中最基本的数据类型包括( ). [单选题]计算机的性能可以用很多指标来衡量,除了用其运算速度.字长等指标以外,( )也作为主要指标. [单选题]Word2010文档文件的扩展名是( ) ...

  7. 【机器学习】python使用matplotlib进行二维数据绘图并保存为png图片

    端到端机器学习导航: [机器学习]python借助pandas加载并显示csv数据文件,并绘制直方图 [机器学习]python使用matplotlib进行二维数据绘图并保存为png图片 [机器学习]p ...

  8. 关于一维和二维数据的差分和梯度的计算(使用 num.diff() 和 numpy.gradient() )

    关于一维数据的差分和梯度的计算 一维数据的差分公式: 一阶差分: 一阶前向差分:下一个值与当前值的差 f(xk)=f(xk+1)−f(xk)f(x_k) = f(x_{k+1}) - f(x_k)f( ...

  9. Python一维二维数据的格式化和处理

    本章导言 什么是数据格式化 前言: -学完本章,看待数据会有一种规范/格式化的视角 -方法论:从Python角度理解文件和数据表示 -实践能力:学会编写带有文件输入输出的程序 1. 数据组织的维度 维 ...

最新文章

  1. OKR 怎么突然火起来了?
  2. html5 css 笔记,HTML5+CSS3笔记
  3. KaleidoscopeGame
  4. alexnet 论文翻译
  5. 前端学习(1932)vue之电商管理系统电商系统之tree树形控件
  6. matlab零相移滤波,零相移数字滤波器边界效应讨论(附程序与参考文献)
  7. 戴尔电脑好还是华为好_华硕和戴尔笔记本哪种好 华硕和戴尔优缺点分析【详解】...
  8. lstm中look_back的大小选择_使用PyTorch手写代码从头构建LSTM,更深度的理解其工作原理
  9. 中国式的emf(gef)建模,带来的问题
  10. [luogu3244 SHOI2016] 黑暗前的幻想乡(容斥原理+矩阵树定理)
  11. 基于opencv的文本检测器
  12. Linux程序文件状态,linux 文件状态标识和IO操作方式
  13. EasyUI实现购物车、菜单和窗口栏等最常用的用户界面功能.
  14. 数据之美系列5(转载)
  15. 《统计学习理论的本质》
  16. Python批量导入图片到Word文件
  17. Mac电脑如何实现Word一键转PPT
  18. 《霜冷长河》之《壮士》----英雄归来
  19. Delphi的RTTIVMT
  20. Web TOP10漏洞之sql注入

热门文章

  1. 黑马lavarel教程---4、csrf验证及相关
  2. 报错:org.apache.hadoop.hive.metastore.HiveMetaException: Failed to get schema version.
  3. [NOIP 2015]运输计划-[树上差分+二分答案]-解题报告
  4. PCB 围绕CAM自动化,打造PCB规则引擎
  5. 20165301 预备作业三:Linux安装及命令入门
  6. 【实验报告】四恶意代码实验
  7. c#编码规范【转载】
  8. 浏览器同源策略及Cookie的作用域
  9. maven依赖错误排查经验
  10. python推荐淘宝物美价廉商品 2.0