文章目录

  • k-means聚类
    • EM角度的理解
    • 算法流程
    • 特点
    • k值选择
    • 局限性
  • 高斯混合模型
    • GMM的问题描述
    • 1,明确隐变量
    • 2、EM算法的E步:确定Q函数
    • 3. EM算法的E步
    • 4. 停止条件

上一篇文章,我们讲的期望最大化(EM)算法是一种非常强大的算法,应用于数据科学的许多场景。k-means是该算法非常简单且易于理解的一个应用。

k-means聚类

k均值聚类算法(k-means)将样本集合划分为k个子集,也就是将n个样本划分到k个类别中,每个样本到类别的中心距离最近。

EM角度的理解

如果从EM角度来理解的话,k均值聚类算法的隐变量是聚类的中心,模型的参数是每个数据点属于哪个分类。k-means算法描述如下:

(1)选择初始聚类中心

(2)E步:将样本分配到距离最近的中心形成簇

(3)M步:将簇的中心设置为簇内各个样本的均值

(4)重复(2)(3)直到收敛

E步就是估计隐含类别y的期望值,M步调整其他参数使得在给定类别y的情况下,极大似然估计P(x,y)能够达到极大值。然后在其他参数确定的情况下,重新估计y,周而复始,直至收敛。

算法流程

k-means可以采用欧式距离的平方作为样本之间的距离度量:
d(xi,xj)=∑k=1m(xki−xkj)2=∣∣xi−xj∣∣22d(x_i, x_j) = \sum^m_{k=1}(x_{ki}-x_{kj})^2=||x_i-x_j||^2_2 d(xi​,xj​)=k=1∑m​(xki​−xkj​)2=∣∣xi​−xj​∣∣22​
然后定义样本与所属类的中心之间的距离的总和为损失函数:
W(C)=∑l=1k∑C(i)=1∣∣xi−xˉl∣∣22W(C) = \sum^k_{l=1}\sum_{C(i)=1}||x_i-\bar x_l||^2_2 W(C)=l=1∑k​C(i)=1∑​∣∣xi​−xˉl​∣∣22​
xˉl=(xˉ1l,xˉ2l,...,xˉml)T\bar x_l=(\bar x_{1l},\bar x_{2l},...,\bar x_{ml})^Txˉl​=(xˉ1l​,xˉ2l​,...,xˉml​)T是第lll个类的均值或者中心,nl=∑i=1nI(C(i)=l)n_l=\sum_{i=1}^n I(C(i)=l)nl​=∑i=1n​I(C(i)=l),I(C(i)=l)I(C(i)=l)I(C(i)=l)是指示函数,第i个样本属于类别lll时取1,否则取0。W© 衡量了相同类别的样本的相似程度。

k-means算法就是求出最佳的k,使得各个类别内的样本相似度尽可能的高:
C∗=arg⁡min⁡CW(C)=arg⁡min⁡C∑l=1k∑C(i)=1∣∣xi−xˉl∣∣22C^* = \arg\min\limits_{C}W(C) =\arg\min\limits_{C}\sum^k_{l=1}\sum_{C(i)=1}||x_i-\bar x_l||^2_2 C∗=argCmin​W(C)=argCmin​l=1∑k​C(i)=1∑​∣∣xi​−xˉl​∣∣22​
虽然上述目标函数的最优化可以达到聚类的目的,但是n个样本划分到k个类别,可能的划分方案的个数是指数级别的,难以求解。

为此,k均值聚类算法采用迭代的方式达到聚类的效果,每次迭代包含两个步骤:

  1. 随机生成或者选择k个样本作为聚类中心,将每个样本分配到最近的中心,得到一个聚类结果。
  2. 计算每个类内所有样本的均值,作为这个类别新的聚类中心。
  3. 重复1,2直到聚类结果不再发生变化。

迭代过程如下面的动图所示:

具体过程如下:

