一维单高斯模型SGM###
分布概率密度函数PDF定义如下:
N(x;μ,σ)=2πσ1exp(−2σ2(x−μ)2) 多维单高斯模型SGM###
分布概率密度函数PDF定义如下:
N(x;μ,Σ)=(2π)D∣Σ∣1exp(−21(x−μ)TΣ−1(x−μ)) 注:μk各类均值,Σk各类协方差矩阵,D是维度
注意得满足下面3个条件,才等价于N维随机向量服从多维正太分布
任何线性组合Y=α1x1+…+αnxn服从正太分布
几何理解: 二维的SGM在平面上近似椭圆形,在三维空间中近似椭球体。
混合高斯模型###
由K个 Gaussian Model(多维)线性组合在一起就是GMM的概率密度函数:
p(x)=k=1∑Kp(Zk=1)p(x∣Zk=1)=k=1∑KπkN(x∣μk,Σk)k=1∑Kπk=1Z为K维向量,满足Zk∈0,1一个样本不能由多个类别混合组成吗?EM中没这样要求。 这样应该是有问题的。后来看到徐亦达老师的课件中是这么定义的: 
求解
每个样本所属分类已知####
设样本容量为N,属于第K个分类的样本数量为Nk,则
πk=NNkμk=Nk1x∈L(k)∑xΣk=Nk1x∈L(k)∑(x−μk)T(x−μk) 所有样本所属分类已知,则跟EM算法没有关系。但是部分样本已知分类,如何半监督的学习,或者初始化EM的参数?
样本分类数未知####
对整体数据求对数极大似然:
f(x)=i=1∑Nlogk=1∑KπkN(x∣μk,Σk) 初始化参数:初始化每个Gaussian Models 都是标准正太分布。
E步:依据当前模型的参数,计算分模型k对观测数据xi的相应度。
或者说每个样本由第k个component生成的概率,即类别k在给定的x下的条件概率,利用bayesian公式得:
γ(i,k)=p(z=k∣xi;μ,Σ)=∑k=1KπkN(xi∣μk,Σk)πkN(xi∣μk,Σk)γ(i,k)是在当前模型参数下等i个观测数据来自第k个分模型的概率 注意:在算γ(i,k)时,假定μk,Σk均已知,是上一轮迭代出的参数。
M步:对期望的下限最大化,计算新一轮迭代的模型参数。
注意:此时γ(i,k)已知,也就是知道了每个样本由那个component生成,此时求模型参数,使似然函数最大化。
μk,Σk分别求偏导数,然后等于0就可以了
πk不能直接求偏导数,因为有∑k=1Kπk=1的约束,可以构造拉格朗日函数求解
求解过程: 对μk求导,固定πk,Σk
f=i=1∑Nlogk=1∑Kπk∑k=1KπkN(x∣μk,Σk)=i=1∑Nlogk=1∑Kπk∑k=1KπkN(x∣μk,Σk)=i=1∑Nk=1∑Kγ(i,k)log∑k=1Kγ(i,k)N(x∣μk,Σk)∂μk∂f=−i=1∑Nk=1∑Kγ(i,k)21(xi−μ)TΣk−1(xi−μ)=−21i=1∑Nγ(i,k)(2μkTΣk−1xi−μkTΣk−1μk)=i=1∑Nγ(i,k)(Σk−1xi−Σk−1μk)=0μk=Nk1i=1∑Nγ(i,k)xi 对Σk求导,固定πk,μk
Σk=Nk1i=1∑Nγ(i,k)(xi−μk)(xi−μk)T Nk=i=1∑Nγ(i,k),πk=NNk 半监督学习###
并行学习###
参考佳文####
高斯混合模型和期望最大化算法 (此文甚是清晰准确)
期望最大化算法