当前位置:   article > 正文

【ML算法学习】核K均值聚类Kernel K-Means Clustering(KKMC)

核k均值

核K均值聚类Kernel K-Means Clustering(KKMC)

1. 理论基础回顾

(1)核函数定义(统计学习方法定义7.6)

  • 定义内容:假设有输入空间 X \mathcal{X} X X ∈ R n \mathcal{X} \in R^n XRn)和特征空间 H \mathcal{H} H希尔伯特空间),若存在一个从 X \mathcal{X} X H \mathcal{H} H的映射 ϕ ( x ) : X → H \phi(x): \mathcal{X} \rightarrow \mathcal{H} ϕ(x):XH,使得对所有样本 x , z ∈ X x, z \in \mathcal{X} x,zX,有函数 K ( x , z ) K(x, z) K(x,z)满足条件 K ( x , z ) = ϕ ( x ) ⋅ ϕ ( z ) K(x, z)=\phi(x) \cdot \phi(z) K(x,z)=ϕ(x)ϕ(z)内积),则称 K ( x , z ) K(x, z) K(x,z)为核函数, ϕ ( x ) \phi(x) ϕ(x)为映射函数。

  • 核技巧思路:在学习和预测中只定义核函数 K ( x , z ) K(x, z) K(x,z),而不显式地定义映射函数 ϕ ( ⋅ ) \phi(\cdot) ϕ(),因为通常直接计算 K ( x , z ) K(x, z) K(x,z)比较容易,而由 ϕ ( x ) \phi(x) ϕ(x) ϕ ( z ) \phi(z) ϕ(z)来计算 K ( x , z ) K(x, z) K(x,z)比较困难( ϕ ( ⋅ ) \phi(\cdot) ϕ()是输入空间 X \mathcal{X} X到特征空间 H \mathcal{H} H的映射,特征空间一般是高维甚至无穷维的)。此外,对于给定的核函数 K ( x , z ) K(x, z) K(x,z),特征空间 H \mathcal{H} H和映射函数 ϕ ( ⋅ ) \phi(\cdot) ϕ()的取法不唯一,即便是在同一特征空间内也能取不同的映射。

  • 例:假设输入空间 X ∈ R 2 \mathcal{X} \in R^2 XR2,核函数为 K ( x , z ) = ( x ⋅ z ) 2 K(x, z)=(x \cdot z)^2 K(x,z)=(xz)2,试找出其相关的特征空间 H \mathcal{H} H和映射 ϕ ( ⋅ ) : R 2 → H \phi(\cdot): R^2 \rightarrow \mathcal{H} ϕ():R2H

    • 法1:取特征空间 H = R 3 \mathcal{H}=R^3 H=R3,记 x = ( x ( 1 ) , x ( 2 ) ) T x=\left(x^{(1)}, x^{(2)}\right)^{\mathrm{T}} x=(x(1),x(2))T z = ( z ( 1 ) , z ( 2 ) ) T z=\left(z^{(1)}, z^{(2)}\right)^{\mathrm{T}} z=(z(1),z(2))T,核函数为
      ( x ⋅ z ) 2 = ( x ( 1 ) z ( 1 ) + x ( 2 ) z ( 2 ) ) 2 = ( x ( 1 ) z ( 1 ) ) 2 + 2 x ( 1 ) z ( 1 ) x ( 2 ) z ( 2 ) + ( x ( 2 ) z ( 2 ) ) 2 (x \cdot z)^2=\left(x^{(1)} z^{(1)}+x^{(2)} z^{(2)}\right)^2=\left(x^{(1)} z^{(1)}\right)^2+2 x^{(1)} z^{(1)} x^{(2)} z^{(2)}+\left(x^{(2)} z^{(2)}\right)^2 (xz)2=(x(1)z(1)+x(2)z(2))2=(x(1)z(1))2+2x(1)z(1)x(2)z(2)+(x(2)z(2))2

      所以可以取映射 ϕ ( x ) = ( ( x ( 1 ) ) 2 , 2 x ( 1 ) x ( 2 ) , ( x ( 2 ) ) 2 ) T \phi(x)=\left(\left(x^{(1)}\right)^2, \sqrt{2} x^{(1)} x^{(2)},\left(x^{(2)}\right)^2\right)^{\mathrm{T}} ϕ(x)=((x(1))2,2 x(1)x(2),(x(2))2)T,易验证 ϕ ( x ) ⋅ ϕ ( z ) = ( x ⋅ z ) 2 = K ( x , z ) \phi(x) \cdot \phi(z)=(x \cdot z)^2=K(x, z) ϕ(x)ϕ(z)=(xz)2=K(x,z)

    • 法2:取 H = R 3 \mathcal{H}=R^3 H=R3以及 ϕ ( x ) = 1 2 ( ( x ( 1 ) ) 2 − ( x ( 2 ) ) 2 , 2 x ( 1 ) x ( 2 ) , ( x ( 1 ) ) 2 + ( x ( 2 ) ) 2 ) T \phi(x)=\frac{1}{\sqrt{2}}\left(\left(x^{(1)}\right)^2-\left(x^{(2)}\right)^2, 2 x^{(1)} x^{(2)},\left(x^{(1)}\right)^2+\left(x^{(2)}\right)^2\right)^{\mathrm{T}} ϕ(x)=2 1((x(1))2(x(2))2,2x(1)x(2),(x(1))2+(x(2))2)T同样满足条件。

    • 法3:取 H = R 4 \mathcal{H}=R^4 H=R4以及 ϕ ( x ) = ( ( x ( 1 ) ) 2 , x ( 1 ) x ( 2 ) , x ( 1 ) x ( 2 ) , ( x ( 2 ) ) 2 ) T \phi(x)=\left(\left(x^{(1)}\right)^2, x^{(1)} x^{(2)}, x^{(1)} x^{(2)},\left(x^{(2)}\right)^2\right)^T ϕ(x)=((x(1))2,x(1)x(2),x(1)x(2),(x(2))2)T满足条件。

  • 通俗理解:核方法将数据映射到更高维的空间,希望在这个更高维的空间中,数据可以变得更容易分离或更好的结构化。