首先,对于给定的k个中心(m1,m2,...,mk)(m_1, m_2,...,m_k)(m1​,m2​,...,mk​),求一个划分C,每个样本划分到一个类中,使得样本和所属类的中心之间的距离总和最小,即下面的式子极小化:
W(C)=min⁡C∑l=1k∑C(i)=l∣∣xi−ml∣∣22W(C)=\min\limits_C\sum_{l=1}^k\sum_{C(i)=l}||x_i-m_l||^2_2 W(C)=Cmin​l=1∑k​C(i)=l∑​∣∣xi​−ml​∣∣22​
然后,对给定的划分C或者说在类中心确定的情况下,再求各个类的中心(m1,m2,...,mk)(m_1, m_2,...,m_k)(m1​,m2​,...,mk​),使得各个样本到这个中心的距离之和最小,一般要求的这个中心就是各个类别内样本的均值。这个过程描述如下:
W(C)=min⁡m1,...,mk∑l=1k∑C(i)=l∣∣xi−ml∣∣22W(C)=\min\limits_{m_1,...,m_k}\sum_{l=1}^k\sum_{C(i)=l}||x_i-m_l||^2_2 W(C)=m1​,...,mk​min​l=1∑k​C(i)=l∑​∣∣xi​−ml​∣∣22​
对于包含了nln_lnl​个样本的ClC_lCl​,更新其均值mlm_lml​。也就是说,具体求新的中心的过程如下:
ml=1nl∑C(i)=lxi,l=1,2,...km_l = \frac{1}{n_l}\sum_{C(i)=l}x_i, l=1,2,...k ml​=nl​1​C(i)=l∑​xi​,l=1,2,...k
重复上面的步骤,直到划分不再改变,就得到了聚类的结果。

特点

k均值聚类算法的总体特点:

  1. 是基于划分的聚类方法
  2. 类别k事先指定
  3. 以欧式距离平方作为距离的度量方式
  4. 以中心或者样本的均值表示类别
  5. 以样本和所属的类的中心的距离之和作为目标函数
  6. 算法是迭代算法,不能保证得到全局最优。

k均值聚类算法属于启发式方法,不能保证达到全局最优,受到初始中心的很大影响。

关于初始中心的选择,可以先用层次聚类对样本进行聚类,得到k个类别后,再从k个类别中选取一个与中心距离最近的点。

k值选择

关于类别数k的选择,在实际应用中需要尝试不同的k值,检验聚类结果的质量。聚类结果可以用类别的平均直径来衡量。

如上图所示,一般地,类别数量变大时,类别平均直径会变小,当类别数量超过某个值后,平均直径不再改变,这个值就是最优的k值。

局限性

不过,k-means聚类也有比较明显的局限性。当各个样本的分布接近圆形(球形)的时候,效果还不错:

但是,当各个样本的分布不那么“圆”的时候,聚类效果就打折扣了:

因此,我们需要一种不同的方法来为数据点分配聚类。因此,我们将不再使用基于距离的模型,而是使用基于分布的模型。效果如下:

下面要介绍的高斯混合模型就是基于分布的模型。

高斯混合模型

GMM的问题描述

高斯混合模型(GMM)假设存在一定数量的高斯分布,每个分布代表一个簇。因此,高斯混合模型倾向于将属于单一分布的数据点聚在一起。

高斯混合模型的数学公式:
P(y∣θ)=∑k=1Kαkϕ(y∣θk)P(y|\theta)=\sum\limits^{K}_{k=1}\alpha_k\phi(y|\theta_k) P(y∣θ)=k=1∑K​αk​ϕ(y∣θk​)
其中,αk\alpha_kαk​是系数,αk≥0\alpha_k\ge0αk​≥0,∑k=1Kαk=1\sum\limits^{K}_{k=1}\alpha_k=1k=1∑K​αk​=1, ϕ(y∣θk)\phi(y|\theta_k)ϕ(y∣θk​) 是高斯分布密度,θk=(μk,σk2)\theta_k=(\mu_k,\sigma_k^2)θk​=(μk​,σk2​)
ϕ(y∣θk)=12πσkexp⁡(−(y−μk)22σk2)\phi(y|\theta_k)=\frac{1}{\sqrt{2\pi}\sigma_k}\exp\left(-\frac{(y-\mu_k)^2}{2\sigma_k^2}\right) ϕ(y∣θk​)=2π​σk​1​exp(−2σk2​(y−μk​)2​)
上式表示第k个模型。

