最近感觉对EM算法有一点遗忘,在表述的时候,还是有一点说不清,于是重新去看了这篇<CS229 Lecture notes>笔记. 于是有了这篇小札.

关于Jensen's inequality不等式:

    

  Corollary(推论):

  如果函数f(x)为凸函数,那么在 f(x) 上任意两点X1,X2所作割线一定在这两点间的函数图象的上方,即:

     其中t表示【x1,x2】的位置

举例子: 当t=1/2 ;  1/2*f(x1) + 1/2*f(x2) >= f( 1/2*x1 + 1/2*x2 );

或者我们直接抽象的表示为: E[f(X)] ≥ f(EX) ,其中E表示期望.

那么这个 Jensen's inequality(Jensen's 不等式在EM算法中起到什么作用呢?)这里我们先不表.

关于极大似然评估(MLE):

  假定存在一个样本集 D= {x1,x2,...,Xm },为M个独立分布的样本. 假设似然函数为: 联合概率密度函数P(D ; θ) ,其中(P(D ; θ)这种表示相当于P(D),只是存在未知参数θ)

  我们知道了似然函数之后,将样本数据展开:

               P(D ; θ) = p(x1,x2,...,Xm;θ) = ∏mi=1 p(xi ; θ)

  我们令 L( Z ) =  mi=1  p(xi ; θ) ,如果存在θi 使得 L(θ)最大,我们认为θi为θ的极大似然估计量,同时我们认为θi(x1,x2,...,xm)为样本集D的极大似然函数估计量

关于求解极大似然函数:

       求使得出现该组样本的概率最大的θ值。

            θi = argmax(L(θ)) = argmax(  ∏mi=1 p(xi ; θ) );

继续回到上面的公式: 

      L( θ ) =  mi=1 p(xi ; θ); 要使得L(θ)最大,那么对这个公式进一步化解:

      等价于: log( L(θ) ) = log(  mi=1  p(xi ; θ) )  =  ∑m i=1 P(xi ;θ)  

       (m i=1 P(xi ;θ))' = d( m i=1 P(xi ;θ) ) / d(θ) =0 ; 求导 得 θ的解                        

关于极大似然求解的步骤:

   (1)写出似然函数;

(2)对似然函数取对数,并整理;

(3)求导数;

(4)解似然方程。

我们先来看文章给出的这样一个问题:

     比如我们有一个训练集合X={ x1 , x2 , .... , Xm};里面包含M个样本. 我们希望将模型p(x,z)的参数与训练集合数据进行拟合,其中的函数-对数似然是:

        

    我们想上面求解极大似然函数一样来求解这个似然函数:

        对它进行微分方程,求导    d( L(θ) ) / d( θ ) =0;  ? 我们很快就发现无法求解,因为存在新的未知变量Z(隐变量);如何来解释这个隐变量Z呢?

比如这样一个例子:

      比如有A,B两个人比赛随机打靶,每个人每次打4枪,当命中九环以内,包括九环,是记录为1,否则记录为0; 但是由于裁判熬夜玩游戏,比赛完成是,收集比赛结果时,搞混了靶纸。于是整理出如下结果:

靶纸结果
人名 结果
未知 1011
未知 0011
未知 1101
未知 0101
未知 1011
未知 0010
未知 1111
未知 1011

问A命中九环的概率pa,B命中九环的概率pb?

而这里的隐变量Z就是人名的顺序。

面对这个问题,显然使用极大似然函数去正面扛困难重重,EM算法为这个问题,提供了一个很好的思路:

    求解分两步走:

         E step 期望阶段:

              

             先假定,即初始化A,B命中的概率pa0=0.2 , pb0=0.5;

                    求出8次打靶中,该次打靶的结果是A,B的可能性即概率:

                 第一次打靶:如果是A的打靶结果:  0.2*0.8*0.2*0.2=0.0064

                                               如果是B的打靶结果:    0.5^4 =0.0625

第i次是A,B打靶的结果概率
第i次打靶 A       B       
1 0.0064 0.0625
2 0.0256 0.0625
3 0.0064 0.0625
4 0.0256 0.0625
5 0.0064 0.0625
6 0.1024 0.0625
7 0.0016 0.0625
8 0.0064 0.0625

如此,我们依据极大似然函数,来确定每一轮是谁打的

  1轮: P(A1)<P(B1),

由上面这个表,我们在假定的前提下,计算出了A或者B的出现每轮打靶结果的概率;我们可以依据这个结果,进一步计算第i次是A,B打靶的相对概率

求出8次打靶中,该次打靶的结果是A,B的相对可能性即概率:

                 第一次打靶:如果是A的打靶结果:  0.0064/(0.0064 + 0.0625) =0.0928

                                               如果是B的打靶结果:    0.0625/(0.0064 + 0.0625) =0.9072

第i次是A,B打靶结果的概率
第i次打靶 A       B       
1 0.0928 0.9072
2 0.290 0.710
3 0.0928 0.9072
4 0.290 0.710
5 0.0928 0.9072
6 0.620 0.380
7 0.0249 0.9751
8 0.0928 0.9072

    我们先假定A,B命中的概率pa1,pb1,然后去推到它们比赛的顺序,再依据比赛的顺序,来计算A,B命中的概率Pa2,pb2. 当pa2,pb2和pa1,pb2结果相差时较大时,

