欧拉版
这里的μi和Σi的维度跟样本维度一样的,若样本是5维的,μi和Σi也是5维向量
N(xi|uk,Σk)表示在给定uk,Σk的情况下,第i个样本属于第k个高斯分布的概率密度,πk表示第k个高斯分布本身被选中的概率
例子:假设k=2(k预先要给定),想知道样本身高属于男还是女,先验性地给定一个男性和女性身高分布的均值u和方差δ,对于每一个样本可以根据上式算出其属于男性和女性的概率。再根据这个概率,把样本对应的值拆分为属于男性的部分,属于女性的部分(如x1=1,98,x有0.9的概率属于男性,0.1的概率属于女性,则x1属于男性的身高为1.782,属于女性的身高为0.198),根据拆分后的样本数据就可以计算之前先验性给定的那个男性和女性身高分布的均值和方差(对之前先验性给定的数据进行更新,直到最后收敛)
Ps:计算更新u和δ时公式中的n不是样本个数,而是样本属于男性的概率,如x1=0.9,x2=0.3
先验性地假设对结果有影响
EM算法受初值给定的影响,如事先给定的男性女性身高均值,女性大于男性,会造成最后的结果也是女性大于男性(即男性女性性别搞反了)
精确版
如图,割线上的点总是小于函数值,为了取等号,则必须使2点相同,此处令P/Q=C;取等号是为了蓝色线函数初始值能够与红线相切,才能保证传递性,(a>o>b,而不是a>o,o<b)
先给seta一个初值,不断更新
实践
spherical:各个隐藏类别间的方差相等,协方差为0
diag:各个隐藏类别间的方差不相等,协方差为0
tied:各个隐藏类别间的方差相等,协方差为不0
full:各个隐藏类别间的方差协方差不相等
越小越好