GMM的数学公式在形式上可以看成是高斯分布概率密度函数(PDF)的加权求和:
∑(权重×分布密度)=分布\sum(权重\times 分布密度)=分布 ∑(权重×分布密度)=分布

书中描述的是一维的高斯混合模型,d维的形式如下[^2],被称作多元正态分布,也叫多元高斯分布
ϕ(y∣θk)=1(2π)d∣Σ∣exp⁡(−(y−μk)TΣ−1(y−μk)2)\phi(y|\theta_k)=\frac{1}{\sqrt{(2\pi)^d|\Sigma|}}\exp\left(-\frac{(y-\mu_k)^T\Sigma^{-1}(y-\mu_k)}{2}\right) ϕ(y∣θk​)=(2π)d∣Σ∣​1​exp(−2(y−μk​)TΣ−1(y−μk​)​)
其中,Σ∈Rn×n\Sigma\in \R^{n\times n}Σ∈Rn×n是协方差矩阵。

已知观测数据y1,y2,…,yNy_1, y_2, \dots , y_Ny1​,y2​,…,yN​,由高斯混合模型生成:
P(y∣θ)=∑k=1Kαkϕ(y∣θk)=∏j=1N∑k=1Kαkϕ(yj∣θk)P(y|\theta)=\sum_{k=1}^K\alpha_k\phi(y|\theta_k) =\prod_{j=1}^N\sum_{k=1}^K\alpha_k\phi(y_j|\theta_k) P(y∣θ)=k=1∑K​αk​ϕ(y∣θk​)=j=1∏N​k=1∑K​αk​ϕ(yj​∣θk​)
其中, θ=(α1,α2,…,αK;θ1,θ2,…,θK)\theta=(\alpha_1,\alpha_2,\dots,\alpha_K;\theta_1,\theta_2,\dots,\theta_K)θ=(α1​,α2​,…,αK​;θ1​,θ2​,…,θK​),我们要做的是使用EM算法估计GMM的参数θ\thetaθ。

1,明确隐变量

观测数据yj,j=1,2,…,Ny_j, j=1,2,\dots,Nyj​,j=1,2,…,N的产生方式:

  1. 依概率αk\alpha_kαk​选择第kkk个高斯分布分模型ϕ(y∣θk)\phi(y|\theta_k)ϕ(y∣θk​);
  2. 依第kkk个分模型的概率分布ϕ(y∣θk)\phi(y|\theta_k)ϕ(y∣θk​)生成观测数据yjy_jyj​

