GMM基础

Posted H-w-H

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GMM基础相关的知识,希望对你有一定的参考价值。

GMM

定义

高斯混合模型就是用高斯概率密度函数(正态分布曲线)精确地量化事物,它是一个将事物分解为若干的基于高斯概率密度函数(正态分布曲线)形成的模型。

几何表示

假如我们我们现有的数据分布如红线所示,可以发现用一个高斯分布很难较好的描述这组数据的分布,所以我们能够用两个高斯分布加权平均得到一个新的分布,其中每一个数据点都有一定概率属于两个高斯分布中的一个。

GMM只是若干个高斯分布的加权平均(上图中是两个高斯分布)
P ( x ) = ∑ k = 1 K α k N ( μ k , Σ k ) ∑ k = 1 K α k = 1 P(x)=\\sum_k=1^K\\alpha_kN(\\mu_k,\\Sigma_k)\\qquad\\sum_k=1^K\\alpha_k=1 P(x)=k=1KαkN(μk,Σk)k=1Kαk=1
每个数据点都有属于每个高斯分布的可能性,我们用概率去描述这个可能性

x x x 表示观测数据; z z z 是我们引入的隐变量,用于表示对应的样本属于哪一个高斯分布。

G M M GMM GMM中, Z Z Z 是离散型的随机变量。

引入隐变量 Z Z Z 后,有:
P ( x ∣ θ ) = ∑ k = 1 K P ( x , z k = c k ∣ θ ) = ∑ k = 1 K P ( z k = c k ∣ θ ) P ( x ∣ z k = c k , θ ) = ∑ k = 1 P k ⋅ N ( x ∣ μ k , Σ k ) \\beginalignP(x|\\theta)&=\\sum_k=1^KP(x,z_k=c_k|\\theta)\\\\&= \\sum_k=1^KP(z_k=c_k|\\theta)P(x|z_k=c_k,\\theta)\\\\ &=\\sum_k=1P_k·N(x|\\mu_k,\\Sigma_k) \\endalign P(xθ)=k=1KP(x,zk=ckθ)=k=1KP(zk=ckθ)P(xzk=ck,θ)=k=1PkN(xμk,Σk)

用途

GMM,是一种业界广泛使用的聚类算法,该方法使用了高斯分布作为参数模型,并使用了期望最大(Expectation Maximization,简称EM)算法进行训练。

证明推导

极大似然估计(MLE)

极大似然估计,通俗理解来说,就是利用已知的样本结果信息,反推最具有可能(最大概率)导致这些样本结果出现的模型参数值!
模型 + 数据 → 参数 模型+数据\\rightarrow 参数 模型+数据参数
怎样的参数是最好的?使得观测数据出现的概率(即所谓likelihood,似然)最大的参数就是最好的。这个朴素的思想,就是极大似然估计(Maximum Likelihood Estimation, MLE)。对一个独立同分布(i.d.d)的样本集来说,总体的似然就是每个样本似然的乘积。

假设我们已知模型是高斯分布 N ( μ , σ ) , μ 未知, σ 已知 N(\\mu,\\sigma),\\mu未知,\\sigma已知 N(μ,σ),μ未知,σ已知,和一组数据 X X X,那么它的似然就是
L ( μ ) = ∏ i N 1 2 π σ e − ( X i − μ ) 2 2 σ 2 L(\\mu)=\\prod_i^N\\frac 1\\sqrt2\\pi\\sigmae^-\\frac (X_i-\\mu)^22\\sigma^2 L(μ)=iN2π σ1e2σ2(Xiμ)2
在实际中,因为连乘计算起来比较麻烦,并且概率都很小,难免越乘越接近0最终引发数值bug,因此多对其取log, 得到log似然( log likelihood):
L L ( μ ) = ∑ i N ( X i − μ ) 2 2 σ 2 − N 2 l o g 2 π − N l o g σ LL(\\mu)=\\sum_i^N\\frac (X_i-\\mu)^22\\sigma^2-\\frac N2log2\\pi-Nlog\\sigma LL(μ)=iN2σ2(Xiμ)22Nlog2πNlogσ
log并不改变似然函数的凸性,因此可令其对u取极值(函数取极值的方法:导数为0的点,边界点。),显然得到:
μ = ∑ i N X i N \\mu=\\frac \\sum_i^NX_iN μ=NiNXi
 这就完成了对高斯分布均值的极大似然估计。值得一提的是,该例的log似然实在是太简单,所以这个极值可以直接得到;在更多的情况下,我们需要通过梯度下降法等最优化算法来求解。

GMM 参数求解

G M M GMM GMM模型似然函数
L ( θ ) = ∏ i = 1 n p ( x ( i ) ∣ θ ) = ∏ i = 1 n ∑ k = 1 K α k N ( x ( i ) ∣ μ k , σ k ) = ∏ i = 1 n ∑ k = 1 K p ( x ( i ) , z ( i ) = k ∣ θ ) = ∏ i = 1 n ∑ k = 1 K p ( z ( i ) = k ∣ θ ) p ( x ( i ) ∣ z ( i ) = k , θ ) (1) \\beginalign L(\\theta)&=\\prod_i=1^np(x^(i)|\\theta)\\\\ &=\\prod_i=1^n\\sum_k=1^K\\alpha_kN(x^(i)|\\mu_k,\\sigma_k)\\\\ &=\\prod_i=1^n\\sum_k=1^Kp(x^(i),z^(i)=k|\\theta)\\\\ &=\\prod_i=1^n\\sum_k=1^Kp(z^(i)=k|\\theta)p(x^(i)|z^(i)=k,\\theta)\\\\ \\endalign\\tag1 L(θ)=i=1np(x(i)θ)=i=1nGMM基础

gmm模型难吗

Python系列-17]:人工智能 - 数学基础 -7- 微积分导数与极值梯度下降法

EM算法-数学基础

算法学习三分法

优化求解基于matlab遗传算法求解函数极值问题含Matlab源码 1198期