机器学习(7)-EM算法
来源:互联网 发布:剑灵刺客捏脸数据图 编辑:程序博客网 时间:2024/06/05 14:42
最大似然估计
- 在讲EM算法前,回顾下最大似然估计
最大似然估计解决的问题是,在不知道参数θ的情况下,只有数据,要猜出参数θ。- 假设参数为θ
- 那么在θ参数出现的情况下,出现样本
xi 的概率就是p(xi|θ) - 考虑所有样本,计算最大值,进行累乘法:
l(θ)=∏mi=1p(xi|θ) - 由于累乘计算难度比较大,加入一个对数转换为加法
- 因为我们求得是最大值,即使加入对数也不会改变结果
- logAB = logA + logB
- 所以最大似然函数变成
l(θ)=log∏mi=1p(xi|θ)=∑mi=1logp(xi|θ)
- 接下来只要知道
p(xi|θ) 的分布函数,就可以进行相关求解
EM算法解决什么问题
- 如果存在隐含变量,最大似然函数就难以求解
如:假设有两枚不均匀的硬币A和B,分别朝上和朝下的概率都不同,也就是不一定是0.5朝上,0.5朝下,要求这两个硬币的朝上和朝下的概率。
每次投掷10次,但是每次的结果我们不知道来自哪一个硬币,这个就是隐含变量。结合最大似然函数就是∑mi=1log∑zp(xi|θ) ∑z 在此例子中表示两种情况,一种来自A,一种来自B,这样就难以求解。 - em算法具体是怎么做的
0.随机或者根据经验假设初始值朝上的概率θA 和θB
1.E-step:根据参数θ计算每个样本属于Zi 的概率,也就是这个样本是属于A还是属于B的概率
2.M-Step:根据Q,求出含有θ的似然函数的下界并最大化它,得到新的参数θ
3.不断的迭代更新下去
EM算法推导
Jensen不等式
- 设f是定义域为实数的函数,如果对于所有的实数x。如果对于所有的实数x,f(x)的二次导数大于等于0,那么f是凸函数。
- 如果f是凸函数,X是随机变量,那么:E[f(X)]>=f(E[X])
- 如果是凹函数,则f(E[X])>=E[f(X)]
- 把函数
log∑zp(xi|θ) 转换为Jensen不等式格式求解log∑zp(xi|θ)=log∑zQ(z)p(xi|θ)Q(z) Q(z) 表示z的分布函数- 由于
∑zQ(z)p(xi|θ)Q(z) 是p(xi|θ)Q(z) 的期望 - 设Y=
p(xi|θ)Q(z) 则有:log∑zQ(z)p(xi|θ)Q(z)=log∑YP(Y)Y=logE(Y)>=E(logY) E(logY)=∑YP(Y)logY=∑zQ(z)logp(xi,z;θ)Q(z) - 结论:
l(θ)=∑mi=1log∑zp(xi,z;θ)>=∑mi=1∑zQ(z)logp(xi,z;θ)Q(z) - 求下界的最大值,即左右相等的时候
- Jensen中等式成立的条件是随机变量是常数:
Y=p(x,z;θ)Q(z)=c - 由于Q(z)是z的分布函数:
∑zQ(z)=∑zp(xi,z;θ)c=1 - 由上面的式子得:
c=∑zp(xi,z;θ) Q(z)=p(xi,z;θ)c=p(xi,z;θ)∑zp(xi,z;θ)=p(xi,z;θ)p(xi;θ)=p(z|xi;θ) - Q(z)表示第i个数据来自
Zi 的概率
阅读全文
0 0
- 机器学习(7)-EM算法
- 机器学习(EM算法)
- 机器学习:EM算法
- 机器学习:EM算法
- 机器学习:EM算法
- 机器学习--EM算法
- 【机器学习】EM算法
- 机器学习-EM算法
- 机器学习算法(八):EM算法
- 机器学习算法(七)EM算法族 EM、GMM
- 【机器学习系列】EM算法
- 【机器学习】EM算法入门
- 机器学习之 EM算法
- 机器学习---EM算法(分类)
- <机器学习练习>EM算法
- 机器学习算法疗程(EM)
- 机器学习(4) EM算法
- 机器学习24-EM算法
- 数据结构-图-最短路径(1)迪杰斯特拉算法构造
- samba共享
- 【安全牛学习笔记】ACUNETIX WEB VULNERABILITY SCANNER
- 文章内容过长显示省略号
- C语言str系列函数
- 机器学习(7)-EM算法
- github每次push代码时都要输入用户名和密码的解决方法
- “戏”说Spark-Spark核心-RDD转换操作算子详解(一)
- 新手linux常用命令转载
- 第一篇博客,记录我的刷题之路,谈谈感受
- pytesseract的简单验证码的识别-python
- JAVA短信验证登录
- Android系统Camera录像过程分析
- bat脚本调用java程序