但是,反映观测数据yjy_jyj​来自第kkk个分模型的数据是未知的, k=1,2,…,Kk=1,2,\dots,Kk=1,2,…,K 这里用**隐变量γjk\gamma_{jk}γjk​**表示:
γjk={1,第j个观测来自第k个分模型0,否则j=1,2,…,N;k=1,2,…,K;γjk∈{0,1}\gamma_{jk}= \begin{cases} 1, &第j个观测来自第k个分模型\\ 0, &否则 \end{cases}\\ j=1,2,\dots,N; k=1,2,\dots,K; \gamma_{jk}\in\{0,1\} γjk​={1,0,​第j个观测来自第k个分模型否则​j=1,2,…,N;k=1,2,…,K;γjk​∈{0,1}
γjk\gamma_{jk}γjk​的维度为(j×k)(j\times k)(j×k),每一行都是一种one-hot的形式,表示对于观测数据jjj,在γjk\gamma_{jk}γjk​的第j行的第k列为1,该行其余的列都为0。

完全数据为(yj,γj1,γj2,…,γjK,k=1,2,…,N)(y_j,\gamma_{j1},\gamma_{j2},\dots,\gamma_{jK},k=1,2,\dots,N)(yj​,γj1​,γj2​,…,γjK​,k=1,2,…,N),完全数据的似然函数为:
P(y,γ∣θ)=∏j=1NP(yj,γj1,γj2,…,γjK∣θ)=∏k=1K∏j=1N[αkϕ(yj∣θk)]γjk=∏k=1Kαknk∏j=1N[ϕ(yj∣θk)]γjk=∏k=1Kαknk∏j=1N[12πσkexp⁡(−(yj−μk)22σ2)]γjk(1)\begin{aligned} P(y,\gamma|\theta)=&\prod_{j=1}^NP(y_j,\gamma_{j1},\gamma_{j2},\dots,\gamma_{jK}|\theta)\\ =&\prod_{k=1}^K\prod_{j=1}^N\left[\alpha_k\phi(y_j|\theta_k)\right]^{\gamma_{jk}}\\ =&\prod_{k=1}^K\alpha_k^{n_k}\prod_{j=1}^N\left[\phi(y_j|\theta_k)\right]^{\gamma_{jk}}\\ =&\prod_{k=1}^K\alpha_k^{n_k}\prod_{j=1}^N\left[\frac{1}{\sqrt{2\pi}\sigma_k}\exp\left(-\frac{(y_j-\mu_k)^2}{2\sigma^2}\right)\right]^{\gamma_{jk}} \qquad (1)\\ \end{aligned} P(y,γ∣θ)====​j=1∏N​P(yj​,γj1​,γj2​,…,γjK​∣θ)k=1∏K​j=1∏N​[αk​ϕ(yj​∣θk​)]γjk​k=1∏K​αknk​​j=1∏N​[ϕ(yj​∣θk​)]γjk​k=1∏K​αknk​​j=1∏N​[2π​σk​1​exp(−2σ2(yj​−μk​)2​)]γjk​(1)​
其中nk=∑j=1Nγjk,∑k=1Knk=Nn_k=\sum_{j=1}^N\gamma_{jk}, \sum_{k=1}^Kn_k=Nnk​=∑j=1N​γjk​,∑k=1K​nk​=N。nkn_knk​是所有行第k列的和,可以理解为属于第k个高斯分布的样本的个数。

下面求完全数据对数似然函数

我们假设上面似然函数的式子(1)中,∏j=1N[12πσkexp⁡(−(yj−μk)22σk2)]γjk=ωk\prod_{j=1}^N\left[\frac{1}{\sqrt{2\pi}\sigma_k}\exp\left(-\frac{(y_j-\mu_k)^2}{2\sigma_k^2}\right)\right]^{\gamma_{jk}} = \omega_k∏j=1N​[2π​σk​1​exp(−2σk2​(yj​−μk​)2​)]γjk​=ωk​

则:
log⁡P(y,γ∣θ)=log∏k=1Kαknkωk=∑k=1K(nklogαk+logωk)\begin{aligned}\log P(y,\gamma|\theta) &= log\prod_{k=1}^K\alpha_k^{n_k}\omega_k\\&= \sum_{k=1}^K(n_klog\alpha_k + log\omega_k) \\\end{aligned} logP(y,γ∣θ)​=logk=1∏K​αknk​​ωk​=k=1∑K​(nk​logαk​+logωk​)​
其中logωklog\omega_klogωk​展开为:
logωk=log∏j=1N[12πσkexp⁡(−(yj−μk)22σk2)]γjk=∑j=1Nγjk(log12π−logσk−(yj−μk)22σk2)\begin{aligned}log\omega_k &=log\prod_{j=1}^N\left[\frac{1}{\sqrt{2\pi}\sigma_k}\exp\left(-\frac{(y_j-\mu_k)^2}{2\sigma_k^2}\right)\right]^{\gamma_{jk}} \\&=\sum_{j=1}^N \gamma_{jk}(log \frac{1}{\sqrt{2\pi}}-log\sigma_k - \frac{(y_j-\mu_k)^2}{2\sigma_k^2} )\end{aligned} logωk​​=logj=1∏N​[2π​σk​1​exp(−2σk2​(yj​−μk​)2​)]γjk​=j=1∑N​γjk​(log2π​1​−logσk​−2σk2​(yj​−μk​)2​)​
所以完全数据的对数似然函数为:
log⁡P(y,γ∣θ)=∑k=1K{nklog⁡αk+∑j=1Nγjk[log⁡(12π)−log⁡σk−12σ2(yj−μk)2]}\begin{aligned}\log P(y,\gamma|\theta)=\sum_{k=1}^K\left\{n_k\log \alpha_k+\sum_{j=1}^N\gamma_{jk}\left[\log \left(\frac{1}{\sqrt{2\pi}}\right)-\log \sigma_k -\frac{1}{2\sigma^2}(y_j-\mu_k)^2\right]\right\}\end{aligned} logP(y,γ∣θ)=k=1∑K​{nk​logαk​+j=1∑N​γjk​[log(2π​1​)−logσk​−2σ21​(yj​−μk​)2]}​

2、EM算法的E步:确定Q函数

下面的Q 函数是完全数据的对数似然函数log⁡P(y,γ∣θ)\log P(y,\gamma|\theta)logP(y,γ∣θ)关于给定观测数据yyy的当前参数θ(i)\theta^{(i)}θ(i)下,对未观测数据γ\gammaγ的条件概率分布P(γ∣y,θ(i))P(\gamma|y,\theta^{(i)})P(γ∣y,θ(i))的期望表达式
Q(θ,θ(i))=E[log⁡P(y,γ∣θ)∣y,θ(i)]=E{∑k=1K{nklog⁡αk+∑j=1Nγjk[log⁡(12π)−log⁡σk−12σ2(yj−μk)2]}}(1)=∑k=1K{E{nklog⁡αk+∑j=1Nγjk[log⁡(12π)−log⁡σk−12σ2(yj−μk)2]}}(2)=∑k=1K{E{∑j=1Nγjklog⁡αk+∑j=1Nγjk[log⁡(12π)−log⁡σk−12σ2(yj−μk)2]}}(3)=∑k=1K{∑j=1N(Eγjk)log⁡αk+∑j=1N(Eγjk)[log⁡(12π)−log⁡σk−12σ2(yj−μk)2]}(4)\begin{aligned}Q(\theta,\theta^{(i)})=&E[\log P(y,\gamma|\theta)|y,\theta^{(i)}]\\=&\color{green}E\color{black}\left\{\sum_{k=1}^K\left\{\color{red}n_k\color{black}\log \alpha_k+\color{blue}\sum_{j=1}^N\gamma _{jk}\color{black}\left[\log \left(\frac{1}{\sqrt{2\pi}}\right)-\log \sigma _k-\frac{1}{2\sigma^2(y_j-\mu_k)^2}\right]\right\}\right\} \qquad (1) \\=&\sum_{k=1}^K\left\{\color{green}E\color{black}\left\{\color{red}n_k\color{black}\log \alpha_k+\color{blue}\sum_{j=1}^N\gamma _{jk}\color{black}\left[\log \left(\frac{1}{\sqrt{2\pi}}\right)-\log \sigma _k-\frac{1}{2\sigma^2(y_j-\mu_k)^2}\right]\right\}\right\} \qquad (2) \\=&\sum_{k=1}^K\left\{\color{green}E\color{black}\left\{\color{red}\sum_{j=1}^N\gamma_{jk}\color{black}\log \alpha_k+\color{blue}\sum_{j=1}^N\gamma _{jk}\color{black}\left[\log \left(\frac{1}{\sqrt{2\pi}}\right)-\log \sigma _k-\frac{1}{2\sigma^2(y_j-\mu_k)^2}\right]\right\}\right\} \qquad (3) \\=&\sum_{k=1}^K\left\{\color{red}\sum_{j=1}^{N}(\color{green}E\color{red}\gamma_{jk})\color{black}\log \alpha_k+\color{blue}\sum_{j=1}^N(\color{green}E\color{blue}\gamma _{jk})\color{black}\left[\log \left(\frac{1}{\sqrt{2\pi}}\right)-\log \sigma _k-\frac{1}{2\sigma^2(y_j-\mu_k)^2}\right]\right\}\qquad (4) \\\end{aligned} Q(θ,θ(i))=====​E[logP(y,γ∣θ)∣y,θ(i)]E{k=1∑K​{nk​logαk​+j=1∑N​γjk​[log(2π​1​)−logσk​−2σ2(yj​−μk​)21​]}}(1)k=1∑K​{E{nk​logαk​+j=1∑N​γjk​[log(2π​1​)−logσk​−2σ2(yj​−μk​)21​]}}(2)k=1∑K​{E{j=1∑N​γjk​logαk​+j=1∑N​γjk​[log(2π​1​)−logσk​−2σ2(yj​−μk​)21​]}}(3)k=1∑K​{j=1∑N​(Eγjk​)logαk​+j=1∑N​(Eγjk​)[log(2π​1​)−logσk​−2σ2(yj​−μk​)21​]}(4)​
说明:

(1)到(2)是因为期望的基本性质:和的期望等于期望的和。

(2)到(3)是因为nk=∑j=1Nγjkn_k=\sum_{j=1}^N\gamma_{jk}nk​=∑j=1N​γjk​。

(3)到(4)是因为Q函数是完全数据的对数似然函数对隐变量的条件概率分布。

上面的式子需要对隐变量γjk\gamma_{j k}γjk​求期望(记为γ^jk\hat\gamma_{jk}γ^​jk​),与隐变量无关的项可以视为常数:
γ^jk=E(γjk∣yj,θ)=P(γjk=1∣yj,θ)=P(γjk=1,yj,θ)P(yj,θ)=P(γjk=1,yj∣θ)P(θ)P(yj∣θ)P(θ)=P(γjk=1,yj∣θ)P(yj∣θ)=P(γjk=1,yj∣θ)∑k=1KP(γjk=1,yj∣θ)=P(yj∣γjk=1,θ)P(γjk=1∣θ)∑k=1KP(yj∣γjk=1,θ)P(γjk=1∣θ)=αkϕ(yj∣θk)∑k=1Kαkϕ(yj∣θk)\begin{aligned}\hat \gamma _{jk}&= \color{purple}E(\gamma_{jk}|y_j,\theta)\\ &=P(\gamma_{jk}=1|y_j,\theta)\\ &= \frac{P(\gamma_{jk}=1,y_j,\theta)}{P(y_j,\theta)} \\ &= \frac{P(\gamma_{jk}=1,y_j|\theta)P(\theta)}{P(y_j|\theta)P(\theta)} \\ &= \frac{P(\gamma_{jk}=1,y_j|\theta)}{P(y_j|\theta)} \\ &=\frac{P(\gamma_{jk}=1,y_j|\theta)}{\sum_{k=1}^KP(\gamma_{jk}=1,y_j|\theta)} \\ &=\frac{P(y_j|\color{red}\gamma_{jk}=1,\theta\color{black})\color{green}P(\gamma_{jk}=1|\theta)}{\sum_{k=1}^KP(y_j|\gamma_{jk}=1,\theta)P(\gamma_{jk}=1|\theta)}\\ &=\frac{\color{green}\alpha_k\color{black}\phi(y_j|\color{red}\theta_k)}{\sum_{k=1}^K\alpha_k\phi(y_j|\theta_k)} \end{aligned} γ^​jk​​=E(γjk​∣yj​,θ)=P(γjk​=1∣yj​,θ)=P(yj​,θ)P(γjk​=1,yj​,θ)​=P(yj​∣θ)P(θ)P(γjk​=1,yj​∣θ)P(θ)​=P(yj​∣θ)P(γjk​=1,yj​∣θ)​=∑k=1K​P(γjk​=1,yj​∣θ)P(γjk​=1,yj​∣θ)​=∑k=1K​P(yj​∣γjk​=1,θ)P(γjk​=1∣θ)P(yj​∣γjk​=1,θ)P(γjk​=1∣θ)​=∑k=1K​αk​ϕ(yj​∣θk​)αk​ϕ(yj​∣θk​)​​

3. EM算法的E步

迭代的M步是求Q(θ,θ(i))Q(\theta,\theta^{(i)})Q(θ,θ(i))对θ\thetaθ的极大值,得到新一轮迭代的模型参数:
θ(i+1)=arg⁡max⁡θQ(θ,θ(i))\theta^{(i+1)}=\arg\max_\theta Q(\theta,\theta^{(i)}) θ(i+1)=argθmax​Q(θ,θ(i))
对Q(θ,θi)Q(\theta,\theta^i)Q(θ,θi)求导,可以得到未知量μk,σk^2\mu_k, \hat{\sigma_k}^2μk​,σk​^​2的偏导,使其偏导等于0,求解得到:
μk^=∑j=1Nγjk^yi∑j=1Nγjk^σk^2=∑j=1Nγjk^(yi−μk)2∑j=1Nγjk^\hat{\mu_k}=\frac{\sum_{j=1}^{N}\hat{\gamma_{jk}}y_i}{\sum_{j=1}^{N}\hat{\gamma_{jk}}} \\ \hat{\sigma_k}^2=\frac{\sum_{j=1}^{N}\hat{\gamma_{jk}}(y_i-\mu_k)^2}{\sum_{j=1}^{N}\hat{\gamma_{jk}}} μk​^​=∑j=1N​γjk​^​∑j=1N​γjk​^​yi​​σk​^​2=∑j=1N​γjk​^​∑j=1N​γjk​^​(yi​−μk​)2​
对于ak^\hat{a_k}ak​^​而言,它是属于各个分布的样本个数的占比:
ak^=nkN=∑j=1Nγjk^N\hat{a_k}= \frac{n_k}{N} = \frac{\sum_{j=1}^{N}\hat{\gamma_{jk}} }{N} ak​^​=Nnk​​=N∑j=1N​γjk​^​​

4. 停止条件

重复以上3,4的计算,直到对数似然函数值不再有明显的变化为止。

EM算法应用:k均值聚类(k-means)和高斯混合模型(GMM)相关推荐

  1. 非监督学习: K 均值聚类(原理、步骤、优缺点、调优)

    支持向量机.逻辑回归.决策树等经典的机器学习算法主要用于分类问题,即根据一些己给定类别的样本, 训练某种分类器,使得它能够对类别未知的样本进行分类.与分类问题不同,聚类是在事先并不知道任何样本类别标签 ...

  2. 使用高斯混合模型(GMM)近似未知分布:EM算法的应用

    该篇博客是对邱锡鹏老师<神经网络与深度学习>的学习笔记.在阅读本博文之前,建议读者先阅读上一篇博客EM算法. 高斯混合模型(Gaussian Mixture Model) 如果一个连续随机 ...

  3. 聚类之K均值聚类和EM算法

    这篇博客整理K均值聚类的内容,包括: 1.K均值聚类的原理: 2.初始类中心的选择和类别数K的确定: 3.K均值聚类和EM算法.高斯混合模型的关系. 一.K均值聚类的原理 K均值聚类(K-means) ...

  4. k均值聚类算法(K Means)及其实战案例

    算法说明 K均值聚类算法其实就是根据距离来看属性,近朱者赤近墨者黑.其中K表示要聚类的数量,就是说样本要被划分成几个类别.而均值则是因为需要求得每个类别的中心点,比如一维样本的中心点一般就是求这些样本 ...

  5. Udacity机器人软件工程师课程笔记(二十一) - 对点云进行集群可视化 - 聚类的分割 - K-means|K均值聚类, DBSCAN算法

    聚类的分割 1.K-均值聚类 (1)K-均值聚类介绍 k均值聚类算法(k-means clustering algorithm)是一种迭代求解的聚类分析算法,其步骤是随机选取K个对象作为初始的聚类中心 ...

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

    K-Means(K均值聚类算法) 1.前言 要学习聚类算法就要知道聚类学习算法是什么,为什么要学习聚类学习聚类学习算法,有什么用途,下面就简单的做一下介绍,并且详细的说明k-means均值聚类学习算法 ...

  7. k均值聚类算法python_K均值和其他聚类算法:Python快速入门

    k均值聚类算法python This post was originally published here 这篇文章最初发表在这里 Clustering is the grouping of obje ...

  8. K-means(K均值聚类算法)算法笔记

    K-means(K均值聚类算法)算法笔记 K-means 算法,是比较简单的无监督的算法,通过设定好初始的类别k,然后不断循环迭代,将给定的数据自动分为K个类别.事实上,大家都知道K-means是怎么 ...

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

    核K均值聚类Kernel K-Means Clustering(KKMC) 1. 理论基础回顾 (1)核函数定义(统计学习方法定义7.6) 定义内容:假设有输入空间 X \mathcal{X} X( ...

最新文章

  1. 通过分离dataSource 让我们的code具有更高的复用性.
  2. 5张图搞懂Java深浅拷贝
  3. shell实现矩阵转置
  4. 走出迷茫和怀疑,迎接在神策冒险的新时代
  5. jQuery教程2---隐藏p标签内容-按钮
  6. 使用xjc一秒钟生成您的JAXB类
  7. python与tensorflow知识点截图集锦(持续囤积)
  8. 工业机器人几个自由度_工业机器人有多少个运动自由度呢?
  9. RocketMQ(九)—Queue分配算法
  10. 苹果宣布CEO乔布斯辞职 COO库克接任
  11. 文件夹里没有index.html,gatsby-cli建立后没有index.html文件吗?
  12. java实现k线图自动化_Python秒绘交互式股票K线图!这就是Python的优势!
  13. 软件项目管理的基本概念
  14. 创建Vue实例对象基础语法模板
  15. win10 账户密码忘记的解决办法
  16. 拼多多“出海”的三个考验?
  17. MySQL语句练习---由简入繁
  18. 实验三,基于Unittest框架的单元测试
  19. 无可比拟的视觉环绕感 电子竞技游戏显示器就该选这样的带鱼屏
  20. define _WINSOCK_DEPRECATED_NO_WARNINGS

热门文章

  1. ubuntu中clion更换cmake版本以及文本背景颜色
  2. some understanding of《Inferring Decision Trees Using the Minimum Description Length Principle*》
  3. sublime自定义主题-修改行号的颜色
  4. Provided path doesn't exist. pylama Please fix pylama path or install latest version(UBuntu版本下的情况)
  5. Uuntu16.04重装后u盘不识别问题解决
  6. 大话数据结构 队列10:数组循环队列
  7. C++自定义非极大值抑制(Canny边缘检测,亚像素方法)
  8. vhdl变量除法_VHDL语法总结以及编码风格(二)
  9. php 整数 比较,php中字符串和整数比较
  10. Spring MVC 参数自动绑定List的解决方案