EM算法应用:k均值聚类(k-means)和高斯混合模型(GMM)
文章目录
- 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∑kC(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=1nI(C(i)=l),I(C(i)=l)I(C(i)=l)I(C(i)=l)是指示函数,第i个样本属于类别lll时取1,否则取0。W© 衡量了相同类别的样本的相似程度。
k-means算法就是求出最佳的k,使得各个类别内的样本相似度尽可能的高:
C∗=argminCW(C)=argminC∑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∗=argCminW(C)=argCminl=1∑kC(i)=1∑∣∣xi−xˉl∣∣22
虽然上述目标函数的最优化可以达到聚类的目的,但是n个样本划分到k个类别,可能的划分方案的个数是指数级别的,难以求解。
为此,k均值聚类算法采用迭代的方式达到聚类的效果,每次迭代包含两个步骤:
- 随机生成或者选择k个样本作为聚类中心,将每个样本分配到最近的中心,得到一个聚类结果。
- 计算每个类内所有样本的均值,作为这个类别新的聚类中心。
- 重复1,2直到聚类结果不再发生变化。
迭代过程如下面的动图所示:
具体过程如下:
首先,对于给定的k个中心(m1,m2,...,mk)(m_1, m_2,...,m_k)(m1,m2,...,mk),求一个划分C,每个样本划分到一个类中,使得样本和所属类的中心之间的距离总和最小,即下面的式子极小化:
W(C)=minC∑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)=Cminl=1∑kC(i)=l∑∣∣xi−ml∣∣22
然后,对给定的划分C或者说在类中心确定的情况下,再求各个类的中心(m1,m2,...,mk)(m_1, m_2,...,m_k)(m1,m2,...,mk),使得各个样本到这个中心的距离之和最小,一般要求的这个中心就是各个类别内样本的均值。这个过程描述如下:
W(C)=minm1,...,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,...,mkminl=1∑kC(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=nl1C(i)=l∑xi,l=1,2,...k
重复上面的步骤,直到划分不再改变,就得到了聚类的结果。
特点
k均值聚类算法的总体特点:
- 是基于划分的聚类方法
- 类别k事先指定
- 以欧式距离平方作为距离的度量方式
- 以中心或者样本的均值表示类别
- 以样本和所属的类的中心的距离之和作为目标函数
- 算法是迭代算法,不能保证得到全局最优。
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πσk1exp(−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∣Σ∣1exp(−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∏Nk=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的产生方式:
- 依概率αk\alpha_kαk选择第kkk个高斯分布分模型ϕ(y∣θk)\phi(y|\theta_k)ϕ(y∣θk);
- 依第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∏NP(yj,γj1,γj2,…,γjK∣θ)k=1∏Kj=1∏N[αkϕ(yj∣θk)]γjkk=1∏Kαknkj=1∏N[ϕ(yj∣θk)]γjkk=1∏Kαknkj=1∏N[2πσk1exp(−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=1Knk=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πσk1exp(−2σk2(yj−μk)2)]γjk=ωk
则:
logP(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(nklogα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πσk1exp(−2σk2(yj−μk)2)]γjk=j=1∑Nγjk(log2π1−logσk−2σk2(yj−μk)2)
所以完全数据的对数似然函数为:
logP(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{nklogαk+j=1∑Nγjk[log(2π1)−logσk−2σ21(yj−μk)2]}
2、EM算法的E步:确定Q函数
下面的Q 函数是完全数据的对数似然函数logP(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[logP(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{nklogαk+j=1∑Nγjk[log(2π1)−logσk−2σ2(yj−μk)21]}}(1)k=1∑K{E{nklogαk+j=1∑Nγjk[log(2π1)−logσk−2σ2(yj−μk)21]}}(2)k=1∑K{E{j=1∑Nγjklogα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=1KP(γjk=1,yj∣θ)P(γjk=1,yj∣θ)=∑k=1KP(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)=argmaxθQ(θ,θ(i))\theta^{(i+1)}=\arg\max_\theta Q(\theta,\theta^{(i)}) θ(i+1)=argθmaxQ(θ,θ(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)相关推荐
- 非监督学习: K 均值聚类(原理、步骤、优缺点、调优)
支持向量机.逻辑回归.决策树等经典的机器学习算法主要用于分类问题,即根据一些己给定类别的样本, 训练某种分类器,使得它能够对类别未知的样本进行分类.与分类问题不同,聚类是在事先并不知道任何样本类别标签 ...
- 使用高斯混合模型(GMM)近似未知分布:EM算法的应用
该篇博客是对邱锡鹏老师<神经网络与深度学习>的学习笔记.在阅读本博文之前,建议读者先阅读上一篇博客EM算法. 高斯混合模型(Gaussian Mixture Model) 如果一个连续随机 ...
- 聚类之K均值聚类和EM算法
这篇博客整理K均值聚类的内容,包括: 1.K均值聚类的原理: 2.初始类中心的选择和类别数K的确定: 3.K均值聚类和EM算法.高斯混合模型的关系. 一.K均值聚类的原理 K均值聚类(K-means) ...
- k均值聚类算法(K Means)及其实战案例
算法说明 K均值聚类算法其实就是根据距离来看属性,近朱者赤近墨者黑.其中K表示要聚类的数量,就是说样本要被划分成几个类别.而均值则是因为需要求得每个类别的中心点,比如一维样本的中心点一般就是求这些样本 ...
- Udacity机器人软件工程师课程笔记(二十一) - 对点云进行集群可视化 - 聚类的分割 - K-means|K均值聚类, DBSCAN算法
聚类的分割 1.K-均值聚类 (1)K-均值聚类介绍 k均值聚类算法(k-means clustering algorithm)是一种迭代求解的聚类分析算法,其步骤是随机选取K个对象作为初始的聚类中心 ...
- K-Means(K均值聚类算法)
K-Means(K均值聚类算法) 1.前言 要学习聚类算法就要知道聚类学习算法是什么,为什么要学习聚类学习聚类学习算法,有什么用途,下面就简单的做一下介绍,并且详细的说明k-means均值聚类学习算法 ...
- k均值聚类算法python_K均值和其他聚类算法:Python快速入门
k均值聚类算法python This post was originally published here 这篇文章最初发表在这里 Clustering is the grouping of obje ...
- K-means(K均值聚类算法)算法笔记
K-means(K均值聚类算法)算法笔记 K-means 算法,是比较简单的无监督的算法,通过设定好初始的类别k,然后不断循环迭代,将给定的数据自动分为K个类别.事实上,大家都知道K-means是怎么 ...
- 【ML算法学习】核K均值聚类Kernel K-Means Clustering(KKMC)
核K均值聚类Kernel K-Means Clustering(KKMC) 1. 理论基础回顾 (1)核函数定义(统计学习方法定义7.6) 定义内容:假设有输入空间 X \mathcal{X} X( ...
最新文章
- 通过分离dataSource 让我们的code具有更高的复用性.
- 5张图搞懂Java深浅拷贝
- shell实现矩阵转置
- 走出迷茫和怀疑,迎接在神策冒险的新时代
- jQuery教程2---隐藏p标签内容-按钮
- 使用xjc一秒钟生成您的JAXB类
- python与tensorflow知识点截图集锦(持续囤积)
- 工业机器人几个自由度_工业机器人有多少个运动自由度呢?
- RocketMQ(九)—Queue分配算法
- 苹果宣布CEO乔布斯辞职 COO库克接任
- 文件夹里没有index.html,gatsby-cli建立后没有index.html文件吗?
- java实现k线图自动化_Python秒绘交互式股票K线图!这就是Python的优势!
- 软件项目管理的基本概念
- 创建Vue实例对象基础语法模板
- win10 账户密码忘记的解决办法
- 拼多多“出海”的三个考验?
- MySQL语句练习---由简入繁
- 实验三,基于Unittest框架的单元测试
- 无可比拟的视觉环绕感 电子竞技游戏显示器就该选这样的带鱼屏
- define _WINSOCK_DEPRECATED_NO_WARNINGS
热门文章
- ubuntu中clion更换cmake版本以及文本背景颜色
- some understanding of《Inferring Decision Trees Using the Minimum Description Length Principle*》
- sublime自定义主题-修改行号的颜色
- Provided path doesn't exist. pylama Please fix pylama path or install latest version(UBuntu版本下的情况)
- Uuntu16.04重装后u盘不识别问题解决
- 大话数据结构 队列10:数组循环队列
- C++自定义非极大值抑制(Canny边缘检测,亚像素方法)
- vhdl变量除法_VHDL语法总结以及编码风格(二)
- php 整数 比较,php中字符串和整数比较
- Spring MVC 参数自动绑定List的解决方案