混合高斯模型和em算法 高斯混合模型型是一个东西么

高斯分布(Gaussian distribution),是一个在数学、物理及工程等领域都非常重要的连续概率分布函数,它描述了一种围绕某个单值聚集分布的随机变量。生活中,各种各样的心理学测试分数和物理现象比如光子计数都被发现近似地服从高斯分布。同时,高斯分布也是统计学以及许多统计测试中最广泛应用的一类分布。中心极限定理表明,采样的均值近似服从高斯分布;还可以证明,高斯分布的信息熵在所有的已知均值及方差的连续分布中最大,这使得高斯分布成为一种均值以及方差已知的分布的自然选择。然而,直觉上可知高斯分布是一个单模态(只有一个最大值)的分布,不能对多模态的数据分布提供一个较好的近似(如图1所示)。
为了解决这个问题,人们提出了高斯混合模型(GMM),顾名思义,就是数据可以看作是从数个高斯分布中生成出来的。虽然我们可以用不同的分布来随意地构造 XX Mixture Model ,但是 GMM是 最为流行。另外,Mixture Model 本身其实也是可以变得任意复杂的,通过增加 Model 的个数,我们可以任意地逼近任何连续的概率密分布。
每个 GMM 由 K 个 Gaussian 分布组成,每个 Gaussian 称为一个“Component”,这些 Component 线性加成在一起就组成了 GMM 的概率密度函数:\[p(x) = \sum\limits_{k = 1}^K p(k)p(x|k) = \sum\limits_{k = 1}^K \pi _k\mathcal{N}(x|\mu_k,\Sigma_k)\tag {1}\]
根据上面的式子,如果我们要从 GMM 的分布中随机地取一个点的话,实际上可以分为两步:首先随机地在这 \(K\) 个 Component 之中选一个,每个 Component 被选中的概率实际上就是它的系数 \(\pi_k\),选中了 Component 之后,再单独地考虑从这个 Component 的分布中选取一个点就可以了──这里已经回到了普通的 Gaussian 分布,转化为了已知的问题。假设现在有 \(N\) 个数据点,我们认为这些数据点由某个GMM模型产生,现在我们要需要确定 \(\pi_k, \mu_k, \sigma_k\) 这些参数。很自然的,我们想到利用最大似然估计来确定这些参数,GMM的似然函数如下:\[\log \prod \limits_{i = 1}^Np(x_i) = \sum\limits_{i = 1}^N \log p(x_i)=\sum\limits_{i = 1}^N\log\sum\limits_{k = 1}^K \pi _k\mathcal{N}(x_i|\mu_k, \Sigma_k)\tag{2}\]
由于在对数函数里面又有加和,我们没法直接用求导解方程的办法直接求得最大值。为了解决这个问题,我们利用EM算法,分布迭代的求得最大值,并获得取得最大值时各个参数的值。具体可分为以下几步:
初始化参数 \(\pi_k, \mu_k, \Sigma_k\),一种流行的做法是先通过K-means算法对数据点进行聚类,根据聚类结果选取参数的初始值。
E step:估计数据由每个 Component 生成的概率(并不是每个 Component 被选中的概率):对于每个数据 \(x_i\) 来说,它由第 \(k\) 个 Component 生成的概率为\[\gamma (i,k) = \frac{\pi _k\mathcal{N}(x_i|\mu_k, \Sigma_k)}{\sum\limits_{j = 1}^K \pi _j\mathcal{N}(x_i|\mu_j, \Sigma_j)}\tag{3}\]然而,由于式子里的 \(\pi_k\)、\(\mu_k\)、\(\Sigma_k\) 正是需要我们估计的参数,我们采用迭代法,即取上一次迭代所得的值(或者初始值)。
M step:对式 (3) 进行求导,求出最大似然所对应的参数值:\[\mu_k=\frac{1}{N_k}\sum\limits_{i=1}^N \gamma(i,k)x_i\tag{4}\] \[\Sigma_k=\frac{1}{N_k}\sum\limits_{i=1}^N\gamma(i,k)(x_i-\mu_k)(x_i- \mu_k)^T\tag{5}\]其中 \(N_k=\sum\limits_{i=1}^N\gamma(i,k)\)。根据条件可知,参数 \(\pi_k\) 满足 \(\sum\limits_{k=1}^K=1\),因此我们在GMM的似然函数中加入拉格朗日乘子 \(\log \prod\limits _{i = 1}^Np(x_i)+\lambda(\sum\limits_{k=1}^K-1)\),求得该式取得最大值时 \(\pi_k\) 对应的值\[\pi_k=\frac{N_k}{N}\tag{6}\]
计算似然函数的值(式(2)),检查似然函数是否收敛。若收敛了,说明似然函数已经取得最大值,此时参数对应的值即为各参数的最大似然估计。否则,则迭代进行E step,M step。
以上步骤的Matlab代码(来自
function varargout = gmm(X, K_or_centroids)% ============================================================% Expectation-Maximization iteration implementation of% Gaussian Mixture Model.%% PX = GMM(X, K_OR_CENTROIDS)% [PX MODEL] = GMM(X, K_OR_CENTROIDS)%%
- X: N-by-D data matrix.%
- K_OR_CENTROIDS: either K indicating the number of%
components or a K-by-D matrix indicating the%
choosing of the initial K centroids.%%
- PX: N-by-K matrix indicating the probability of each%
component generating each point.%
- MODEL: a structure containing the parameters for a GMM:%
MODEL.Miu: a K-by-D matrix.%
MODEL.Sigma: a D-by-D-by-K matrix.%
MODEL.Pi: a 1-by-K vector.% ============================================================&
threshold = 1e-15;
[N, D] = size(X);&
if isscalar(K_or_centroids)
% randomly pick centroids
rndp = randperm(N);
centroids = X(rndp(1:K), :);
K = size(K_or_centroids, 1);
centroids = K_or_
% initial values
[pMiu pPi pSigma] = init_params();&
Lprev = -inf;
while true
Px = calc_prob();&
% new value for pGamma
pGamma = Px .* repmat(pPi, N, 1);
pGamma = pGamma ./ repmat(sum(pGamma, 2), 1, K);&
% new value for parameters of each Component
Nk = sum(pGamma, 1);
pMiu = diag(1./Nk) * pGamma' * X;
pPi = Nk/N;
for kk = 1:K
Xshift = X-repmat(pMiu(kk, :), N, 1);
pSigma(:, :, kk) = (Xshift' * ...
(diag(pGamma(:, kk)) * Xshift)) / Nk(kk);
% check for convergence
L = sum(log(Px*pPi'));
if L-Lprev & threshold
Lprev = L;
if nargout == 1
varargout = {Px};
model = [];
model.Miu = pM
model.Sigma = pS
model.Pi = pPi;
varargout = {Px, model};
function [pMiu pPi pSigma] = init_params()
pPi = zeros(1, K);
pSigma = zeros(D, D, K);&
% hard assign x to each centroids
distmat = repmat(sum(X.*X, 2), 1, K) + ...
repmat(sum(pMiu.*pMiu, 2)', N, 1) - ...
2*X*pMiu';
[dummy labels] = min(distmat, [], 2);&
Xk = X(labels == k, :);
pPi(k) = size(Xk, 1)/N;
pSigma(:, :, k) = cov(Xk);
function Px = calc_prob()
Px = zeros(N, K);
for k = 1:K
Xshift = X-repmat(pMiu(k, :), N, 1);
inv_pSigma = inv(pSigma(:, :, k));
tmp = sum((Xshift*inv_pSigma) .* Xshift, 2);
coef = (2*pi)^(-D/2) * sqrt(det(inv_pSigma));
Px(:, k) = coef * exp(-0.5*tmp);
利用GMM,我们可以实现GMM的聚类算法。即假设数据来自GMM,在聚类时,根据 \(\pi_k, \mu_k, \Sigma_k\) 求出数据点 \(x_i\) 属于每个Component的概率,取对应概率最大的Component为 \(x_i\) 所属的cluster。
参考资料:
本文转载自:
欢迎加入我爱机器学习QQ14群:
微信扫一扫,关注我爱机器学习公众号
欢迎加入我爱机器学习QQ14群:
最新文章列表
NIPS 2016 — Day 1 Highlights NIPS 2016 — Day 2 Highlights:...
2018年二月 &(2)
2018年一月 &(21)
2017年十二月 &(19)
2017年十一月 &(20)
2017年十月 &(31)
2017年九月 &(47)
2017年八月 &(58)
2017年七月 &(60)
2017年六月 &(67)
2017年五月 &(66)
2017年四月 &(65)
2017年三月 &(54)
2017年二月 &(48)
2017年一月 &(54)
2016年十二月 &(62)
2016年十一月 &(97)
2016年十月 &(97)
2016年九月 &(124)
2016年八月 &(83)
2016年七月 &(13)
2016年六月 &(10)
2016年五月 &(7)
2016年四月 &(9)
2016年三月 &(7)
2016年二月 &(2)
2016年一月 &(3)
2015年十二月 &(5)
2015年十一月 &(4)
2015年十月 &(2)
2015年九月 &(2)
2015年八月 &(3)
2015年七月 &(6)
2015年六月 &(8)
2015年五月 &(4)
2015年四月 &(1)
2015年三月 &(3)
2015年二月 &(1)
2015年一月 &(2)
2014年十二月 &(4)
2014年十一月 &(2)
2014年十月 &(3)
2014年九月 &(4)
2014年八月 &(22)
2014年七月 &(40)
2014年六月 &(61)
2014年五月 &(63)
2014年四月 &(187)
2014年三月 &(4798)
2014年二月 &(764)
2014年一月 &(330)
2013年十二月 &(145)
2013年十一月 &(126)
2013年十月 &(216)
2013年九月 &(284)
2013年八月 &(327)
2013年七月 &(275)
2013年六月 &(315)
2013年五月 &(228)
2013年四月 &(175)
2013年三月 &(186)
2013年二月 &(118)
2013年一月 &(210)
2012年十二月 &(221)
2012年十一月 &(155)
2012年十月 &(143)
2012年九月 &(98)
2012年八月 &(99)
2012年七月 &(109)
2012年六月 &(75)
2012年五月 &(88)
2012年四月 &(78)
2012年三月 &(78)
2012年二月 &(50)
2012年一月 &(17)
2011年十二月 &(27)
2011年十一月 &(6)
2011年十月 &(11)
2011年九月 &(13)
2011年八月 &(13)
2011年七月 &(19)
2011年六月 &(18)
2011年五月 &(6)
2011年四月 &(12)
2011年三月 &(15)
2011年二月 &(6)
2011年一月 &(9)
2010年十二月 &(6)
2010年十一月 &(11)
2010年十月 &(5)
2010年九月 &(8)
2010年八月 &(5)
2010年七月 &(12)
2010年六月 &(4)
2010年五月 &(7)
2010年四月 &(6)
2010年三月 &(12)
2010年二月 &(7)
2010年一月 &(2)
2009年十二月 &(5)
2009年十一月 &(16)
2009年十月 &(6)
2009年九月 &(7)
2009年八月 &(7)
2009年七月 &(5)
2009年六月 &(6)
2009年五月 &(6)
2009年四月 &(4)
2009年三月 &(7)
2009年二月 &(6)
2009年一月 &(1)
2008年十二月 &(4)
2008年十一月 &(5)
2008年十月 &(1)
2008年八月 &(1)
2008年七月 &(3)
2008年六月 &(3)
2008年五月 &(3)
2008年三月 &(1)
2007年十二月 &(1)
2007年十月 &(1)
2007年八月 &(4)
2007年七月 &(1)您正在使用IE低版浏览器,为了您的雷锋网账号安全和更好的产品体验,强烈建议使用更快更安全的浏览器
发私信给AI研习社
导语:详解高斯混合模型。
同步到新浪微博
聚焦数据科学,连接AI开发者。
当月热门文章
为了您的账户安全,请
您的邮箱还未验证,完成可获20积分哟!
您的账号已经绑定,现在您可以以方便用邮箱登录
请填写申请人资料什么是高斯混合模型?
什么是高斯混合模型?
09-03-18 &
t = 0:.1:10; x = sawtooth(t); % Create sawtooth signal. y = awgn(x,10,'measured'); % Add white Gaussian noise. plot(t,x,t,y) % Plot both signals. legend('Original signal','Signal with AWGN');
请登录后再发表评论!
哇,好冷清,下次给点悬赏分,我给你找人?~ 有啊,可以认为 ,有这说法啊
请登录后再发表评论!
高斯分布,也称正态分布,又称常态分布。对于随机变量X,其概率密度函数如图所示。称其分布为高斯分布或正态分布,记为N(μ,σ2),其中为分布的参数,分别为高斯分布的期望和方差。当有确定值时,p(x)也就确定了,特别当μ=0,σ2=1时,X的分布为标准正态分布。μ正态分布最早由棣莫佛于1730年在求二项分布的渐近公式时得到;后拉普拉斯于1812年研究极限定理时也被引入;高斯(Gauss)则于1809年在研究误差理论时也导出了它。高斯分布的函数图象是一条位于x轴上方呈钟形的曲线,称为高斯分布曲线,简称高斯曲线
请登录后再发表评论!
高斯分布的函数图象是一条位于x轴上方呈钟形的曲线,称为高斯分布曲线,简称高斯曲线
请登录后再发表评论!
就是单个高斯模型加权求和,组成的混合高斯模型
请登录后再发表评论!
所谓声纹(Voiceprint),是用电声学仪器显示的携带言语信息的声波频谱。  人类语言的产生是人体语言中枢与发音器官之间一个复杂的生理物理过程,人在讲话时使用的发声器官--舌、牙齿、喉头、肺、鼻腔在尺寸和形态方面每个人的差异很大,所以任何两个人的声纹图谱都有差异。每个人的语音声学特征既有相对稳定性,又有变异性,不是绝对的、一成不变的。这种变异可来自生理、病理、心理、模拟、伪装,也与环境干扰有关。尽管如此,由于每个人的发音器官都不尽相同,因此在一般情况下,人们仍能区别不同的人的声音或判断是否是同一人的声音。  声纹识别及其应用  声纹识别的应用有一些缺点,比如同一个人的声音具有易变性,易受身体状况、年龄、情绪等的影响;比如不同的麦克风和信道对识别性能有影响;比如环境噪音对识别有干扰;又比如混合说话人的情形下人的声纹特征不易提取;……等等。尽管如此,与其他生物特征相比,声纹识别的应用有一些特殊的优势:(1)蕴含声纹特征的语音获取方便、自然,声纹提取可在不知不觉中完成,因此使用者的接受程度也高;(2)获取语音的识别成本低廉,使用简单,一个麦克风即可,在使用通讯设备时更无需额外的录音设备;(3)适合远程身份确认,只需要一个麦克风或电话、手机就可以通过网路(通讯网络或互联网络)实现远程登录;(4)声纹辨认和确认的算法复杂度低;(5)配合一些其他措施,如通过语音识别进行内容鉴别等,可以提高准确率;……等等。这些优势使得声纹识别的应用越来越收到系统开发者和用户青睐,声纹识别的世界市场占有率15.8%,仅次于手指和手的生物特征识别,并有不断上升的趋势。  1。声纹识别的分类  声纹识别(Voiceprint Recognition, VPR),也称为说话人识别(Speaker Recognition),有两类,即说话人辨认(Speaker Identification)和说话人确认(Speaker Verification)。前者用以判断某段语音是若干人中的哪一个所说的,是“多选一”问题;而后者用以确认某段语音是否是指定的某个人所说的,是“一对一判别”问题。不同的任务和应用会使用不同的声纹识别技术,如缩小刑侦范围时可能需要辨认技术,而银行交易时则需要确认技术。不管是辨认还是确认,都需要先对说话人的声纹进行建模,这就是所谓的“训练”或“学习”过程。  从另一方面,声纹识别有文本相关的(Text-Dependent)和文本无关的(Text-Independent)两种。与文本有关的声纹识别系统要求用户按照规定的内容发音,每个人的声纹模型逐个被精确地建立,而识别时也必须按规定的内容发音,因此可以达到较好的识别效果,但系统需要用户配合,如果用户的发音与规定的内容不符合,则无法正确识别该用户。而与文本无关的识别系统则不规定说话人的发音内容,模型建立相对困难,但用户使用方便,可应用范围较宽。根据特定的任务和应用,两种是有不同的应用范围的。比如,在银行交易时可以使用文本相关的声纹识别,因为用户自己进行交易时是愿意配合的;而在刑侦或侦听应用中则无法使用文本相关的声纹识别,因为你无法要求犯罪嫌疑人或被侦听的人配合。  在说话人辨认方面,根据待识别的说话人是否在注册的说话人集合内,说话人辨认可以分为开集(open-set)辨认和闭集(close-set)辨认。前者假定待识别说话人可以在集合外,而后者假定待识别说话人在集合内。显然,开集辨认需要有一个对集外说话人的“拒识问题”,而且闭集辨认的结果要好于开集辨认结果。本质上讲,说话人确认和开集说话人辨认都需要用到拒识技术,为了达到很好的拒识效果,通常需要训练一个假冒者模型或背景模型,以便拒识时有可资比较的对象,阈值容易选定。而建立背景模型的好坏直接影响到拒识甚至声纹识别的性能。一个好的背景模型,往往需要通过预先采集好的若干说话人的数据,通过某种算法去建立。  如果技术达到一定的水平,可以把文本相关识别并入文本无关识别,把闭集辨认并入开集辨认,从而提供更为方便的使用方法。比如北京得意音通技术有限公司的“得意”身份证就是文本无关的、开集方式的说话人辨认和确认,“得意”身份证SDK还提供建立背景模型的工具。  2。声纹识别的关键问题  声纹识别可以说有两个关键问题,一是特征提取,二是模式匹配(模式识别)。  特征提取的任务是提取并选择对说话人的声纹具有可分性强、稳定性高等特性的声学或语言特征。与语音识别不同,声纹识别的特征必须是“个性化”特征,而说话人识别的特征对说话人来讲必须是“共性特征”。虽然目前大部分声纹识别系统用的都是声学层面的特征,但是表征一个人特点的特征应该是多层面的,包括:(1)与人类的发音机制的解剖学结构有关的声学特征(如频谱、倒频谱、共振峰、基音、反射系数等等)、鼻音、带深呼吸音、沙哑音、笑声等;(2)受社会经济状况、受教育水平、出生地等影响的语义、修辞、发音、言语习惯等;(3)个人特点或受父母影响的韵律、节奏、速度、语调、音量等特征。从利用数学方法可以建模的角度出发,声纹自动识别模型目前可以使用的特征包括:(1)声学特征(倒频谱);(2)词法特征(说话人相关的词n-gram,音素n-gram);(3)韵律特征(利用n-gram描述的基音和能量“姿势”);(4)语种、方言和口音信息;(5)通道信息(使用何种通道);等等。  根据不同的任务需求,声纹识别还面临一个特征选择或特征选用的问题。例如,对“信道”信息,在刑侦应用上,希望不用,也就是说希望弱化信道对说话人识别的影响,因为我们希望不管说话人用什么信道系统它都可以辨认出来;而在银行交易上,希望用信道信息,即希望信道对说话人识别有较大影响,从而可以剔除录音、模仿等带来的影响。  总之,较好的特征,应该能够有效地区分不同的说话人,但又能在同一说话人语音发生变化时保持相对的稳定;不易被他人模仿或能够较好地解决被他人模仿问题;具有较好的抗噪性能;……。当然,这些问题也可以通过模型方法去解决。  对于模式识别,有以下几大类方法:  (1)模板匹配方法:利用动态时间弯折(DTW)以对准训练和测试特征序列,主要用于固定词组的应用(通常为文本相关任务);  (2)最近邻方法:训练时保留所有特征矢量,识别时对每个矢量都找到训练矢量中最近的K个,据此进行识别,通常模型存储和相似计算的量都很大;  (3)神经网络方法:有很多种形式,如多层感知、径向基函数(RBF)等,可以显式训练以区分说话人和其背景说话人,其训练量很大,且模型的可推广性不好;  (4)隐式马尔可夫模型(HMM)方法:通常使用单状态的HMM,或高斯混合模型(GMM),是比较流行的方法,效果比较好;  (5)VQ聚类方法(如LBG):效果比较好,算法复杂度也不高,和HMM方法配合起来更可以收到更好的效果;  (6)多项式分类器方法:有较高的精度,但模型存储和计算量都比较大;  (7)……  声纹识别需要解决的关键问题还有很多,诸如:短话音问题,能否用很短的语音进行模型训练,而且用很短的时间进行识别,这主要是声音不易获取的应用所需求的;声音模仿(或放录音)问题,要有效地区分开模仿声音(录音)和真正的声音;多说话人情况下目标说话人的有效检出;消除或减弱声音变化(不同语言、内容、方式、身体状况、时间、年龄等)带来的影响;消除信道差异和背景噪音带来的影响;……此时需要用到其他一些技术来辅助完成,如去噪、自适应等技术。  对说话人确认,还面临一个两难选择问题。通常,表征说话人确认系统性能的两个重要参数是错误拒绝率和错误接受率,前者是拒绝真正说话人而造成的错误,后者是接受集外说话人而造成的错误,二者与阈值的设定相关。在现有的技术水平下,两者无法同时达到最小,需要调整阈值来满足不同应用的需求,比如在需要“易用性”的情况下,可以让错误拒绝率低一些,此时错误接受率会增加,从而安全性降低;在对“安全性”要求高的情况下,可以让错误接受率低一些,此时错误拒绝率会增加,从而易用性降低。前者可以概括为“宁错勿漏”,而后者可以“宁漏勿错”。我们把真正阈值的调整称为“操作点”调整。好的系统应该允许对操作点的自由调整。  3。声纹识别的应用  声纹识别可以应用的范围很宽,可以说声纹识别几乎可以应用到人们日常生活的各个角落。比如下面举几个例子。  (1)信息领域。比如在自动总机系统中,把“得意”身份证之声纹辨认(a href=&.d-ear/Technologies&Products/Products-d-Ear%20ID_ch.htm& target=&_blank&.d-ear/Technologies&Products/Products-d-Ear%20ID_ch.htm/a)和“得意”关键词检出器(a href=&.d-ear/Technologies&Products/Products-d-Ear%20Word-Spotter_ch& target=&_blank&.d-ear/Technologies&Products/Products-d-Ear%20Word-Spotter_ch/a)结合起来,可以在姓名自动拨号的同时向受话方提供主叫方的身份信息。前者用于身份认证,后者用于内容认证。同样,声纹识别技术可以在呼叫中心(Call Center)应用中为注册的常客户提供友好的个性化服务。  (2)银行、证券。鉴于密码的安全性不高,可以用声纹识别技术对电话银行、远程炒股等业务中的用户身份进行确认,为了提供安全性,还可以采取一些其他措施,如密码和声纹双保险,如随机提示文本用文本相关的声纹识别技术进行身份确认(随机提示文本保证无法用事先录好的音去假冒),甚至可以把交易时的声音录下来以备查询。  (3)公安司法。对于各种电话勒索、绑架、电话人身攻击等案件,声纹辨认技术可以在一段录音中查找出嫌疑人或缩小侦察范围;声纹确认技术还可以在法庭上提供身份确认的旁证。  (4)军队和国防。声纹辨认技术可以察觉电话交谈过程中是否有关键说话人出现,继而对交谈的内容进行跟踪(战场环境监听);在通过电话发出军事指令时,可以对发出命令的人的身份进行确认(敌我指战员鉴别)。目前该技术在国外军事方面已经有所应用,据报道,迫降在我国海南机场的美军EP-3侦察机中就载有类似的声纹识别侦听模块。  (5)保安和证件防伪。如机密场所的门禁系统。又如声纹识别确认可用于信用卡、银行自动取款机、门、车的钥匙卡、授权使用的电脑、声纹锁以及特殊通道口的身份卡,把声纹存在卡上,在需要时,持卡者只要将卡插入专用机的插口上,通过一个传声器读出事先已储存的暗码,同时仪器接收持卡者发出的声音,然后进行分析比较,从而完成身份确认。同样可以把含有某人声纹特征的芯片嵌入到证件之中,通过上面所述的过程完成证件防伪。
请登录后再发表评论!他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)高斯混合模型(GMM)的两种详解及简化10 days ago如果有需要了解作者自学的心塞路程,可参考第一篇文章,希望在路上的小伙伴们可以越来越棒,入门的小伙伴能够坚持下去,我不劝退或劝进。作者即将开启躺尸休息模式,快累死了。最后唠叨一句光收藏不点赞的都是耍流氓。29收藏分享举报{&debug&:false,&apiRoot&:&&,&paySDK&:&https:\u002F\u002Fpay.zhihu.com\u002Fapi\u002Fjs&,&wechatConfigAPI&:&\u002Fapi\u002Fwechat\u002Fjssdkconfig&,&name&:&production&,&instance&:&column&,&tokens&:{&X-XSRF-TOKEN&:null,&X-UDID&:null,&Authorization&:&oauth c3cef7c66aa9e6a1e3160e20&}}{&database&:{&Post&:{&&:{&isPending&:false,&contributes&:[],&title&:&高斯混合模型(GMM)的两种详解及简化&,&author&:&leilei-1996&,&content&:&\u003Cp\u003E\u003Cb\u003E1.引(fei)言(hua)\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E最近在准备考试的过程对GMM模型理解更清楚了一点,不像以前直接背结果了,虽然这部分内容考试不考,但是我还是花了大量的时间在这方面。所以在昨天考完试后打算写点东西分享一下理解,希望能帮助这一块正在入门的学习者。同时也是对之前 \u003Ca class=\&member_mention\& href=\&http:\u002F\u002Fwww.zhihu.com\u002Fpeople\u002F00c3de8b2912a\& data-hash=\&00c3de8b2912a\& data-hovercard=\&p$b$00c3de8b2912a\&\u003E@张馨宇\u003C\u002Fa\u003E 老哥在我第一篇文章下面的留言做一次反馈,这次整理了一条\u003Cb\u003E概率密度参数估计\u003C\u002Fb\u003E的线,感谢您能继续提出宝贵的意见。\u003C\u002Fp\u003E\u003Cp\u003E我知道网上有很多关于GMM的博客,举的例子也多以男女比例为主,我当时自己也参考学习过,最后也只是自己有个印象,记个结果罢了。这篇文章我不会像自己写的第一篇文章一样,只谈理解,我也不举例子了,直接自己推导公式入手理解,所以接下来\u003Cb\u003E长文多公式预警\u003C\u002Fb\u003E,请做好心理准备。(以\u003Cb\u003E概率论\u003C\u002Fb\u003E做推导理解,\u003Cb\u003E矩阵论\u003C\u002Fb\u003E做求导分析)\u003C\u002Fp\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E2.铺垫\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E先来写写\u003Cb\u003E多元高斯模型的最大似然估计\u003C\u002Fb\u003E,给定 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Cmu%2C%5CSigma\& alt=\&\\mu,\\Sigma\& eeimg=\&1\&\u003E 的情况的高斯模型的概率密度函数为\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=p%28x%7C%5Cmu%2C%5CSigma%29%3D%5Cfrac%7B1%7D%7B%282%5Cpi%29%5E%5Cfrac%7Bd%7D%7B2%7D%5Cleft%7C+x+%5Cright%7C%5E%7B%5Cfrac%7B1%7D%7B2%7D%7D%7Dexp%28-%5Cfrac%7B1%7D%7B2%7D%28x-%5Cmu%29%5ET%5CSigma%5E%7B-1%7D%28x-%5Cmu%29%29\& alt=\&p(x|\\mu,\\Sigma)=\\frac{1}{(2\\pi)^\\frac{d}{2}\\left| x \\right|^{\\frac{1}{2}}}exp(-\\frac{1}{2}(x-\\mu)^T\\Sigma^{-1}(x-\\mu))\& eeimg=\&1\&\u003E \u003C\u002Fp\u003E\u003Cp\u003E数据集 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=D%3D%5Cleft%5B+x_1%2Cx_2%2C...%2Cx_n+%5Cright%5D\& alt=\&D=\\left[ x_1,x_2,...,x_n \\right]\& eeimg=\&1\&\u003E ,(假设i.i.d,做最大似然估计)取log-likelihood\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Cbegin%7Baligned%7Dl%28%5Cmu%2C%5CSigma%29+%26+%3Dln%5Cprod_%7Bi%3D1%7D%5E%7Bn%7Dp%28x_n%7C%5Cmu%2C%5CSigma%29+%5C%5C+%26+%3D%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7Bln%28p%28x_n%7C%5Cmu%2C%5CSigma%29%29%7D%5C%5C+%26+%3D%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7B%28-%5Cfrac%7Bd%7D%7B2%7Dln%282%5Cpi%29-%5Cfrac%7B1%7D%7B2%7Dln%5Cleft%7C%5CSigma%5Cright%7C-%5Cfrac%7B1%7D%7B2%7D%28x-%5Cmu%29%5ET%5CSigma%5E%7B-1%7D%28x-%5Cmu%29%29%7D%5Cend%7Baligned%7D\& alt=\&\\begin{aligned}l(\\mu,\\Sigma) & =ln\\prod_{i=1}^{n}p(x_n|\\mu,\\Sigma) \\\\ & =\\sum_{i=1}^{n}{ln(p(x_n|\\mu,\\Sigma))}\\\\ & =\\sum_{i=1}^{n}{(-\\frac{d}{2}ln(2\\pi)-\\frac{1}{2}ln\\left|\\Sigma\\right|-\\frac{1}{2}(x-\\mu)^T\\Sigma^{-1}(x-\\mu))}\\end{aligned}\& eeimg=\&1\&\u003E \u003C\u002Fp\u003E\u003Cp\u003E接下来就是 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=max%28l%28%5Cmu%2C%5CSigma%29%29\& alt=\&max(l(\\mu,\\Sigma))\& eeimg=\&1\&\u003E 对 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Cmu\& alt=\&\\mu\& eeimg=\&1\&\u003E 和 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5CSigma\& alt=\&\\Sigma\& eeimg=\&1\&\u003E 分别求导,这一部分,一般课本上都是直接给出了结果,\u003Cb\u003E在这我给写出详细的推导过程,有矩阵论基础的应该可以看懂,不懂也没关系,就像我最开始的学习一样就是记住结果,仔细观察一下形式还是蛮容易记的\u003C\u002Fb\u003E。\u003C\u002Fp\u003E\u003Cp\u003E以单样本形式对 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Cmu\& alt=\&\\mu\& eeimg=\&1\&\u003E 求微分:\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Cbegin%7Baligned%7D+d%28tr%28%5Chat+l%28%5Cmu%2C%5CSigma%29%29+%26+%3Dd%28tr%28-%5Cfrac%7B1%7D%7B2%7D%28x%5ET%5CSigma%5E%7B-1%7Dx-x%5ET%5CSigma%5E%7B-1%7D%5Cmu-%5Cmu%5ET%5CSigma%5E%7B-1%7Dx%2B%5Cmu%5ET%5CSigma%5E%7B-1%7D%5Cmu%29%29%5C%5C+%26+%3Dtr%28-%5Cfrac%7B1%7D%7B2%7D%28-x%5ET%5CSigma%5E%7B-1%7Dd%5Cmu-d%5Cmu%5ET%5CSigma%5E%7B-1%7Dx%2Bd%5Cmu%5ET%5CSigma%5E%7B-1%7D%5Cmu%2B%5Cmu%5ET%5CSigma%5E%7B-1%7Dd%5Cmu%29%29%5C%5C+%26+%3Dtr%28-%5Cfrac%7B1%7D%7B2%7D%28-x%5ET%5CSigma%5E%7B-1%7D-x%5ET%5CSigma%5E%7B-1%7D%2B%5Cmu%5ET%5CSigma%5E%7B-1%7D%2B%5Cmu%5ET%5CSigma%5E%7B-1%7D%29d%5Cmu%29%5C%5C+%26+%3Dtr%28%28x%5ET%5CSigma%5E%7B-1%7D-%5Cmu%5ET%5CSigma%5E%7B-1%7D%29d%5Cmu%29+%5Cend%7Baligned%7D\& alt=\&\\begin{aligned} d(tr(\\hat l(\\mu,\\Sigma)) & =d(tr(-\\frac{1}{2}(x^T\\Sigma^{-1}x-x^T\\Sigma^{-1}\\mu-\\mu^T\\Sigma^{-1}x+\\mu^T\\Sigma^{-1}\\mu))\\\\ & =tr(-\\frac{1}{2}(-x^T\\Sigma^{-1}d\\mu-d\\mu^T\\Sigma^{-1}x+d\\mu^T\\Sigma^{-1}\\mu+\\mu^T\\Sigma^{-1}d\\mu))\\\\ & =tr(-\\frac{1}{2}(-x^T\\Sigma^{-1}-x^T\\Sigma^{-1}+\\mu^T\\Sigma^{-1}+\\mu^T\\Sigma^{-1})d\\mu)\\\\ & =tr((x^T\\Sigma^{-1}-\\mu^T\\Sigma^{-1})d\\mu) \\end{aligned}\& eeimg=\&1\&\u003E \u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Cfrac%7Bd%5Chat+l%28%5Cmu%2C%5CSigma%29%7D%7Bd%5Cmu%7D%3D%5Cfrac%7Bdtr%28%5Chat+l%28%5Cmu%2C%5CSigma%29%29%7D%7Bd%5Cmu%7D%3D%5CSigma%5E%7B-1%7Dx-%5CSigma%5E%7B-1%7D%5Cmu\& alt=\&\\frac{d\\hat l(\\mu,\\Sigma)}{d\\mu}=\\frac{dtr(\\hat l(\\mu,\\Sigma))}{d\\mu}=\\Sigma^{-1}x-\\Sigma^{-1}\\mu\& eeimg=\&1\&\u003E \u003C\u002Fp\u003E\u003Cp\u003E由\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7B%5CSigma%5E%7B-1%7D%28x_i-%5Chat%5Cmu%29%3D0%7D\& alt=\&\\sum_{i=1}^{n}{\\Sigma^{-1}(x_i-\\hat\\mu)=0}\& eeimg=\&1\&\u003E 可以推出 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Chat%5Cmu%3D%5Cfrac%7B1%7D%7Bn%7D%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7Bx_i%7D\& alt=\&\\hat\\mu=\\frac{1}{n}\\sum_{i=1}^{n}{x_i}\& eeimg=\&1\&\u003E \u003C\u002Fp\u003E\u003Cp\u003E同理以单样本形式对 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5CSigma\& alt=\&\\Sigma\& eeimg=\&1\&\u003E 求微分:\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Cbegin%7Baligned%7D+d%28tr%28%5Chat+l%28%5Cmu%2C%5CSigma%29%29+%26+%3D-%5Cfrac%7B1%7D%7B2%7D%28tr%28%5Cfrac%7B1%7D%7B%5Cleft%7C%5CSigma%5Cright%7C%7D%5Cleft%7C%5CSigma%5Cright%7C%5CSigma%5E%7B-1%7Dd%5CSigma%29%2Bdtr%28%28x-%5Cmu%29%28x-%5Cmu%29%5ET%5CSigma%5E%7B-1%7D%29%5C%5C+%26+%3D-%5Cfrac%7B1%7D%7B2%7Dtr%28%5CSigma%5E%7B-1%7Dd%5CSigma-%5CSigma%5E%7B-1%7D%28x-%5Cmu%29%28x-%5Cmu%29%5ET%5CSigma%5E%7B-1%7Dd%5CSigma%29+%5Cend%7Baligned%7D\& alt=\&\\begin{aligned} d(tr(\\hat l(\\mu,\\Sigma)) & =-\\frac{1}{2}(tr(\\frac{1}{\\left|\\Sigma\\right|}\\left|\\Sigma\\right|\\Sigma^{-1}d\\Sigma)+dtr((x-\\mu)(x-\\mu)^T\\Sigma^{-1})\\\\ & =-\\frac{1}{2}tr(\\Sigma^{-1}d\\Sigma-\\Sigma^{-1}(x-\\mu)(x-\\mu)^T\\Sigma^{-1}d\\Sigma) \\end{aligned}\& eeimg=\&1\&\u003E \u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Cbegin%7Baligned%7D+%5Cfrac%7Bdtr%28%5Chat+l%28%5Cmu%2C%5CSigma%29%29%7D%7Bd%5CSigma%7D%3D-%5Cfrac%7B1%7D%7B2%7D%28%5CSigma%5E%7B-1%7D-%5CSigma%5E%7B-1%7D%28x-%5Cmu%29%28x-%5Cmu%29%5ET%5CSigma%5E%7B-1%7D%29+%5Cend%7Baligned%7D\& alt=\&\\begin{aligned} \\frac{dtr(\\hat l(\\mu,\\Sigma))}{d\\Sigma}=-\\frac{1}{2}(\\Sigma^{-1}-\\Sigma^{-1}(x-\\mu)(x-\\mu)^T\\Sigma^{-1}) \\end{aligned}\& eeimg=\&1\&\u003E \u003C\u002Fp\u003E\u003Cp\u003E求导为0,两边同时左乘右乘一个 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5CSigma\& alt=\&\\Sigma\& eeimg=\&1\&\u003E 可以化简为\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7B%28%5Chat%5CSigma-%28x_i-%5Chat%5Cmu%29%28x_i-%5Chat%5Cmu%29%5ET%29%3D0%7D\& alt=\&\\sum_{i=1}^{n}{(\\hat\\Sigma-(x_i-\\hat\\mu)(x_i-\\hat\\mu)^T)=0}\& eeimg=\&1\&\u003E 可以推出 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Chat%5CSigma%3D%5Cfrac%7B1%7D%7Bn%7D%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7B%28x_i-%5Chat%5Cmu%29%28x_i-%5Chat%5Cmu%29%5ET%7D\& alt=\&\\hat\\Sigma=\\frac{1}{n}\\sum_{i=1}^{n}{(x_i-\\hat\\mu)(x_i-\\hat\\mu)^T}\& eeimg=\&1\&\u003E \u003C\u002Fp\u003E\u003Cp\u003E到此高斯分布的 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Cmu%2C%5CSigma\& alt=\&\\mu,\\Sigma\& eeimg=\&1\&\u003E 都根据数据集合 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=D\& alt=\&D\& eeimg=\&1\&\u003E 可以估计出来了,下面进入正题。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E3.EM解析法\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E高斯混合模型的形式如下:\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=p%28x%7C%5Ctheta%29%3D%5Csum_%7Bj%3D1%7D%5E%7Bc%7D%7Bp%28x%7C%5Comega_j%2C%5Ctheta_j%29P%28%5Comega_j%29%7D\& alt=\&p(x|\\theta)=\\sum_{j=1}^{c}{p(x|\\omega_j,\\theta_j)P(\\omega_j)}\& eeimg=\&1\&\u003E 每个 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=p%28x%7C%5Comega_j%2C%5Ctheta_j%29\& alt=\&p(x|\\omega_j,\\theta_j)\& eeimg=\&1\&\u003E 都是一个高斯成分,共有 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=c\& alt=\&c\& eeimg=\&1\&\u003E 个成分组成,且满足约束 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Csum_%7Bj%3D1%7D%5E%7Bc%7D%7BP%28%5Comega_j%29%7D%3D1\& alt=\&\\sum_{j=1}^{c}{P(\\omega_j)}=1\& eeimg=\&1\&\u003E 。\u003C\u002Fp\u003E\u003Cp\u003E此时做最大似然估计取对数有\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Cbegin%7Baligned%7D+l%28%5Ctheta%29+%26+%3Dln+%5C+p%28D%7C%5Ctheta%29%5C%5C+%26+%3D+ln%5Cprod_%7Bi%3D1%7D%5E%7Bn%7Dp%28x_i%7C%5Ctheta%29%5C%5C+%26+%3D%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7Bln+%5C+p%28x_i%7C%5Ctheta%29%7D%5C%5C+%26+%3D%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7Bln%5Csum_%7Bj%3D1%7D%5E%7Bc%7D%7Bp%28x_i%7C%5Comega_j%2C%5Ctheta_j%29P%28%5Comega_j%29%7D%7D+%5Cend%7Baligned%7D\& alt=\&\\begin{aligned} l(\\theta) & =ln \\ p(D|\\theta)\\\\ & = ln\\prod_{i=1}^{n}p(x_i|\\theta)\\\\ & =\\sum_{i=1}^{n}{ln \\ p(x_i|\\theta)}\\\\ & =\\sum_{i=1}^{n}{ln\\sum_{j=1}^{c}{p(x_i|\\omega_j,\\theta_j)P(\\omega_j)}} \\end{aligned}\& eeimg=\&1\&\u003E \u003C\u002Fp\u003E\u003Cp\u003E上面的式子包含和的对数,极大化求导很困难(\u003Cb\u003E这个求导困难留个伏笔后面会重提\u003C\u002Fb\u003E)。因此一般采用EM算法迭代求解。EM算法就是含有隐变量的概率模型参数的极大似然估计法,迭代分两步完成:\u003C\u002Fp\u003E\u003Cp\u003EE step:求期望,主要就是计算下面的 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=Q\& alt=\&Q\& eeimg=\&1\&\u003E 函数, \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=X\& alt=\&X\& eeimg=\&1\&\u003E 为观测变量, \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=Z\& alt=\&Z\& eeimg=\&1\&\u003E 为隐变量,联合分布为 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=p%28X%2CZ%7C%5Ctheta%29\& alt=\&p(X,Z|\\theta)\& eeimg=\&1\&\u003E ,给定观测数据 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=X\& alt=\&X\& eeimg=\&1\&\u003E 和当前的参数估计 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Ctheta%5E%7Bi%7D\& alt=\&\\theta^{i}\& eeimg=\&1\&\u003E 的情况下隐变量数据 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=Z\& alt=\&Z\& eeimg=\&1\&\u003E 的条件概率分布为 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=p%28Z%7CX%2C%5Ctheta%5E%7Bi%7D%29\& alt=\&p(Z|X,\\theta^{i})\& eeimg=\&1\&\u003E。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Cbegin%7Baligned%7D+Q%28%5Ctheta%2C%5Ctheta%5E%7Bi%7D%29+%26+%3DE_Z%5Cleft%5Blog+%5C+p%28X%2CZ%7C%5Ctheta%29%7CX%2C%5Ctheta%5E%7Bi%7D%5Cright%5D%5C%5C+%26+%3D%5Csum_%7BZ%7D%5E%7B%7D%7Blog+%5C+p%28X%2CZ%7C%5Ctheta%29P%28Z%7CX%2C%5Ctheta%5E%7Bi%7D%29%7D+%5Cend%7Baligned%7D\& alt=\&\\begin{aligned} Q(\\theta,\\theta^{i}) & =E_Z\\left[log \\ p(X,Z|\\theta)|X,\\theta^{i}\\right]\\\\ & =\\sum_{Z}^{}{log \\ p(X,Z|\\theta)P(Z|X,\\theta^{i})} \\end{aligned}\& eeimg=\&1\&\u003E \u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E以概率角度来理解这个公式,在当前参数 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Ctheta%5Ei\& alt=\&\\theta^i\& eeimg=\&1\&\u003E 给定的情况下,知道观测变量 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=X\& alt=\&X\& eeimg=\&1\&\u003E ,则可以求出隐藏变量的概率,式子中应用的也就是条件概率公式和边际分布公式,把 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=log+%5C+p%28X%2CZ%7C%5Ctheta%5Ei%29\& alt=\&log \\ p(X,Z|\\theta^i)\& eeimg=\&1\&\u003E 看成一个新的变量,然后求期望\u003C\u002Fb\u003E:\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=P%28Z%7CX%2C%5Ctheta%5Ei%29%3D%5Cfrac%7Bp%28X%2CZ%7C%5Ctheta%5Ei%29%7D%7Bp%28X%7C%5Ctheta%5Ei%29%7D%3D%5Cfrac%7Bp%28X%2CZ%7C%5Ctheta%5Ei%29%7D%7B%5Cint_%7BZ%7Dp%28X%2CZ%7C%5Ctheta%5Ei%29dz%7D\& alt=\&P(Z|X,\\theta^i)=\\frac{p(X,Z|\\theta^i)}{p(X|\\theta^i)}=\\frac{p(X,Z|\\theta^i)}{\\int_{Z}p(X,Z|\\theta^i)dz}\& eeimg=\&1\&\u003E\u003C\u002Fp\u003E\u003Cp\u003EM step:最大化 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=Q%28%5Ctheta%2C%5Ctheta%5E%7Bi%7D%29\& alt=\&Q(\\theta,\\theta^{i})\& eeimg=\&1\&\u003E ,从而确定第 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=i%2B1\& alt=\&i+1\& eeimg=\&1\&\u003E 次迭代的参数估计值 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Ctheta%5E%7Bi%2B1%7D\& alt=\&\\theta^{i+1}\& eeimg=\&1\&\u003E \u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=+%5Cbegin%7Baligned%7D+%5Ctheta%5E%7Bi%2B1%7D%3D%5Cmathop%7B%5Carg%5Cmax%7D_%7B%5Ctheta%7D+Q%28%5Ctheta%2C%5Ctheta%5E%7Bi%7D%29+%5Cend%7Baligned%7D\& alt=\& \\begin{aligned} \\theta^{i+1}=\\mathop{\\arg\\max}_{\\theta} Q(\\theta,\\theta^{i}) \\end{aligned}\& eeimg=\&1\&\u003E \u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E这一步可以认为是在当前得到的隐藏变量\u003C\u002Fb\u003E \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=Z\& alt=\&Z\& eeimg=\&1\&\u003E \u003Cb\u003E和观测变量\u003C\u002Fb\u003E \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=X\& alt=\&X\& eeimg=\&1\&\u003E \u003Cb\u003E下,需要求新的参数 \u003C\u002Fb\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Ctheta\& alt=\&\\theta\& eeimg=\&1\&\u003E\u003Cb\u003E 可以使当前状态发生的可能性更高。\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E关于\u003Cb\u003EEM算法的导出和收敛性证明还是参考李航老师的《统计学习方法》\u003C\u002Fb\u003E吧,我就不细推了。但是借用一下李航老师书上的一幅图来说明一点问题。\u003C\u002Fp\u003E\u003Cfigure\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-a580e866bdd61d2acb9569c_b.jpg\& data-caption=\&\& data-size=\&normal\& data-rawwidth=\&1440\& data-rawheight=\&1080\& class=\&origin_image zh-lightbox-thumb\& width=\&1440\& data-original=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-a580e866bdd61d2acb9569c_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='1440'%20height='1080'&&\u002Fsvg&\& data-caption=\&\& data-size=\&normal\& data-rawwidth=\&1440\& data-rawheight=\&1080\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&1440\& data-original=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-a580e866bdd61d2acb9569c_r.jpg\& data-actualsrc=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-a580e866bdd61d2acb9569c_b.jpg\&\u003E\u003C\u002Ffigure\u003E\u003Cp\u003E\u003Cb\u003E从图中可以看出 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=L%28%5Ctheta%29\& alt=\&L(\\theta)\& eeimg=\&1\&\u003E 不一定是严格凸函数,这样选择不同的初值可能得到不同的参数估计值,不能保证得到全局最优解。\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E下面来应用EM算法求解GMM(Gaussian mixture mode)模型,先设定一个隐变量 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=Z\& alt=\&Z\& eeimg=\&1\&\u003E ,现在的完整的数据为 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Cleft%5C%7B+X%2CZ+%5Cright%5C%7D\& alt=\&\\left\\{ X,Z \\right\\}\& eeimg=\&1\&\u003E ,且有 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=z_%7Bij%7D%5Cin%5Cleft%5C%7B0%2C1%5Cright%5C%7D%2Ci%3D%5Cleft%5B+1%2C2%2C...%2Cn+%5Cright%5D%2Cj%3D%5Cleft%5B+1%2C2%2C...%2Cc+%5Cright%5D\& alt=\&z_{ij}\\in\\left\\{0,1\\right\\},i=\\left[ 1,2,...,n \\right],j=\\left[ 1,2,...,c \\right]\& eeimg=\&1\&\u003E \u003Cb\u003E表示第 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=i\& alt=\&i\& eeimg=\&1\&\u003E 个样本是否来自于第 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=j\& alt=\&j\& eeimg=\&1\&\u003E 个高斯成分\u003C\u002Fb\u003E。联合分布为:\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Cbegin%7Baligned%7D+p%28X%2CZ%7C%5Ctheta%29+%26+%3D%5Cprod_%7Bi%3D1%7D%5E%7Bn%7Dp%28x_i%2Cz_%7Bi1%7D%2Cz_%7Bi2%7D%2C...%2Cz_%7Bic%7D%7C%5Ctheta%29%5C%5C+%26+%3D%5Cprod_%7Bi%3D1%7D%5E%7Bn%7D%5Cprod_%7Bj%3D1%7D%5E%7Bc%7Dp%28x_i%7C%5Comega_j%2C%5Ctheta_j%29%5E%7Bz_%7Bij%7D%7DP%28%5Comega_j%29%5E%7Bz_%7Bij%7D%7D+%5Cend%7Baligned%7D\& alt=\&\\begin{aligned} p(X,Z|\\theta) & =\\prod_{i=1}^{n}p(x_i,z_{i1},z_{i2},...,z_{ic}|\\theta)\\\\ & =\\prod_{i=1}^{n}\\prod_{j=1}^{c}p(x_i|\\omega_j,\\theta_j)^{z_{ij}}P(\\omega_j)^{z_{ij}} \\end{aligned}\& eeimg=\&1\&\u003E \u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Cbegin%7Baligned%7D+Q%28%5Ctheta%2C%5Ctheta%5E%7Bi%7D%29+%26+%3DE_Z%5Cleft%5B+ln+%5C+p%28X%2CZ%7C%5Ctheta%29+%5Cright%7CX%2C%5Ctheta%5Ei%5D%5C%5C+%26+%3D%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7B%5Csum_%7Bj%3D1%7D%5E%7Bc%7D%7BE_Z%28z_%7Bij%7D%7CX%2C%5Ctheta%5Ei%29%28ln+%5C+P%28%5Comega_j%29%2Bln+%5C+p%28x_i%7C%5Comega_j%2C%5Ctheta_j%29%29%7D%7D+%5Cend%7Baligned%7D\& alt=\&\\begin{aligned} Q(\\theta,\\theta^{i}) & =E_Z\\left[ ln \\ p(X,Z|\\theta) \\right|X,\\theta^i]\\\\ & =\\sum_{i=1}^{n}{\\sum_{j=1}^{c}{E_Z(z_{ij}|X,\\theta^i)(ln \\ P(\\omega_j)+ln \\ p(x_i|\\omega_j,\\theta_j))}} \\end{aligned}\& eeimg=\&1\&\u003E \u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Cbegin%7Baligned%7D+%5Chat+z_%7Bij%7D+%26+%3DE_Z%28z_%7Bij%7D%7Cx_i%2C%5Ctheta_j%29+%3DP%28z_%7Bij%7D%3D1%7Cx_i%2C%5Ctheta_j%29+%3D%5Cfrac%7Bp%28z_%7Bij%7D%3D1%2Cx_i%7C%5Ctheta_j%29%7D%7Bp%28x_i%7C%5Ctheta_j%29%7D%5C%5C+%26+%3D%5Cfrac%7Bp%28z_%7Bij%7D%3D1%2Cx_i%7C%5Ctheta_j%29%7D%7B%5Csum_%7Bj%3D1%7D%5E%7Bc%7D%7Bp%28z_%7Bij%7D%3D1%2Cx_i%7C%5Ctheta_j%29%7D%7D%3D%5Cfrac%7Bp%28x_i%7Cz_%7Bij%7D%3D1%2C%5Ctheta_j%29P%28z_%7Bij%7D%3D1%7C%5Ctheta_j%29%7D%7B%5Csum_%7Bj%3D1%7D%5E%7Bc%7D%7Bp%28x_i%7Cz_%7Bij%7D%3D1%2C%5Ctheta_j%29P%28z_%7Bij%7D%3D1%7C%5Ctheta_j%29%7D%7D%5C%5C+%26+%3D%5Cfrac%7Bp%28x_i%7C%5Comega_j%2C%5Ctheta_j%29P%28%5Comega_j%29%7D%7B%5Csum_%7Bj%3D1%7D%5E%7Bc%7D%7Bp%28x_i%7C%5Comega_j%2C%5Ctheta_j%29P%28%5Comega_j%29%7D%7D+%5Cend%7Baligned%7D\& alt=\&\\begin{aligned} \\hat z_{ij} & =E_Z(z_{ij}|x_i,\\theta_j) =P(z_{ij}=1|x_i,\\theta_j) =\\frac{p(z_{ij}=1,x_i|\\theta_j)}{p(x_i|\\theta_j)}\\\\ & =\\frac{p(z_{ij}=1,x_i|\\theta_j)}{\\sum_{j=1}^{c}{p(z_{ij}=1,x_i|\\theta_j)}}=\\frac{p(x_i|z_{ij}=1,\\theta_j)P(z_{ij}=1|\\theta_j)}{\\sum_{j=1}^{c}{p(x_i|z_{ij}=1,\\theta_j)P(z_{ij}=1|\\theta_j)}}\\\\ & =\\frac{p(x_i|\\omega_j,\\theta_j)P(\\omega_j)}{\\sum_{j=1}^{c}{p(x_i|\\omega_j,\\theta_j)P(\\omega_j)}} \\end{aligned}\& eeimg=\&1\&\u003E \u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E这里的公式推导, \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=z_%7Bij%7D\& alt=\&z_{ij}\& eeimg=\&1\&\u003E 只能取0或1,第一步转化为概率,接下来就是应用条件概率公式和全概率公式展开,\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Chat+z_%7Bij%7D\& alt=\&\\hat z_{ij}\& eeimg=\&1\&\u003E 表示在当前模型参数下第 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=i\& alt=\&i\& eeimg=\&1\&\u003E 个样本来自第 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=j\& alt=\&j\& eeimg=\&1\&\u003E 个高斯成分的概率。\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E下面进行求解\u003C\u002Fb\u003E:先在满足条件约束 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Csum_%7Bj%3D1%7D%5E%7Bc%7D%7BP%28%5Comega_j%29%7D%3D1\& alt=\&\\sum_{j=1}^{c}{P(\\omega_j)}=1\& eeimg=\&1\&\u003E 的情况下估计 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=P%28%5Comega_j%29%E8%AE%B0%E4%BD%9C%5Cpi_j\& alt=\&P(\\omega_j)记作\\pi_j\& eeimg=\&1\&\u003E 。\u003C\u002Fp\u003E\u003Cp\u003E采用拉格朗日乘子法:\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=f%28%5Ctheta%2C%5Cpi%29%3D%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7B%5Csum_%7Bj%3D1%7D%5E%7Bc%7D%7B%5Chat+z_%7Bij%7D%28ln+%5C+%5Cpi_j%2Bln+%5C+p%28x_i%7C%5Ctheta_j%29%29%7D%7D%2B%5Clambda%28%5Csum_%7Bj%3D1%7D%5E%7Bc%7D%7B%5Cpi_j%7D-1%29\& alt=\&f(\\theta,\\pi)=\\sum_{i=1}^{n}{\\sum_{j=1}^{c}{\\hat z_{ij}(ln \\ \\pi_j+ln \\ p(x_i|\\theta_j))}}+\\lambda(\\sum_{j=1}^{c}{\\pi_j}-1)\& eeimg=\&1\&\u003E \u003C\u002Fp\u003E\u003Cp\u003E对 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Clambda\& alt=\&\\lambda\& eeimg=\&1\&\u003E 求导得\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Cfrac%7B%5Cpartial+f%28%5Ctheta%2C%5Cpi%29%7D%7B%5Cpartial+%5Cpi_j%7D%3D%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7B%5Cfrac%7B%5Chat+z_%7Bij%7D%7D%7B%5Cpi_j%7D%7D%2B%5Clambda%3D0\& alt=\&\\frac{\\partial f(\\theta,\\pi)}{\\partial \\pi_j}=\\sum_{i=1}^{n}{\\frac{\\hat z_{ij}}{\\pi_j}}+\\lambda=0\& eeimg=\&1\&\u003E 记 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7B%5Chat+z_%7Bij%7D%7D%3Dn_j\& alt=\&\\sum_{i=1}^{n}{\\hat z_{ij}}=n_j\& eeimg=\&1\&\u003E , \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Csum_%7Bj%3D1%7D%5E%7Bc%7D%7Bn_j%7D%3Dn\& alt=\&\\sum_{j=1}^{c}{n_j}=n\& eeimg=\&1\&\u003E ,同时有\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Cpi_j%3D-%5Cfrac%7Bn_j%7D%7B%5Clambda%7D\& alt=\&\\pi_j=-\\frac{n_j}{\\lambda}\& eeimg=\&1\&\u003E 对全部进行求和可得 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Clambda%3D-n\& alt=\&\\lambda=-n\& eeimg=\&1\&\u003E ,代回上式可得:\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Chat%5Cpi_j%3D%5Cfrac%7B%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7B%5Chat+z_%7Bij%7D%7D%7D%7B%5Csum_%7Bj%3D1%7D%5E%7Bc%7D%7Bn_j%7D%7D%3D%5Cfrac%7Bn_j%7D%7Bn%7D\& alt=\&\\hat\\pi_j=\\frac{\\sum_{i=1}^{n}{\\hat z_{ij}}}{\\sum_{j=1}^{c}{n_j}}=\\frac{n_j}{n}\& eeimg=\&1\&\u003E 。\u003Cb\u003E这个结果可以理解为所有的样本来自第 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=j\& alt=\&j\& eeimg=\&1\&\u003E 个高斯成分的概率和除以来自所有成分的概率和,即为来自第 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=j\& alt=\&j\& eeimg=\&1\&\u003E 个高斯成分的先验概率。\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E接下来进行 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Cmu_j%2C%5CSigma_j\& alt=\&\\mu_j,\\Sigma_j\& eeimg=\&1\&\u003E 的估计,\u003Cb\u003E借助第二部分的铺垫则有\u003C\u002Fb\u003E:\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Cfrac%7B%5Cpartial+Q%28%5Ctheta%2C%5Ctheta%5Ei%29%7D%7B%5Cpartial+%5Cmu_j%7D%3D%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7B%5Chat+z_%7Bij%7D%28%5CSigma%5E%7B-1%7D%28x_i-%5Cmu_j%29%29%7D%3D0\& alt=\&\\frac{\\partial Q(\\theta,\\theta^i)}{\\partial \\mu_j}=\\sum_{i=1}^{n}{\\hat z_{ij}(\\Sigma^{-1}(x_i-\\mu_j))}=0\& eeimg=\&1\&\u003E \u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E可得 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Chat%5Cmu_j%3D%5Cfrac%7B%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7B%5Chat+z_%7Bij%7Dx_i%7D%7D%7B%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7B%5Chat+z_%7Bij%7D%7D%7D\& alt=\&\\hat\\mu_j=\\frac{\\sum_{i=1}^{n}{\\hat z_{ij}x_i}}{\\sum_{i=1}^{n}{\\hat z_{ij}}}\& eeimg=\&1\&\u003E ,考虑把每个样本分成 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=c\& alt=\&c\& eeimg=\&1\&\u003E 份,对应着 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=c\& alt=\&c\& eeimg=\&1\&\u003E 个高斯成分,要更新每个成分的 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Cmu_j\& alt=\&\\mu_j\& eeimg=\&1\&\u003E 只需要把属于这个成分的样本进行加权平均,可以类比铺垫中更新公式,只不过前面的是每个样本以概率1属于这个成分,所以为等权重更新 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Chat%5Cmu%3D%5Cfrac%7B1%7D%7Bn%7D%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7Bx_i%7D\& alt=\&\\hat\\mu=\\frac{1}{n}\\sum_{i=1}^{n}{x_i}\& eeimg=\&1\&\u003E 。\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Cfrac%7B%5Cpartial+Q%28%5Ctheta%2C%5Ctheta%5Ei%29%7D%7B%5Cpartial+%5CSigma_j%7D%3D%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7B%5Chat+z_%7Bij%7D%28-%5Cfrac%7B1%7D%7B2%7D%28%5CSigma_j%5E%7B-1%7D-%5CSigma_j%5E%7B-1%7D%28x-%5Cmu%29%28x-%5Cmu%29%5ET%5CSigma_j%5E%7B-1%7D%29%29%7D%3D0\& alt=\&\\frac{\\partial Q(\\theta,\\theta^i)}{\\partial \\Sigma_j}=\\sum_{i=1}^{n}{\\hat z_{ij}(-\\frac{1}{2}(\\Sigma_j^{-1}-\\Sigma_j^{-1}(x-\\mu)(x-\\mu)^T\\Sigma_j^{-1}))}=0\& eeimg=\&1\&\u003E \u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E可得 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Chat%5CSigma_j%3D%5Cfrac%7B%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7B%5Chat+z_%7Bij%7D%28x_i-%5Chat%5Cmu_j%29%28x_i-%5Chat%5Cmu_j%29%5ET%7D%7D%7B%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7B%5Chat+z_%7Bij%7D%7D%7D\& alt=\&\\hat\\Sigma_j=\\frac{\\sum_{i=1}^{n}{\\hat z_{ij}(x_i-\\hat\\mu_j)(x_i-\\hat\\mu_j)^T}}{\\sum_{i=1}^{n}{\\hat z_{ij}}}\& eeimg=\&1\&\u003E 同 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Chat%5Cmu_j\& alt=\&\\hat\\mu_j\& eeimg=\&1\&\u003E 的理解方式一样,考虑在单成分中更新 \u003C\u002Fb\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Chat%5CSigma_j\& alt=\&\\hat\\Sigma_j\& eeimg=\&1\&\u003E 。\u003C\u002Fp\u003E\u003Cp\u003E现在有了每次迭代的参数估计,可以重复迭代至参数不再变化即可。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E4.trick直推法\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E如果没忘记的话,前面留了一个小伏笔,说直接极大化求导有难度,现在我们对 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Ctheta_j\& alt=\&\\theta_j\& eeimg=\&1\&\u003E 求导做一个变形。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=l%28%5Ctheta%29%3D%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7Bln+%5C+p%28x_i%7C%5Ctheta%29%7D%3D%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7Bln%5Csum_%7Bj%3D1%7D%5E%7Bc%7D%7Bp%28x_i%7C%5Comega_j%2C%5Ctheta_j%29P%28%5Comega_j%29%7D%7D\& alt=\&l(\\theta)=\\sum_{i=1}^{n}{ln \\ p(x_i|\\theta)}=\\sum_{i=1}^{n}{ln\\sum_{j=1}^{c}{p(x_i|\\omega_j,\\theta_j)P(\\omega_j)}}\& eeimg=\&1\&\u003E \u003Cb\u003E只考虑包含 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Ctheta_j\& alt=\&\\theta_j\& eeimg=\&1\&\u003E 的项\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Cbegin%7Baligned%7D+%5Cnabla_%7B%5Ctheta_j%7Dl%28%5Ctheta%29+%26+%3D%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7B%5Cfrac%7B1%7D%7Bp%28x_i%7C%5Ctheta%29%7D%5Cnabla_%7B%5Ctheta_j%7Dp%28x_i%7C%5Ctheta%29%7D%5C%5C+%26+%3D%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7B%5Cfrac%7B1%7D%7Bp%28x_i%7C%5Ctheta%29%7D%5Cnabla_%7B%5Ctheta_j%7D%28p%28x_i%7C%5Comega_j%2C%5Ctheta_j%29P%28%5Comega_j%29%29%7D%5C%5C+%26+%3D%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7B%5Cfrac%7BP%28%5Comega_j%29%7D%7Bp%28x_i%7C%5Ctheta%29%7D%5Cnabla_%7B%5Ctheta_j%7D%28p%28x_i%7C%5Comega_j%2C%5Ctheta_j%29%29%7D%5C%5C+%26+%3D%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7B%5Cfrac%7BP%28%5Comega_j%29%7D%7Bp%28x_i%7C%5Ctheta%29%7Dp%28x_i%7C%5Comega_j%2C%5Ctheta_j%29%5Cnabla_%7B%5Ctheta_j%7Dln%28p%28x_i%7C%5Comega_j%2C%5Ctheta_j%29%29%7D%5C%5C+%26+%3D%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7B%5Cfrac%7Bp%28%5Comega_j%2Cx_i%7C%5Ctheta_j%29%7D%7Bp%28x_i%7C%5Ctheta%29%7D%5Cnabla_%7B%5Ctheta_j%7Dln%28p%28x_i%7C%5Comega_j%2C%5Ctheta_j%29%29%7D%5C%5C+%26+%3D%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7BP%28%5Comega_j%7Cx_i%2C%5Ctheta_j%29%5Cnabla_%7B%5Ctheta_j%7Dln%28p%28x_i%7C%5Comega_j%2C%5Ctheta_j%29%29%7D%5C%5C+%5Cend%7Baligned%7D\& alt=\&\\begin{aligned} \\nabla_{\\theta_j}l(\\theta) & =\\sum_{i=1}^{n}{\\frac{1}{p(x_i|\\theta)}\\nabla_{\\theta_j}p(x_i|\\theta)}\\\\ & =\\sum_{i=1}^{n}{\\frac{1}{p(x_i|\\theta)}\\nabla_{\\theta_j}(p(x_i|\\omega_j,\\theta_j)P(\\omega_j))}\\\\ & =\\sum_{i=1}^{n}{\\frac{P(\\omega_j)}{p(x_i|\\theta)}\\nabla_{\\theta_j}(p(x_i|\\omega_j,\\theta_j))}\\\\ & =\\sum_{i=1}^{n}{\\frac{P(\\omega_j)}{p(x_i|\\theta)}p(x_i|\\omega_j,\\theta_j)\\nabla_{\\theta_j}ln(p(x_i|\\omega_j,\\theta_j))}\\\\ & =\\sum_{i=1}^{n}{\\frac{p(\\omega_j,x_i|\\theta_j)}{p(x_i|\\theta)}\\nabla_{\\theta_j}ln(p(x_i|\\omega_j,\\theta_j))}\\\\ & =\\sum_{i=1}^{n}{P(\\omega_j|x_i,\\theta_j)\\nabla_{\\theta_j}ln(p(x_i|\\omega_j,\\theta_j))}\\\\ \\end{aligned}\& eeimg=\&1\&\u003E \u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E上面的转换也是基本的条件概率公式应用。可以看到单样本\u003C\u002Fb\u003E \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=x_i\& alt=\&x_i\& eeimg=\&1\&\u003E \u003Cb\u003E对似然函数\u003C\u002Fb\u003E \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=l%28%5Ctheta%29\& alt=\&l(\\theta)\& eeimg=\&1\&\u003E \u003Cb\u003E关于 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Ctheta_j\& alt=\&\\theta_j\& eeimg=\&1\&\u003E 梯度的贡献等于 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=x_i\& alt=\&x_i\& eeimg=\&1\&\u003E 属于第 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=j\& alt=\&j\& eeimg=\&1\&\u003E 个成分的后验概率乘以 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=x_i\& alt=\&x_i\& eeimg=\&1\&\u003E 对第 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=j\& alt=\&j\& eeimg=\&1\&\u003E 个成分密度 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=p%28x_i%7C%5Comega_j%2C%5Ctheta_j%29\& alt=\&p(x_i|\\omega_j,\\theta_j)\& eeimg=\&1\&\u003E 的对数关于 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Ctheta_j\& alt=\&\\theta_j\& eeimg=\&1\&\u003E 的梯度。\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E估计 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Chat+P%28%5Comega_j%29\& alt=\&\\hat P(\\omega_j)\& eeimg=\&1\&\u003E 的方法同前面的方法一样,采用拉格朗日乘子法写成 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=f%28%5Ctheta%2C%5Cpi%29%3D%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7Bln+%5C+p%28x_i%7C%5Ctheta%29%7D%2B%5Clambda%28%5Csum_%7Bj%3D1%7D%5E%7Bc%7D%7B%5Cpi_j%7D-1%29\& alt=\&f(\\theta,\\pi)=\\sum_{i=1}^{n}{ln \\ p(x_i|\\theta)}+\\lambda(\\sum_{j=1}^{c}{\\pi_j}-1)\& eeimg=\&1\&\u003E ,求导为0,方程两边同时乘以 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=P%28%5Comega_j%29\& alt=\&P(\\omega_j)\& eeimg=\&1\&\u003E ,再相加就可以得到 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=P%28%5Comega_j%29\& alt=\&P(\\omega_j)\& eeimg=\&1\&\u003E 的参数估计(思路和前面类似):\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Chat+P%28%5Comega_j%29%3D%5Cfrac%7B1%7D%7Bn%7D%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7B%5Cfrac%7Bp%28x_i%7C%5Comega_j%2C%5Ctheta_j%29P%28%5Comega_j%29%7D%7Bp%28x_i%7C%5Ctheta%29%7D%7D+%3D%5Cfrac%7B1%7D%7Bn%7D%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7BP%28%5Comega_j%7Cx_i%2C%5Ctheta_j%29%7D\& alt=\&\\hat P(\\omega_j)=\\frac{1}{n}\\sum_{i=1}^{n}{\\frac{p(x_i|\\omega_j,\\theta_j)P(\\omega_j)}{p(x_i|\\theta)}} =\\frac{1}{n}\\sum_{i=1}^{n}{P(\\omega_j|x_i,\\theta_j)}\& eeimg=\&1\&\u003E \u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E观察这个式子每个样本 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=x_i\& alt=\&x_i\& eeimg=\&1\&\u003E 属于第 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=j\& alt=\&j\& eeimg=\&1\&\u003E 个成分的概率和除以属于所有成分的概率和就是先验概率,和前面的 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Chat%5Cpi_j%3D%5Cfrac%7B%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7B%5Chat+z_%7Bij%7D%7D%7D%7B%5Csum_%7Bj%3D1%7D%5E%7Bc%7D%7Bn_j%7D%7D%3D%5Cfrac%7Bn_j%7D%7Bn%7D\& alt=\&\\hat\\pi_j=\\frac{\\sum_{i=1}^{n}{\\hat z_{ij}}}{\\sum_{j=1}^{c}{n_j}}=\\frac{n_j}{n}\& eeimg=\&1\&\u003E 的结果意义是一样的,这两种方法的结果在此相互印证上了,可以参考下图加深理解。\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cfigure\u003E\u003Cnoscript\u003E\u003Cimg src=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-1861d08decacc1f5ff4ee692cae87168_b.jpg\& data-caption=\&\& data-size=\&normal\& data-rawwidth=\&1054\& data-rawheight=\&614\& class=\&origin_image zh-lightbox-thumb\& width=\&1054\& data-original=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-1861d08decacc1f5ff4ee692cae87168_r.jpg\&\u003E\u003C\u002Fnoscript\u003E\u003Cimg src=\&data:image\u002Fsvg+utf8,&svg%20xmlns='http:\u002F\u002Fwww.w3.org\u002FFsvg'%20width='1054'%20height='614'&&\u002Fsvg&\& data-caption=\&\& data-size=\&normal\& data-rawwidth=\&1054\& data-rawheight=\&614\& class=\&origin_image zh-lightbox-thumb lazy\& width=\&1054\& data-original=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-1861d08decacc1f5ff4ee692cae87168_r.jpg\& data-actualsrc=\&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-1861d08decacc1f5ff4ee692cae87168_b.jpg\&\u003E\u003C\u002Ffigure\u003E\u003Cp\u003E估计 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Chat%5Cmu_j%2C%5Chat%5CSigma_j\& alt=\&\\hat\\mu_j,\\hat\\Sigma_j\& eeimg=\&1\&\u003E 的方法就是把前面第二部分铺垫求出来的结果代入上述求导式,我就不再重复推导写一遍了,可自行证明,结果如下:\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Chat%5Cmu_j%3D%5Cfrac%7B%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7BP%28%5Comega_j%7Cx_i%2C%5Cmu_j%29x_i%7D%7D%7B%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7BP%28%5Comega_j%7Cx_i%2C%5Cmu_j%29%7D%7D\& alt=\&\\hat\\mu_j=\\frac{\\sum_{i=1}^{n}{P(\\omega_j|x_i,\\mu_j)x_i}}{\\sum_{i=1}^{n}{P(\\omega_j|x_i,\\mu_j)}}\& eeimg=\&1\&\u003E \u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Chat%5CSigma_j%3D%5Cfrac%7B%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7BP%28%5Comega_j%7Cx_i%2C%5Cmu_j%29%28x_i-%5Chat%5Cmu_j%29%28x_i-%5Chat%5Cmu_j%29%5ET%7D%7D%7B%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7BP%28%5Comega_j%7Cx_i%2C%5Cmu_j%29%7D%7D\& alt=\&\\hat\\Sigma_j=\\frac{\\sum_{i=1}^{n}{P(\\omega_j|x_i,\\mu_j)(x_i-\\hat\\mu_j)(x_i-\\hat\\mu_j)^T}}{\\sum_{i=1}^{n}{P(\\omega_j|x_i,\\mu_j)}}\& eeimg=\&1\&\u003E \u003C\u002Fp\u003E\u003Cp\u003E同样可以和前面得到的结果相互印证理解。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E5.简化为K-means\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E当引入一些假设:\u003Cb\u003E各类出现的先验概率相等;每个样本点以概率为1属于一个类;协方差矩阵为单位阵。\u003C\u002Fb\u003E此时计算数据点到类中心的欧式距离平方,寻找与样本 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=x_i\& alt=\&x_i\& eeimg=\&1\&\u003E 最近的类中心点。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Chat+P%28%5Comega_j%7Cx_i%2C%5Chat%5Ctheta%29%5Csimeq+%5Cbegin%7Bcases%7D+1%2C+%26+%5Cmbox%7Bif+%7Dx_i%5Cmbox%7B+is+nearest+to+%7D%5Cmu_j%5C%5C+0%2C+%26+%5Cmbox%7Botherwise%7D+%5Cend%7Bcases%7D\& alt=\&\\hat P(\\omega_j|x_i,\\hat\\theta)\\simeq \\begin{cases} 1, & \\mbox{if }x_i\\mbox{ is nearest to }\\mu_j\\\\ 0, & \\mbox{otherwise} \\end{cases}\& eeimg=\&1\&\u003E \u003C\u002Fp\u003E\u003Cp\u003E此时 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=c\& alt=\&c\& eeimg=\&1\&\u003E 个成分的高斯成分均值 \u003Cimg src=\&http:\u002F\u002Fwww.zhihu.com\u002Fequation?tex=%5Chat%5Cmu_j%3D%5Cfrac%7B%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7BP%28%5Comega_j%7Cx_i%2C%5Cmu_j%29x_i%7D%7D%7B%5Csum_%7Bi%3D1%7D%5E%7Bn%7D%7BP%28%5Comega_j%7Cx_i%2C%5Cmu_j%29%7D%7D%3D%5Cfrac%7B1%7D%7Bn_j%7D%5Csum_%7Bx_i%5Cin%5Comega_j%7Dx_i\& alt=\&\\hat\\mu_j=\\frac{\\sum_{i=1}^{n}{P(\\omega_j|x_i,\\mu_j)x_i}}{\\sum_{i=1}^{n}{P(\\omega_j|x_i,\\mu_j)}}=\\frac{1}{n_j}\\sum_{x_i\\in\\omega_j}x_i\& eeimg=\&1\&\u003E \u003C\u002Fp\u003E\u003Cp\u003E即可得到经典的K-means算法,刚接触K-means时都说该算法受初值影响,现在我们经过上面的学习也可以理解为什么受初值影响了吧。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E6.总(lao)结(sao)\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E虽然现在深度学习这么火,但是机器学习的一些基础还是不能废弃的,多点些技能点总没坏处,这篇文章希望能够帮助正在学习路上的小伙伴。之前立了flag要在回家前完成这篇文章,总算还是完成了,第一次用知乎敲公式就敲了这么多,累到吐血。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E如果中间有错误,欢迎在评论区提意见和指点,都看到了这里,如果觉得还可以的话就随手点个赞让更多有需要的小伙伴可以看到。\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E这篇文章作者线下推公式,线上敲公式,还是付出了很多了,如果有要转载的话请私信联系我授权,这样我也算对得起自己的付出。\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E同时提供一份自己改写的GMM的python代码,有需要的话自己去取。\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Ca href=\&http:\u002F\u002Flink.zhihu.com\u002F?target=https%3A\u002F\u002Fgithub.com\u002Fwl-lei\u002Fupload\u002Fblob\u002Fmaster\u002Fhomework\u002FGMM.py\& data-draft-node=\&block\& data-draft-type=\&link-card\& class=\& external\& target=\&_blank\& rel=\&nofollow noreferrer\&\u003E\u003Cspan class=\&invisible\&\u003Ehttps:\u002F\u002F\u003C\u002Fspan\u003E\u003Cspan class=\&visible\&\u003Egithub.com\u002Fwl-lei\u002Fuploa\u003C\u002Fspan\u003E\u003Cspan class=\&invisible\&\u003Ed\u002Fblob\u002Fmaster\u002Fhomework\u002FGMM.py\u003C\u002Fspan\u003E\u003Cspan class=\&ellipsis\&\u003E\u003C\u002Fspan\u003E\u003C\u002Fa\u003E\u003Cp\u003E\u003Cbr\u003E\u003C\u002Fp\u003E\u003Cp\u003E如果有需要了解作者自学的心塞路程,可参考第一篇文章,希望在路上的小伙伴们可以越来越棒,入门的小伙伴能够坚持下去,我不劝退或劝进。\u003C\u002Fp\u003E\u003Ca href=\&https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F\& data-draft-node=\&block\& data-draft-type=\&link-card\& class=\&internal\&\u003E磊磊:浅谈机器学习\u003C\u002Fa\u003E\u003Cp\u003E作者即将开启躺尸休息模式,快累死了。\u003C\u002Fp\u003E\u003Cp\u003E\u003Cb\u003E最后唠叨一句光收藏不点赞的都是耍流氓。\u003C\u002Fb\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003C\u002Fp\u003E\u003Cp\u003E\u003C\u002Fp\u003E&,&updated&:new Date(&T07:28:35.000Z&),&canComment&:false,&commentPermission&:&anyone&,&commentCount&:13,&collapsedCount&:0,&likeCount&:29,&state&:&published&,&isLiked&:false,&slug&:&&,&isTitleImageFullScreen&:false,&rating&:&none&,&titleImage&:&https:\u002F\u002Fpic2.zhimg.com\u002Fv2-8eeac816a0d_r.jpg&,&links&:{&comments&:&\u002Fapi\u002Fposts\u002F2Fcomments&},&reviewers&:[],&topics&:[{&url&:&https:\u002F\u002Fwww.zhihu.com\u002Ftopic\u002F&,&id&:&&,&name&:&机器学习&}],&adminClosedComment&:false,&titleImageSize&:{&width&:656,&height&:369},&href&:&\u002Fapi\u002Fposts\u002F&,&excerptTitle&:&&,&tipjarState&:&closed&,&annotationAction&:[],&sourceUrl&:&&,&pageCommentsCount&:13,&hasPublishingDraft&:false,&snapshotUrl&:&&,&publishedTime&:&T15:28:35+08:00&,&url&:&\u002Fp\u002F&,&lastestLikers&:[{&bio&:null,&isFollowing&:false,&hash&:&b666bcdaa501b6bfcc5dd83cc59f0f1b&,&uid&:184000,&isOrg&:false,&slug&:&zhang-shui-yao&,&isFollowed&:false,&description&:&&,&name&:&张水矅&,&profileUrl&:&https:\u002F\u002Fwww.zhihu.com\u002Fpeople\u002Fzhang-shui-yao&,&avatar&:{&id&:&v2-c5f83d349eb36f5e2a10a3e&,&template&:&https:\u002F\u002Fpic2.zhimg.com\u002F{id}_{size}.jpg&},&isOrgWhiteList&:false,&isBanned&:false},{&bio&:&simple&,&isFollowing&:false,&hash&:&0afbfb79fc8eb6f050a49f&,&uid&:04,&isOrg&:false,&slug&:&yu-kongliang&,&isFollowed&:false,&description&:&&,&name&:&余孔梁&,&profileUrl&:&https:\u002F\u002Fwww.zhihu.com\u002Fpeople\u002Fyu-kongliang&,&avatar&:{&id&:&c&,&template&:&https:\u002F\u002Fpic1.zhimg.com\u002F{id}_{size}.jpg&},&isOrgWhiteList&:false,&isBanned&:false},{&bio&:&工科男&,&isFollowing&:false,&hash&:&f0b6c9deec1a&,&uid&:796900,&isOrg&:false,&slug&:&lang-zi-40-65&,&isFollowed&:false,&description&:&&,&name&:&浪子&,&profileUrl&:&https:\u002F\u002Fwww.zhihu.com\u002Fpeople\u002Flang-zi-40-65&,&avatar&:{&id&:&da8e974dc&,&template&:&https:\u002F\u002Fpic4.zhimg.com\u002F{id}_{size}.jpg&},&isOrgWhiteList&:false,&isBanned&:false},{&bio&:&玩呗&,&isFollowing&:false,&hash&:&a49a8b8cc14a50b591c3d33cd73dc22f&,&uid&:16,&isOrg&:false,&slug&:&pei-yun&,&isFollowed&:false,&description&:&&,&name&:&培云&,&profileUrl&:&https:\u002F\u002Fwww.zhihu.com\u002Fpeople\u002Fpei-yun&,&avatar&:{&id&:&da8e974dc&,&template&:&https:\u002F\u002Fpic4.zhimg.com\u002F{id}_{size}.jpg&},&isOrgWhiteList&:false,&isBanned&:false},{&bio&:&&,&isFollowing&:false,&hash&:&d3ab08dcb2dfc21edcab35de084b3372&,&uid&:896800,&isOrg&:false,&slug&:&wang-xing-59-5&,&isFollowed&:false,&description&:&&,&name&:&啦啦啦0410&,&profileUrl&:&https:\u002F\u002Fwww.zhihu.com\u002Fpeople\u002Fwang-xing-59-5&,&avatar&:{&id&:&da8e974dc&,&template&:&https:\u002F\u002Fpic4.zhimg.com\u002F{id}_{size}.jpg&},&isOrgWhiteList&:false,&isBanned&:false}],&summary&:&\u003Cimg src=\&http:\u002F\u002Fpic1.zhimg.com\u002Fv2-a580e866bdd61d2acb2.jpg\& data-caption=\&\& data-size=\&normal\& data-rawwidth=\&1440\& data-rawheight=\&1080\& class=\&origin_image inline-img zh-lightbox-thumb\& data-original=\&http:\u002F\u002Fpic1.zhimg.com\u002Fv2-a580e866bdd61d2acb9569c_r.jpg\&\u003E\u003Cb\u003E1.引(fei)言(hua)\u003C\u002Fb\u003E最近在准备考试的过程对GMM模型理解更清楚了一点,不像以前直接背结果了,虽然这部分内容考试不考,但是我还是花了大量的时间在这方面。所以在昨天考完试后打算写点东西分享一下理解,希望能帮助这一块正在入门的学习者。同时也是对之前 \u003Ca class=\&member_mention\& href=\&http:\u002F\u002Fwww.zhihu.com\u002Fpeople\u002F00c3de8b2912a\& data-hash=\&00c3de8b2912a\& data-hovercard=\&p$b$00c3de8b2912a\&\u003E@…\u003C\u002Fa\u003E&,&reviewingCommentsCount&:0,&meta&:{&previous&:null,&next&:null},&annotationDetail&:null,&commentsCount&:13,&likesCount&:29,&FULLINFO&:true}},&User&:{&leilei-1996&:{&isFollowed&:false,&name&:&磊磊&,&headline&:&coding手残党,建模脑残党,由失败向着成功出发&,&avatarUrl&:&https:\u002F\u002Fpic3.zhimg.com\u002Fv2-ff6dcb810e_s.jpg&,&isFollowing&:false,&type&:&people&,&slug&:&leilei-1996&,&bio&:&半吊拉子数学爱好者&,&hash&:&73afbc95dd6fd3aa266e55f69ec35c7e&,&uid&:027200,&isOrg&:false,&description&:&coding手残党,建模脑残党,由失败向着成功出发&,&badge&:{&identity&:null,&bestAnswerer&:null},&profileUrl&:&https:\u002F\u002Fwww.zhihu.com\u002Fpeople\u002Fleilei-1996&,&avatar&:{&id&:&v2-ff6dcb810e&,&template&:&https:\u002F\u002Fpic3.zhimg.com\u002F{id}_{size}.jpg&},&isOrgWhiteList&:false,&isBanned&:false}},&Comment&:{},&favlists&:{}},&me&:{},&global&:{&experimentFeatures&:{&ge3&:&ge3_9&,&ge2&:&ge2_1&,&growthSearch&:&s2&,&nwebQAGrowth&:&experiment&,&qawebRelatedReadingsContentControl&:&close&,&liveStore&:&ls_a2_b2_c1_f2&,&qawebThumbnailAbtest&:&new&,&nwebSearch&:&nweb_search_heifetz&,&rt&:&y&,&showVideoUploadAttention&:&true&,&isOffice&:&false&,&enableTtsPlay&:&post&,&editorVideomakerEntrance&:&e&,&enableVoteDownReasonMenu&:&enable&,&newLiveFeedMediacard&:&new&,&newMobileAppHeader&:&true&,&androidPassThroughPush&:&all&,&hybridZhmoreVideo&:&no&,&nwebGrowthPeople&:&default&,&nwebSearchSuggest&:&default&,&qrcodeLogin&:&qrcode&,&seE&:&1&,&isf8&:&1&,&isShowUnicomFreeEntry&:&unicom_free_entry_off&,&newMobileColumnAppheader&:&new_header&,&feedHybridTopicRecomButtonIcon&:&yes&,&androidDbRecommendAction&:&open&,&zcmLighting&:&zcm&,&androidDbFeedHashTagStyle&:&button&,&appStoreRateDialog&:&close&,&default&:&None&,&isNewNotiPanel&:&no&,&wechatShareModal&:&wechat_share_modal_show&,&growthBanner&:&default&,&androidProfilePanel&:&panel_b&}},&columns&:{&next&:{}},&columnPosts&:{},&columnSettings&:{&colomnAuthor&:[],&uploadAvatarDetails&:&&,&contributeRequests&:[],&contributeRequestsTotalCount&:0,&inviteAuthor&:&&},&postComments&:{},&postReviewComments&:{&comments&:[],&newComments&:[],&hasMore&:true},&favlistsByUser&:{},&favlistRelations&:{},&promotions&:{},&switches&:{&couldSetPoster&:false},&draft&:{&titleImage&:&&,&titleImageSize&:{},&isTitleImageFullScreen&:false,&canTitleImageFullScreen&:false,&title&:&&,&titleImageUploading&:false,&error&:&&,&content&:&&,&draftLoading&:false,&globalLoading&:false,&pendingVideo&:{&resource&:null,&error&:null}},&drafts&:{&draftsList&:[],&next&:{}},&config&:{&userNotBindPhoneTipString&:{}},&recommendPosts&:{&articleRecommendations&:[],&columnRecommendations&:[]},&env&:{&edition&:{&baidu&:false,&yidianzixun&:false,&qqnews&:false},&isAppView&:false,&appViewConfig&:{&content_padding_top&:128,&content_padding_bottom&:56,&content_padding_left&:16,&content_padding_right&:16,&title_font_size&:22,&body_font_size&:16,&is_dark_theme&:false,&can_auto_load_image&:true,&app_info&:&OS=iOS&},&isApp&:false,&userAgent&:{&ua&:&Mozilla\u002F5.0 (compatible, MSIE 11, Windows NT 6.3; Trident\u002F7.0; rv:11.0) like Gecko&,&browser&:{&name&:&IE&,&version&:&11&,&major&:&11&},&engine&:{&version&:&7.0&,&name&:&Trident&},&os&:{&name&:&Windows&,&version&:&8.1&},&device&:{},&cpu&:{}}},&message&:{&newCount&:0},&pushNotification&:{&newCount&:0}}

我要回帖

更多关于 高斯混合模型 opencv 的文章

 

随机推荐