一、引入例子
1、 袋子中有红,白两种球,比例 p:(1-p),可以看成二元的伯努利分布。从袋子中反复对球进行抽样,X1,X2,...,Xn。
p=|{Xi=红}|/n
2、两个袋子,各自都有红色的球和白色的球,选择第一个袋子的概率为w,选择第二个袋子的概率为1-w。第一个袋子抽到红球的概率为p,抽到白球的概率为1-p;第二个袋子中抽到红球的概率为q,抽到白球的概率为1-q。<主要三个参数w,p,q>
p(X=红)=wp+(1-w)q
p(X=白)=w(1-p)+(1-w)(1-q)
p(第一个|X=红)=wp/wp+(1-w)q
p(第二个|X=红)=(1-w)q/wp+(1-w)q
p(第一个|X=白)=w(1-p)/w(1-p)+(1-w)(1-q)
p(第二个|X=白)=(1-w)(1-p)/w(1-p)+(1-w)(1-q)
从样本估计参数,红--1;白--0
Xi密度:
极大似然估计:
Xi=0和Xi=1带入化为:
结论:
给出其中两个参数就可以得到另一个参数。
二、迭代角度
由于极大似然的计算非常复杂,因此可以考虑迭代的方法,收敛到局部最优 ,给出p,q,w.
Xi | |
第一个 红 | wp/wp+(1-w)q=ai |
第一个 白 | w(1-p)/w(1-p)+(1-w)(1-q)=bi |
第二个 红 | (1-w)q/wp+(1-w)q=ci |
第二个 白 | (1-w)(1-p)/w(1-p)+(1-w)(1-q)=di |
每一列总和均为1,整个表的总和为n
重新估计:第一个估计 与之前的w0不相等
p估计
q估计
可以一直迭代下去,把迭代一步的值看做下一次的初始值,上述为EM算法。
三、推广到机器学习
从k个高斯分布中随机抽取一个高斯分布,k个高斯分布对应的概率为w1,w2,...,wk,其总和为1
X的密度函数:
给出X1,X2,...,Xk 估计出
样本的密度函数
利用极大似然估计难以求解,则考虑迭代
分布 | X1 | X2 |
1 | ||
2 |
每一列总和均为1
重新估计:,
,
,
一直迭代下去,可以估计出每个高斯分布的权重,直到收敛。