1.背景知识:
(1)Jensen不等式:若f是凸函数
基本Jensen不等式:
f(θx+(1−θ)y)≤θf(x)+(1−θ)f(y)
几何理解,函数值小于割线值。

若θ1,…,θk≥0,θ1+⋯+θk=1,则有:
f(θ1x1+⋯+θkxk)≤θ1f(x1)+⋯+θkf(xk)
概率意义上理解:X是随机变量,P是随机变量取值的概率
XPx1θ1x2θ2⋯⋯xkθk
Jessen不等式可以理解为:
f(Ex)≤Ef(x)
若p(x)≥0 on S⊆domf,∫Sp(x)dx=1,则有:
f(∫Sp(x)xdx)≤∫Sf(x)p(x)dx
(2)K-means算法:
K-Means算法,也被称为k-平均或k-均值,是一种广泛使用的聚类算法,
或者称为其他聚类算法的基础。
假定输入样本为S=x1,x2,…,xm,则算法步骤为:
(i)选择初始的k个簇中心μ1μ2…μk;
(ii)将样本xi标记为距离簇中心最近的簇:
labeli=1≤j≤kargmin∥xi−μj∥
(iii)更新簇中心:μj=∣cj∣1∑i∈cjxi
(iv)重复最后两步,直到满足终止条件。
终止条件:迭代次数/簇中心变化率/最小平方误差MSE。
经典的K-means聚类算法,能够非常方便的将未标记的样本分成若干簇,
但无法给出某个样本属于该簇的后验概率。
(3)极大似然估计
找出于样本的分布最接近的概率分布模型
(i)二项分布的最大似然估计
投硬币试验中,进行N次独立试验,n次朝上,N-n次朝下。
假定朝上的概率为p,使用对数似然函数作为目标函数:
f(n∣p)=log(pn(1−p)N−n)⟶Δh(p)
∂p∂h(p)=pn−1−pN−n⟶Δ⇒p=Nn
(ii)进一步考察高斯分布
若给定一组样本x1,x2…xn,已知它们来自于高斯分布N(μ,σ),
试估计参数μ,σ。
高斯分布的概率密度函数:
f(x)=2πσ1e−2σ2(x−μ)2
将Xi的样本值xi带入,得到:
L(x)=i=1∏n2πσ1e−2σ2(xi−μ)2
化简对数似然函数:
l(x)=log∏2πσ1e−2σ2(xi−μ)2=∑ilog2πσ1e−2σ2(xi−μ)2=(∑ilog2πσ1)+(∑i−2σ2(xi−μ)2)=−2nlog(2πσ2)−2σ21∑i(xi−μ)2
参数估计的结论:
目标函数:
l(x)=−2nlog(2πσ2)−2σ21i∑(xi−μ)2
将目标函数对参数μ,σ分别求偏导,很容易得到μ,σ的式子:
{μ=n1∑ixiσ2=n1∑i(xi−μ)2
上述结论矩估计的结果式一致的,表示样本的均值就是高斯分布的均值,样本的伪方差即高斯分布的方差。
2.直观理解GMM参数估计:
随机变量X是由K个高斯分布混合而成,取各个高斯分布的概率为π1π2…πK,第i个高斯分布均值为μi,方差为∑i。若观测到随机变量X的一系列样本x1,x2,…,xn,试估计参数π,μ,∑。
(1)目标函数
对数似然函数
lπ,μ,Σ(x)=i=1∑Nlog(k=1∑KπkN(xi∣μk,Σk))
由于再对数函数里面又有加权和,无法直接用求导方程的方法直接求得
最大值。为了解决这个问题,我们分两部解决。
(2)估算数据来自哪个组分
估计数据由每个组份生成的概率:对于每个样本xi,
它由第k个组份生成的概率为:
γ(i,k)=∑j=1KπjN(xi∣μj,Σj)πkN(xi∣μk,Σk)
上式中的μ和∑也是待估计的值,再计算γ(i,k)时假定μ和∑是已知,
需要先验给定μ和∑,γ(i,k)可以看作组份K在生成数据xi时所作的贡献。
(3)估计每个组份
对于所有的样本点,对于组份k而言,可看作生成了{γ(i,k)xi∣i=1,2,⋯N}这些点,组份k是个标准的高斯分布,利用上面这些结论。
⎩⎪⎪⎪⎨⎪⎪⎪⎧Nk=∑i=1Nγ(i,k)μk=Nk1∑i=1Nγ(i,k)xiΣk=Nk1∑i=1Nγ(i,k)(xi−μk)(xi−μk)Tπk=NNk=N1∑i=1Nγ(i,k)