将pa2,pb2代入,继续推到它们的比赛顺序,计算A,B命中的概率

转载于:https://www.cnblogs.com/gongxijun/p/9805361.html

读吴恩达算-EM算法笔记相关推荐

  1. 吴恩达深度学习课程笔记(四):卷积神经网络2 实例探究

    吴恩达深度学习课程笔记(四):卷积神经网络2 实例探究 吴恩达深度学习课程笔记(四):卷积神经网络2 实例探究 2.1 为什么要进行实例探究 2.2 经典网络 LeNet-5 AlexNet VGG- ...

  2. 737 页《吴恩达深度学习核心笔记》发布,黄海广博士整理!

    点击上方"AI有道",选择"置顶"公众号 重磅干货,第一时间送达 深度学习入门首推课程就是吴恩达的深度学习专项课程系列的 5 门课.该专项课程最大的特色就是内容 ...

  3. 深度学习入门首推资料--吴恩达深度学习全程笔记分享

    本文首发于微信公众号"StrongerTang",可打开微信搜一搜,或扫描文末二维码,关注查看更多文章. 原文链接:(https://mp.weixin.qq.com/s?__bi ...

  4. 吴恩达深度学习课程笔记(初步认识神经网络)

    吴恩达深度学习课程笔记1 课程主要内容 1.神经网络与深度学习介绍 2.Improving Deep Neural Networks:超参数调整,正则化,优化方法 3.结构化机器学习工程:比如如何分割 ...

  5. 机器学习-吴恩达网易云课堂笔记

    机器学习-吴恩达网易云课堂笔记 Machine Learning: A computer program is said to learn from experience E with respect ...

  6. coursera-斯坦福-机器学习-吴恩达-第9周笔记(下)-推荐系统

    coursera-斯坦福-机器学习-吴恩达-第9周笔记(下)-推荐系统 coursera-斯坦福-机器学习-吴恩达-第9周笔记下-推荐系统 1预测电影等级 1任务设想 2基于内容的推荐 2协同过滤 1 ...

  7. 吴恩达ChatGPT网课笔记Prompt Engineering——训练ChatGPT前请先训练自己

    吴恩达ChatGPT网课笔记Prompt Engineering--训练ChatGPT前请先训练自己 主要是吴恩达的网课,还有部分github的prompt-engineering-for-devel ...

  8. 吴恩达机器学习MATLAB代码笔记(1)梯度下降

    吴恩达机器学习MATLAB代码笔记(1)梯度下降 单变量线性回归 1.标记数据点(Plotting the Date) fprintf('Plotting Data') data = load('D: ...

  9. 免费分享全套吴恩达深度学习课程笔记以及编程作业集合

    分享吴恩达深度学习全套 笔记 笔记来源于吴恩达老师课程中口述翻译,并包含板书.可以取代看视频,做到更快速学习. (部分目录) (部分目录) (板书) 编程作业 扫描二维码后台回复"0&quo ...

  10. 吴恩达深度学习课程笔记-3

    吴恩达深度学习课程笔记-3 src="http://nbviewer.jupyter.org/github/HuaGuo1992/Blog/blob/master/%E5%90%B4%E6% ...

最新文章

  1. (转)从CPU架构和技术的演变看GPU未来发展
  2. 2021新茶饮研究报告
  3. java数据结构之快速排序
  4. 农村金融大变革,央行要给农民发钱了!
  5. 【Kafka】Kafka 1.1.0以后版本获取Kafka每个分区最新Offset的几种方法
  6. pycharm 里面配置pip,安装库
  7. GPT2模型训练,50w个多轮中文对话语料
  8. (二)Flask 学习 —— 模板
  9. NodeJS链接MongDB
  10. vim介绍与一些使用方式
  11. 开源日志系统log4cplus(五)
  12. linux系统论文题目大全_操作系统专业论文选题 操作系统毕业论文题目如何定
  13. 电脑网络问题——IPv4无Internet访问权限
  14. Elasticsearch教程(19) 详解mapping之keyword
  15. 传智播客WPF视频 第二节
  16. web利用html2canvas实现截图上传图片
  17. macOS:删除DNS
  18. eNSP实验三:OSPF路由协议
  19. PAT 1063 计算谱半径
  20. 少儿学单词软件android,推荐4款免费的自然拼读APP,孩子在家可以边玩边学!

热门文章

  1. Floyd 多源最短路径
  2. Android LitePal
  3. Servlet和Tomcat底层分析
  4. SimpleDateFormat线程不安全及解决方式
  5. 编写MapReduce程序,实现WordCount
  6. 直击面试,聊聊 GC 机制
  7. sed 多行替换,多行模式处理字符串;一次替换
  8. IDEA 常用快捷键 常用插件 1
  9. ThreadPoolExecutor 线程池理论、饱和策略、工作队列排队策略
  10. springboot 对象 空指针_springboot获取getBean方法以及ApplicationContext空指针问题解决...