第十四章聚类方法.14.3K均值聚类

Posted oldmao_2001

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第十四章聚类方法.14.3K均值聚类相关的知识,希望对你有一定的参考价值。


本课程来自深度之眼,部分截图来自课程视频以及李航老师的《统计学习方法》第二版。
公式输入请参考: 在线Latex公式

主要内容

k均值聚类的定义:类的中⼼、硬聚类
样本空间划分:特征向量、类与簇、从样本到类的函数
k均值聚类策略:损失函数最⼩化
损失函数的定义:各类损失函数的表达式与异同点
聚类算法总结:迭代算法、新类中⼼、收敛
k均值聚类实例:运⽤算法逐步求解聚类过程
k均值聚类算法特性:收敛性、初始类的选择、类别数k的选择
k均值聚类工作框架与改进:k均值算法流程与缺点改进方法

k均值聚类的定义

k均值聚类是基于样本集合划分的聚类算法。
k均值聚类将样本集合划分为k个⼦集,构成k个类,将n个样本分到k个类中,每个样本到其所属类的中⼼的距离最小。
每个样本只能属于⼀个类,k均值聚类是硬聚类。

样本空间划分

给定n个样本的集合
每个样本由⼀个特征向量表示,特征向量的维数是m。
k均值聚类的⽬标是将n个样本分到k个不同的类或簇中,这⾥假设 k < n k<n kn
k个类 G 1 , G 2 , … , G k G_1,G_2,…,G_k G1,G2,,Gk形成对样本集合X的划分,划分结果满足子空间互不相交:
G i ∩ G j = ∅ G_i\\cap G_j=\\varnothing GiGj=
且每个样本都属于某一个类:
⋃ i = 1 k G i = X \\bigcup_{i=1}^k G_i=X i=1kGi=X
⽤C表示划分,⼀个划分对应着⼀个聚类结果。
划分C是⼀个多对⼀的函数,因为不同的划分获得的损失函数值可能一样。
k均值聚类的模型是⼀个从样本到类的函数。
划分或者聚类可以⽤函数 l = C ( j ) l=C_{(j)} l=C(j)表示,其中样本⽤⼀个整数 i ∈ { 1 , 2 , ⋯   , n } i\\in\\{1,2,\\cdots,n\\} i{1,2,,n}表示,类⽤⼀个整数 l ∈ { 1 , 2 , ⋯   , k } l\\in\\{1,2,\\cdots,k\\} l{1,2,,k}表示。

k均值聚类策略

k均值聚类归结为样本集合X的划分,或者从样本到类的函数的选择问题。
k均值聚类的策略是通过损失函数的最⼩化选取最优的划分或函数 C ∗ C^* C
k均值聚类采⽤欧⽒距离平⽅(squared Euclidean distance)作为样本之间的距离 d ( x i , x j ) d(x_i, x_j) d(xi,xj)
d ( x i , x j ) = ∑ k = 1 m ( x k i − x k j ) 2 = ∣ ∣ x i − x j ∣ ∣ 2 d(x_i, x_j)=\\sum_{k=1}^m(x_{ki}-x_{kj})^2=||x_i-x_j||^2 d(xi,xj)=k=1m(xkixkj)2=xixj2
然后,定义样本与其所属类的中⼼之间的距离的总和为损失函数,即
W ( C ) = ∑ l = 1 k ∑ C ( i ) = l ∣ ∣ x i − x ˉ l ∣ ∣ 2 W(C)=\\sum_{l=1}^k\\sum_{C(i)=l}||x_i-\\bar x_l||^2 W(C)=l=1kC(i)=lxixˉl2
内层求和是求各个样本点到该类中心的偏离程度求和,外层求和是各个类的偏离程度求和。
x ˉ l = ( x ˉ 1 l , x ˉ 2 l , ⋯   , x ˉ m l ) T \\bar x_l=(\\bar x_{1l},\\bar x_{2l},\\cdots,\\bar x_{ml})^T xˉl=(xˉ1l,xˉ2l,,xˉml)T是第l个类的均值或中⼼, n l = ∑ i = 1 n I ( C ( i ) = l ) n_l=\\sum_{i=1}^n I(C(i)=l) nl=i=1nI(C(i)=l)
I ( C ( i ) = l ) I(C(i)=l) I(C(i)=l)是指示函数,取值1或0
W ( C ) W(C) W(C)函数也称为能量函数, 表示相同类中的样本相似的程度,我们希望 W ( C ) W(C) W(C)越小越好。

k均值聚类就是求解最优化问题:
C ∗ = a r g min ⁡ C W ( C ) = a r g min ⁡ C ∑ l = 1 k ∑ C ( i ) = l ∣ ∣ x i − x ˉ l ∣ ∣ 2 C^*=arg\\underset{C}{\\min}W(C)=arg\\underset{C}{\\min}\\sum_{l=1}^k\\sum_{C(i)=l}||x_i-\\bar x_l||^2 C=argCminW(C)=argCminl=1kC(i)=lxixˉl2

相似的样本被聚到同类时,损失函数值最⼩,这个⽬标函数的最优化能达到聚类的⽬的。
但是,这是⼀个组合优化问题,n个样本分到k类,所有可能分法的数⽬是:
S ( n , k ) = 1 k ! ∑ l = 1 k ( − 1 ) k − 1 ( l k ) k n S(n,k)=\\cfrac{1}{k!}\\sum_{l=1}^k(-1)^{k-1}(_l^k)k^n S(n,k)=k!1l=1k(1)k1(lk)kn
事实上,k均值聚类的最优解求解问题是NP困难问题。现实中采⽤迭代的⽅法求解。归纳表达式为:
S ( n , k ) = S ( n − 1 , k − 1 ) + k S ( n − 1 , k ) S(n,k)=S(n-1,k-1)+kS(n-1,k) S(n,k)=S(n1,以上是关于第十四章聚类方法.14.3K均值聚类的主要内容,如果未能解决你的问题,请参考以下文章

第十四章聚类方法.14.2.5有序样本分类法

第十篇:K均值聚类(KMeans)

三种聚类方法:层次、K均值、密度

SIGAI机器学习第二十四集 高斯混合模型与EM算法

k均值聚类算法、c均值聚类算法、模糊的c均值聚类算法的区别

聚类算法K-均值聚类(K-Means)算法