《机器学习》周志华-CH9(聚类)

发布于:2024-10-09 ⋅ 阅读:(36) ⋅ 点赞:(0)

9.1聚类任务

  聚类试图将数据集中的样本划分为若干个通常是不相交的子集,每个子集称为"簇"。

  假定样本集 D = x 1 , x 2 , . . . x m D={x_1,x_2,...x_m} D=x1,x2,...xm包含 m m m个无标记样本

  每个样本 x i = ( x i 1 , x i 2 , . . . x i n ) x_i=(x_{i1},x_{i2},...x_{in}) xi=(xi1,xi2,...xin)是一个 n n n维向量

  聚类将样本集 D D D划分维 k k k个不相交的簇 { C l ∣ l = 1 , 2 , . . k } \{C_l|l=1,2,..k\} {Cll=1,2,..k}

在这里插入图片描述

9.2性能度量

  亦称聚类“有效性指标”(validity index)

  聚类结果与“簇内相似度”高且“簇间相似度”低
性能度量大致两类 { 与“参考模型”比,“外部指标” 直接考虑结果,“内部指标” 性能度量大致两类 \begin{cases} 与“参考模型”比,“外部指标” &\\ 直接考虑结果,“内部指标” & \\ \end{cases} 性能度量大致两类{参考模型比,外部指标直接考虑结果,内部指标

  对数据集 D = { x 1 , x 2 , . . . x m } D=\{x_1,x_2,...x_m\} D={x1,x2,...xm}

  聚类给出的簇划分 C = { C 1 , C 2 , . . . , C k } C=\{C_1,C_2,...,C_k\} C={C1,C2,...,Ck}

  参考模型给的簇划分 C ∗ = { C 1 ∗ , C 2 ∗ , . . . , C k ∗ } C^*=\{C_1^*,C_2^*,...,C_k^*\} C={C1,C2,...,Ck}

  同时令 λ \lambda λ λ ∗ \lambda^* λ分布表示 C C C C ∗ C^* C对应的簇标记向量
在这里插入图片描述

  其中, a + b + c + d = C m 2 = m ( m − 1 ) 2 a+b+c+d=C_m^2=\frac{m(m-1)}{2} a+b+c+d=Cm2=2m(m1)

  聚类性能度量外部指标:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9.3距离计算

  对函数 d i s t ( ⋅ , ⋅ ) dist(\cdot,\cdot) dist(,),若它是一个“距离度量”(distance measure),则需满足一些基本性质:

  • 非负性: d i s t ( x i , x j ) ≥ 0 ; dist(x_i,x_j)\geq0; dist(xi,xj)0;
  • 同一性: d i s t ( x i , x j ) = 0 ; dist(x_i,x_j)=0; dist(xi,xj)=0;当且仅当 x i = x j ; x_i=x_j; xi=xj;
  • 对称性: d i s t ( x i , x j ) = d i s t ( x j , x i ) ; dist(x_i,x_j)=dist(x_j,x_i); dist(xi,xj)=dist(xj,xi);
  • 直递性: d i s t ( x i , x j ) ≤ d i s t ( x i , x k ) + d i s t ( x k , x j ) dist(x_i,x_j)\leq{dist(x_i,x_k)+dist(x_k,x_j)} dist(xi,xj)dist(xi,xk)+dist(xk,xj)

  给定样本 x i = ( x i 1 ; x i 2 ; . . . ; x i n ) x_i=(x_{i1};x_{i2};...;x_{in}) xi=(xi1;xi2;...;xin) x j = ( x j 1 ; x j 2 ; . . . ; x j n ) x_j=(x_{j1};x_{j2};...;x_{jn}) xj=(xj1;xj2;...;xjn),最常用的是“闵可夫斯基距离”(Minkoski distance)
d i s t m k ( x i , x j ) = ( ∑ u = 1 n ∣ x i u − x j u ∣ p ) 1 p \begin{equation} dist_{mk}(x_i,x_j)=(\sum_{u=1}^n|x_{iu}-x_{ju}|^p)^{\frac{1}{p}} \tag{9.18} \end{equation} distmk(xi,xj)=(u=1nxiuxjup)p1(9.18)
  对 p ≥ 1 p\geq1 p1,式(9.18)满足上面所有基本性质

   p = 2 p=2 p=2时,“闵可夫斯基距离”是欧氏距离(Euclidean distance)
d i s t e d ( x i , x j ) = ∣ ∣ x i − x j ∣ ∣ 2 = ∑ u = 1 n ∣ x i u − x j u ∣ 2 \begin{equation} dist_{ed}(x_i,x_j)=||x_i-x_j||_2=\sqrt{\sum_{u=1}^{n}|x_{iu}-x_{ju}|^2} \tag{9.19} \end{equation} disted(xi,xj)=∣∣xixj2=u=1nxiuxju2 (9.19)

   p = 1 p=1 p=1时,“闵可夫斯基距离”是曼哈顿距离
d i s t m a n ( x i , x j ) = ∣ ∣ x i − x j ∣ ∣ 1 = ∑ u = 1 n ∣ x i u − x j u ∣ \begin{equation} dist_{man}(x_i,x_j)=||x_i-x_j||_1=\sum_{u=1}^{n}|x_{iu}-x_{ju}| \tag{9.20} \end{equation} distman(xi,xj)=∣∣xixj1=u=1nxiuxju(9.20)
属性划分 { “连续属性” “离散属性” 属性划分 \begin{cases} “连续属性” &\\ “离散属性” & \\ \end{cases} 属性划分{连续属性离散属性
属性划分 { “有序属性” 1 , 2 , 3 闵可夫斯基距离可用 “无序属性” 飞机,火车,轮胎 闵可夫斯基距离不可用 属性划分 \begin{cases} “有序属性” &1,2,3 &闵可夫斯基距离可用\\ “无序属性” & 飞机,火车,轮胎 &闵可夫斯基距离不可用\\ \end{cases} 属性划分{有序属性无序属性123飞机,火车,轮胎闵可夫斯基距离可用闵可夫斯基距离不可用
  对无需属性采用VDM

  令 m u , a m_{u,a} mu,a表示属性 u u u上取值为 a a a的样本数

   m u , a , i m_{u,a,i} mu,a,i表示第 i i i个样本簇中在属性 u u u上取值为 a a a的样本数。

  属性 u u u上两个离散值 a a a b b b之间的VDM距离为:
V D M p ( a , b ) = ∑ i = 1 k ∣ m u , a , i m u , a − m u , b , i m u , b ∣ \begin{equation} VDM_p(a,b)=\sum_{i=1}^k|\frac{m_{u,a,i}}{m_{u,a}}-\frac{m_{u,b,i}}{m_{u,b}}| \tag{9.21} \end{equation} VDMp(a,b)=i=1kmu,amu,a,imu,bmu,b,i(9.21)
  将闵可夫斯基距离和VDM结合即可处理混合属性

   n c n_c nc个有序属性, n − n c n-n_c nnc个无序属性,则:
M i n k o v D M p ( x i , x j ) = ( ∑ u = 1 n c ∣ x i , u − x j , u ∣ p + ∑ u = n c + 1 n V D M p ( x i u , x j u ) ) 1 p \begin{equation} MinkovDM_p(x_i,x_j)=(\sum_{u=1}^{n_c}|x_{i,u}-x_{j,u}|^p+\sum_{u=n_c+1}^nVDM_p(x_{iu},x_ju))^{\frac{1}{p}} \tag{9.22} \end{equation} MinkovDMp(xi,xj)=(u=1ncxi,uxj,up+u=nc+1nVDMp(xiu,xju))p1(9.22)
  样本权重不同,“加权距离”

  加权闵可夫斯基距离:
d i s t w m k ( x i , x j ) = ( w i ⋅ ∣ x i 1 − x j 1 ∣ p + . . . + w n ⋅ ∣ x i n − x j n ∣ p ) 1 p \begin{equation} dist_{wmk}(x_i,x_j)=(w_i\cdot|x_{i1}-x_{j1}|^p+...+w_n\cdot|x_{in}-x_{jn}|^p)^{\frac{1}{p}} \tag{9.23} \end{equation} distwmk(xi,xj)=(wixi1xj1p+...+wnxinxjnp)p1(9.23)
  其中,权重 w i ≥ 0 ( i = 1 , 2 , . . . , n ) w_i\geq0(i=1,2,...,n) wi0(i=1,2,...,n)表征不同属性的重要性,通常 ∑ i = 1 n w i = 1 \sum_{i=1}^nw_i=1 i=1nwi=1

9.4原型聚类

  ”基于原型的聚类“,通过一组原型刻画。

9.4.1 k均值算法

  样本集 D = { x 1 , x 2 , . . . x m } D=\{x_1,x_2,...x_m\} D={x1,x2,...xm},k-means算法针对聚类所得簇划分 C = { C 1 , C 2 , . . . C k } C=\{C_1,C_2,...C_k\} C={C1,C2,...Ck}最小化平方误差
E = ∑ i = 1 k ∑ x ∈ C i ∣ ∣ x − u i ∣ ∣ 2 2 \begin{equation} E=\sum_{i=1}^k\sum_{x\in{C_{i}}}||x-u_i||_2^2 \tag{9.24} \end{equation} E=i=1kxCi∣∣xui22(9.24)
  其中 E E E越小,内部相似度越高, u i = 1 ∣ C i ∣ ∑ x ∈ C i x u_i=\frac{1}{|C_i|}\sum_{x\in{C_i}}x ui=Ci1xCix是簇 C i C_i Ci的均值向量

  这是一个NP问题,采用贪心策略,通过迭代优化近似求解

  算法

  1. 加入簇数 k = 3 k=3 k=3,随机选 3 3 3个样本做为中心 u 1 , u 2 , u 3 u_1,u_2,u_3 u1,u2,u3
  2. 对每一个样本,考虑与 u 1 , u 2 , u 3 u_1,u_2,u_3 u1,u2,u3距离分出
    C 1 = x 5 , x 6 , . . . C_1={x_5,x_6,...} C1=x5,x6,...
    C 2 = x 1 , x 1 1 , . . . C_2={x_1,x_11,...} C2=x1,x11,...
    C 1 = x 1 8 , x 1 9 , . . . C_1={x_18,x_19,...} C1=x18,x19,...
  3. C 1 , C 2 , C 3 C_1,C_2,C_3 C1,C2,C3分别求新的均值向量 u 1 1 , u 2 2 , u 3 3 u_1^1,u_2^2,u_3^3 u11,u22,u33,不断重复迭代,得到最终划分
9.4.2学习向量化(Learning Vector Quantization,LVQ)

  假设样本有类别标记,学习过程利用样本的监督信息来辅助聚类

  给定样本集 D = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . ( x m , y m ) } D=\{(x_1,y_1),(x_2,y_2),...(x_m,y_m)\} D={(x1,y1),(x2,y2),...(xm,ym)}

在这里插入图片描述

  LVQ关键在于如何更新原型向量

  对样本 x j x_j xj,若最近的原型向量 P i ∗ P_{i^*} Pi x j x_j xj类别标记相同,则令 P i ∗ P_{i^*} Pi x j x_j xj的方向靠拢,此时新原型向量为
在这里插入图片描述

  类似的,若 P i ∗ P_{i^*} Pi x j x_j xj的类别标记不同,则更新后的原型向量与 x j x_j xj之间的距离增大为 ( 1 + η ) ⋅ ∣ ∣ P i ∗ − x j ∣ ∣ 2 (1+\eta)\cdot||P_{i^*}-x_j||_2 (1+η)∣∣Pixj2,从而更远离 x j x_j xj

  学得一组原型向量 { P 1 , P 2 , . . . P q } \{P_1,P_2,...P_q\} {P1,P2,...Pq}后,可实现对样本空间 χ \chi χ的簇划分。任意样本 χ \chi χ,划入最近簇中;

  每个 P i ∗ P_{i^*} Pi定义了与之相关的区域 R i R_i Ri。区域中样本与 P i P_i Pi距离不大于其他原型向量 P i , P_{i^,} Pi,的距离:
R i = { x ∈ χ ∣ ∣ ∣ x − p i ∣ ∣ 2 ≤ ∣ ∣ x − p i , ∣ ∣ 2 , i ′ ≠ i } \begin{equation} R_i=\{x\in\chi| \quad||x-p_i||_2\leq||x-p_{i^,}||_2,i^{'}\neq{i}\} \tag{9.27} \end{equation} Ri={xχ∣∣xpi2∣∣xpi,2,i=i}(9.27)
  形成了对样本空间 χ \chi χ的簇划分 { R 1 , R 2 , . . . R q } \{R_1,R_2,...R_q\} {R1,R2,...Rq}称为”Voronoi剖分“

9.4.3高斯混合聚类

  高斯混合(Mixture-of-Gaussian)聚类采用概率模型来表达聚类原型

  对 n n n维样本空间 X X X中的随机向量 x x x,若 X X X服从高斯分布,概率密度函数维:
在这里插入图片描述
在这里插入图片描述

  样本生成过程:

  根据 α 1 , α 2 , . . . α k \alpha_1,\alpha_2,...\alpha_k α1,α2,...αk定义的先验分布选择高斯混合成分, α i \alpha_i αi为第 i i i个成分概率

  根据概率密度进行采样,生成相应的样本

  生成训练集 D = { x 1 , x 2 , . . . x m } D=\{x_1,x_2,...x_m\} D={x1,x2,...xm}

  令随机变量 z j ∈ { 1 , 2 , . . k } z_j\in\{1,2,..k\} zj{1,2,..k}表示生成样本 x j x_j xj的高斯混合成分,其取值未知。显然, z j z_j zj的先验概率 P ( z j = i ) P(z_j=i) P(zj=i)对应 α i ( i = 1 , 2 , . . . , k ) \alpha_i(i=1,2,...,k) αi(i=1,2,...,k).根据贝叶斯定理, z j z_j zj的后验分布对应于
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

9.5密度聚类

  DBSCAN是基于一组”邻域“参数 ( ξ , M i n P t s ) (\xi,MinPt_s) (ξ,MinPts)来刻画样本分布的紧密程度。给定数据集 D = { x 1 , x 2 . . . x m } D=\{x_1,x_2...x_m\} D={x1,x2...xm}

  • ξ − \xi- ξ邻域:对 x j ∈ D x_j\in{D} xjD,其 ξ \xi ξ邻域包含样本集 D D D中与 x j x_j xj的距离不大于 ξ \xi ξ的样本,即 N ξ ( x j ) = { x i ∈ D ∣ d i s t ( x i , x j ) ≤ ξ } N_{\xi}(x_j)=\{x_i\in{D}|dist(x_i,x_j)\leq\xi\} Nξ(xj)={xiDdist(xi,xj)ξ}
  • 核心对象(core object) : 若 x j x_j xj ξ \xi ξ邻域至少包含 M i n P t s MinPt_s MinPts个样本,即 ∣ N ξ ( x j ) ∣ ≥ M i n P t s |N_{\xi}(x_j)|\ge{MinPt_s} Nξ(xj)MinPts,则 x j x_j xj是一个核心对象
  • 密度直达(directly density-reachable) :若 x j x_j xj位于 x i x_i xi ξ \xi ξ邻域中,且 x i x_i xi是核心对象。称 x j x_j xj x i x_i xi密度直达。
  • 密度可达(density-reachable) :对 x i x_i xi x j x_j xj,若存在样本序列 p 1 , p 2 , . . . , p n , p_1,p_2,...,p_n, p1,p2,...,pn,其中 p 1 = x i , p n = x j p_1=x_i,p_n=x_j p1=xi,pn=xj p i + 1 p_{i+1} pi+1 p i p_i pi密度直达,则称 x j x_j xj x i x_i xi密度可达;
  • 密度相连(density-connected) :对 x i x_i xi x j x_j xj,若存在 x k x_k xk使得 x i x_i xi x j x_j xj均由 x k x_k xk密度可达,则称 x i x_i xi x j x_j xj密度相连。

  DBSCAN的簇定义为:给定邻域参数 ( ξ , M i n P t s ) (\xi,MinPt_s) (ξ,MinPts),簇 C ⊆ D C\subseteq{D} CD是满足以下性质的非空样本子集:
在这里插入图片描述

9.6层次聚类

  最小距离:
d m i n ( C i , C j ) = m i n x ∈ C i , z ∈ C j d i s t ( x , z ) \begin{equation} d_{min}(C_i,C_j)=\underset{x\in C_i,z\in C_j}{min}dist(x,z) \tag{9.41} \end{equation} dmin(Ci,Cj)=xCi,zCjmindist(x,z)(9.41)

  最大距离:
d m a x ( C i , C j ) = m a x x ∈ C i , z ∈ C j d i s t ( x , z ) \begin{equation} d_{max}(C_i,C_j)=\underset{x\in C_i,z\in C_j}{max}dist(x,z) \tag{9.42} \end{equation} dmax(Ci,Cj)=xCi,zCjmaxdist(x,z)(9.42)

  平均距离:
d a v g ( C i , C j ) = 1 ∣ C i ∣ ∣ C j ∣ ∑ x ∈ C i ∑ x ∈ C j d i s t ( x , z ) \begin{equation} d_{avg}(C_i,C_j)=\frac{1}{|C_i||C_j|}\sum_{x\in{C_i}}\sum_{x\in{C_j}}dist(x,z) \tag{9.43} \end{equation} davg(Ci,Cj)=Ci∣∣Cj1xCixCjdist(x,z)(9.43)


网站公告

今日签到

点亮在社区的每一天
去签到