(2)期望最大算法(Expectation Maximization Algorithm)

  • EM 算法是一种迭代算法,用于含有隐变量(Hidden Variable)的概率参数模型的最大似然估计或极大后验概率估计。其核心思想非常简单,分为两步:Expection-Step(期望步长)和 Maximization-Step(最大化步长)。

    • E-Step 主要通过观察数据和现有模型来估计参数,然后用这个估计的参数值来计算似然函数的期望值;
    • M-Step 是寻找似然函数最大化时对应的参数。

    由于算法会保证在每次迭代之后似然函数都会增加,所以函数最终会收敛。

  • 数学推导过程:

    1. 给定数据集,假设样本间相互独立,我们想要拟合模型 p ( x ; θ ) p\left(x ; \theta\right) p(x;θ)的参数,根据分布可以得到如下似然函数:
      1. 第一步是对极大似然函数取对数;
      2. 第二步是对每个样本的每个可能的类别 z z z求联合概率分布之和。(如果这个 z 是已知的数,那么使用极大似然法会很容易。但如果 z 是隐变量,我们就需要用 EM 算法来求。)

    L ( θ ) = ∑ i = 1 n log ⁡ p ( x i ; θ ) = ∑ i = 1 n log ⁡ ∑ z p ( x i , z ; θ ) L(θ)=ni=1logp(xi;θ)=ni=1logzp(xi,z;θ) L(θ)=i=1nlogp(xi;θ)=i=1nlogzp(xi,z;θ)

    1. 对于每一个样本 i i i,我们用 Q i ( z ) Q_i(z) Qi(z)表示样本 i i i隐含变量 z z z的某种分布,且 Q i ( z ) Q_i(z) Qi(z)满足( ∑ z Z Q i ( z ) = 1 , Q i ( z ) ≥ 0 \sum_z^Z Q_i(z)=1, \quad Q_i(z) \geq 0 zZQi(z)=1,Qi(z)0)。则上式可写为:
      ∑ i n log ⁡ p ( x i ; θ ) = ∑ i n log ⁡ ∑ z p ( x i , z ; θ ) = ∑ i n log ⁡ ∑ z Z Q i ( z ) p ( x i , z ; θ ) Q i ( z ) ≥ ∑ i n ∑ z Z Q i ( z ) log ⁡ p ( x i , z ; θ ) Q i ( z ) nilogp(xi;θ)=nilogzp(xi,z;θ)=nilogZzQi(z)p(xi,z;θ)Qi(z)niZzQi(z)logp(xi,z;θ)Qi(z) inlogp(xi;θ)=inlogzp(xi,z;θ)=inlogzZQi(z)Qi(z)p(xi,z;θ)inzZQi(z)logQi(z)p(xi,z;θ)
      上面式子中,第一步是求和每个样本的所有可能的类别 z 的联合概率密度函数,但是这一步直接求导非常困难,所以将其分子分母同乘以函数 Q i ( z ) Q_i(z) Qi(z) ,转换到第二步。从第二步到第三步是利用 Jensen 不等式。

    2. 通过上述推导,得到关于 L ( θ ) L(\theta) L(θ)的不等式关系,通过不断提高不等式的右侧,就可以使得 L ( θ ) L(\theta) L(θ)不断提高,达到最大化对数似然函数的目的。

