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=1∑KαkN(μk,Σk)k=1∑Kα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=1∑KP(x,zk=ck∣θ)=k=1∑KP(zk=ck∣θ)P(x∣zk=ck,θ)=k=1∑Pk⋅N(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(μ)=i∏N2πσ1e−2σ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(μ)=i∑N2σ2(Xi−μ)2−2Nlog2π−Nlogσ
log并不改变似然函数的凸性,因此可令其对u取极值(函数取极值的方法:导数为0的点,边界点。),显然得到:
μ
=
∑
i
N
X
i
N
\\mu=\\frac \\sum_i^NX_iN
μ=N∑iNXi
这就完成了对高斯分布均值的极大似然估计。值得一提的是,该例的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=1∏np(x(i)∣θ)=i=1∏nGMM基础