EM算法(转载)
来源:互联网 发布:js style.left无效 编辑:程序博客网 时间:2024/05/27 00:49
EM算法简介
Expectation-Maximization(EM)算法用于maximum-likelihood parameter estimation类问题
假如问题有一组参数α和一组训练数据D,如何设置这些参数使得最拟合这组数据呢,一种解法是选取使p(D|α)最大的α,F(α|D)=p(D|α)称作likelihood function,而使likelihood function 取最大值的那组参数记作α*,这称为maximum-likelihood estimation类问题,这类问题的目标就在于求α*
EM算法是求α*的一种技术,它适用于有不可见数据的情况(incomplete data),比如数据集D可以分成两个集合D=(X,Y),X可见,Y不可见
这样可以得到F(α|D)=p(D|α)=p(X,Y|α)=p(Y|X,α)p(X|α)
其中,p(X|α)是很好理解的,而p(Y|X,α)有可能来源于模型中的隐藏变量(unobservable variable)比如隐马模型里的hidden status,也有可能这是为了便于计算而假定出来的条件
转变一下形式,如果把α,X看作固定的量,那么F(α|D)=F(α|X,Y)=F α,x (Y),就可以把Y看作函数F α,x的自由变量,而事实上X是观察数据(observed data),α可以取个初值α0,这样一方面可以用F的均值来衡量F,另一方面这个过程是可以迭代下去的
设上一轮迭代的α或取得初值为α',新的α值和α‘之间可以定义这么一个函数来评估α的效果
Q(α,α')=E(logF(α|X,Y) | X,α')
这里给F(α|D)取一个log是为了方便乘法运算,E是对F(α|D)的期望,那问题就转为了让Q(α,α')尽可能大
强调一下,在这个方程式里,X和α'是已知的量,α是Q的参数,我们希望调节α来使Q取最大值,而Y则是自由变量,这里的期望也就是对Y来求得,把Q扩展一下
Q(α,α')=E(logF(α|X,Y) | X,α')=∫ log F(α|X,Y) f(y|X,α‘) dy = ∫ log p(X,y|α) f(y|X,α‘) dy
其中f是y在X和α'下的分布函数,这里的积分也是对y所在的值空间来求得,上面这步称作E-step
通过对Q(α,α')求导,зQ(α,α')/зα =0,我们可以在α'的基础上求一个新的值α^,这一步称作M-step
设置一个初始的α0值,交替的使用E-step和M-step,最后α值会收敛到α*
- EM算法(转载)
- (EM算法)The EM Algorithm 和 混合高斯模型Demo(转载)
- EM算法(2)
- (EM算法)The EM Algorithm
- (EM算法)The EM Algorithm
- (EM算法)The EM Algorithm
- (EM算法)The EM Algorithm
- (EM算法)The EM Algorithm
- (EM算法)The EM Algorithm
- (EM算法)The EM Algorithm
- (EM算法)The EM Algorithm
- (EM算法)The EM Algorithm
- (EM算法)The EM Algorithm
- (EM算法)The EM Algorithm
- (EM算法)The EM Algorithm
- (EM算法)The EM Algorithm
- (EM算法)The EM Algorithm
- (EM算法)The EM Algorithm
- pku3512直线斜率排序
- 莫名其妙的http 405错误
- 学生信息管理系统:配置服务器
- 移植MPlayer到linux 2.6的方法
- python获取url地址中的参数
- EM算法(转载)
- use 应用css样式(一)
- iphone 创建多国语言的支持
- 把3个数从大到小输出。。。。(如果是N个数,可以用函数???)
- 启动时候就横屏显示
- [读]2. Simplify essential complexity; diminish accidental complexity
- 枚举:Key与ModifierKeys
- PHP+MySQL应用的乱码根绝方案
- gridview中的自定义删除按钮的 CommandName不要等于“delete”。