(3)K均值聚类算法

  • 输入:包含n个样本的数据集合,聚类形成的簇的个数k。

  • 算法步骤:

    1. 选择初始化的k个样本,作为初始聚类中心 a = a 1 , a 2 , … a k a=a_1, a_2, \ldots a_k a=a1,a2,ak
    2. 针对数据集中每个样本 x i x_i xi,计算它到 k 个聚类中心的距离,并将其分到距离最小的聚类中心所对应的类中;
    3. 重新计算聚类中心 a j = 1 ∣ c j ∣ ∑ x ∈ c j x a_j=\frac{1}{\left|c_j\right|} \sum_{x \in c_j} x aj=cj1xcjx c j c_j cj为第 j j j类样本数),即将每个类别中所有样本的均值作为新的中心;
    4. 重复上述步骤2和3,直到达到某个中止条件(迭代次数、最小误差变化等)。
  • 数学过程:

    1. 首先确定损失函数为: J = ∑ i = 1 C ∑ j = 1 N r i j ⋅ ν ( x j , μ i ) J=\sum_{i=1}^C \sum_{j=1}^N r_{i j} \cdot \nu\left(x_j, \mu_i\right) J=i=1Cj=1Nrijν(xj,μi),其中 ν ( x j , μ i ) = ∥ x j − μ i ∥ 2 \nu\left(x_j, \mu_i\right)=\left\|x_j-\mu_i\right\|^2 ν(xj,μi)=xjμi2表示样本到各聚类中心的距离, r n k = { 1  if  x n ∈ k 0  else  r_{n k}= {1 if xnk0 else  rnk={10 if xnk else 用于筛选样本到最近聚类中心的距离。

    2. 为了使得损失函数达到极小值,对损失函数求偏导数且等于 0,即 ∂ J ∂ μ k = 2 ∑ i = 1 N r i k ( x i − μ k ) = 0 \frac{\partial J}{\partial \mu_k}=2 \sum_{i=1}^N r_{i k}\left(x_i-\mu_k\right)=0 μkJ=2i=1Nrik(xiμk)=0,更新所有聚类中心 μ k = ∑ i = 1 N r i k x i ∑ i = 1 N r i k \mu_k=\frac{\sum_{i=1}^N r_{i k} x_i}{\sum_{i=1}^N r_{i k}} μk=i=1Nriki=1Nrikxi

    3. 再对所有样本计算到各聚类中心的距离以更新参数 r n k r_{n k} rnk

    4. 重复上述过程即可得到所有类别的中心(K-means 聚类的迭代算法实际上是 EM 算法)。

2. Kernel K-Means Clustering

(1)使用背景

  • 基于欧式距离的 K-means 假设了各个数据簇的数据具有一样的的先验概率并呈现球形分布,但这种分布在实际生活中并不常见。
  • 面对非凸的数据分布形状时,可以引入核函数来优化,这时算法又称为核 K-means 算法,是核聚类方法的一种。
  • 核聚类方法的主要思想是通过一个非线性映射,将输入空间中的数据点映射到高位的特征空间中,并在新的特征空间中进行聚类。非线性映射增加了数据点线性可分的概率,从而在经典的聚类算法失效的情况下,通过引入核函数可以达到更为准确的聚类结果。

(2)模型

  • 现有输入空间 X \mathcal{X} X { x 1 , x 2 , x 3 , ⋯   , x M } \left\{x^1, x^2, x^3, \cdots, x^M\right\} {x1,x2,x3,,xM} x i ∈ R n x^i \in R^n xiRn i = 1 , 2 , ⋯   , M i=1,2,\cdots,M i=1,2,,M),假设依据Mercer定理存在一个从 X \mathcal{X} X到特征空间 H \mathcal{H} H的映射 ϕ ( x ) : X → H \phi(x): \mathcal{X} \rightarrow \mathcal{H} ϕ(x):XH,使得核函数 K ( x i , x j ) = ϕ ( x i ) ⋅ ϕ ( x j ) K(x^i, x^j)=\phi(x^i) \cdot \phi(x^j) K(xi,xj)=ϕ(xi)ϕ(xj)。KKMC就是讨论特征空间 H \mathcal{H} H里数据集 { ϕ ( x 1 ) , ϕ ( x 2 ) , ϕ ( x 3 ) , ⋯   , ϕ ( x M ) } \left\{\phi(x^1), \phi(x^2), \phi(x^3), \cdots, \phi(x^M)\right\} {ϕ(x1),ϕ(x2),ϕ(x3),,ϕ(xM)}的聚类情况。

  • 与上述理论类似地有损失:
    J = ∑ i = 1 M ∑ k = 1 K r i k ⋅ ∥ ϕ ( x i ) − μ k ∥ 2 r i k = { 1  if  x i ∈ k c l a s s 0  else  J=\sum_{i=1}^M \sum_{k=1}^K r_{i k} \cdot \left\|\phi(x^i)-\mu_k\right\|^2\\ r_{i k}= {1 if xikclass0 else  J=i=1Mk=1Krikϕ(xi)μk2rik={10 if xikclass else 

(3)算法

  • 初始化: a i k ≥ 0 , ( i = 1 , 2 , ⋯   , M ) , ( k = 1 , 2 , ⋯   , K ) a_{i k} \geq 0, (i=1,2, \cdots, M),(k=1,2, \cdots, K) aik0,(i=1,2,,M),(k=1,2,,K),其中对于所有类别 k k k都有 ∑ i = 1 M a i k = 1 \sum_{i=1}^M a_{i k}=1 i=1Maik=1,计算初始聚类中心:
    μ k = ∑ i = 1 M a i k ϕ ( x i ) , k = 1 , 2 , ⋯   , K \mu_k=\sum_{i=1}^M a_{i k} \phi\left(x^i\right), k=1,2, \cdots, K μk=i=1Maikϕ(xi),k=1,2,,K

  • Expection-Step:

    • 计算 r i k r_{i k} rik:
      γ ˉ i k = { 1 k = = argmin ⁡ j ∥ ϕ ( x i ) − μ j ∥ 2 0  otherwise  \bar{\gamma}_{i k}=\left\{1k==argminjϕ(xi)μj20 otherwise \right. γˉik={10k==argminjϕ(xi)μj2 otherwise 

    • 其中对映射 ϕ ( ⋅ ) \phi(\cdot) ϕ()的计算可以转化为对核函数 K ( x i , x j ) K(x^i, x^j) K(xi,xj)的计算,具体过程如下:
      ∥ ϕ ( x i ) − μ j ∥ 2 = ∥ ϕ ( x i ) − ∑ n = 1 M a n j ϕ ( x n ) ∥ 2 = K ( x i , x i ) − 2 ∑ n = 1 M a n j K ( x i , x n ) + ∑ m , n = 1 M a m j a n j K ( x m , x n ) , ( j = 1 , 2 , ⋯   , K ) ϕ(xi)μj2=ϕ(xi)Mn=1anjϕ(xn)2=K(xi,xi)2Mn=1anjK(xi,xn)+Mm,n=1amjanjK(xm,xn),(j=1,2,,K) ϕ(xi)μj2=ϕ(xi)n=1Manjϕ(xn)2=K(xi,xi)2n=1ManjK(xi,xn)+m,n=1MamjanjK(xm,xn),(j=1,2,,K)

  • Maximization-Step:

    固定 r i k r_{i k} rik,计算 a i k a_{i k} aik
    ∂ J ∂ μ k = − 2 ∑ i = 1 M r i k ( ϕ ( x i ) − μ k ) = 0 , μ k = ∑ i = 1 M r i k ϕ ( x i ) ∑ i = 1 M r i k , a i k = r i k ∑ i = 1 M r i k , ( k = 1 , 2 , ⋯   , K ) Jμk=2Mi=1rik(ϕ(xi)μk)=0,μk=Mi=1rikϕ(xi)Mi=1rik,aik=rikMi=1rik,(k=1,2,,K) μkJ=2i=1Mrik(ϕ(xi)μk)=0,μk=i=1Mriki=1Mrikϕ(xi),aik=i=1Mrikrik,(k=1,2,,K)

  • 迭代E-Step和M-Step直至收敛。

3. 补充

  • 本人才疏学浅,欢迎批评、指导和交流;
  • 侵权必删
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/129084
推荐阅读
相关标签
  

闽ICP备14008679号