读吴恩达算-EM算法笔记

最近感觉对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

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

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命中的概率 

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据处理

Logistic regression intuition and conditional probabilities使用sc-learn训练logistic regression 模型使用正则化(r

25940
来自专栏机器之心

学界 | Facebook新论文提出通用目标分割框架Mask R-CNN:更简单更灵活表现更好

选自arXiv.org 作者:Kaiming He等 机器之心编译 参与:黄小天、吴攀 ? 近日,Facebook 人工智能研究部门(FAIR)发布了一篇题为《...

31780
来自专栏数据派THU

独家 | 一文为你解析神经网络(附实例、公式)

原文标题:Introduction To Neural Networks 作者:Ben Gorman 翻译:申利彬 校对:和中华 本文长度为4000字,建议阅读...

25850
来自专栏AI传送门

吊炸天的CNNs,这是我见过最详尽的图解!(下)

39170
来自专栏和蔼的张星的图像处理专栏

数字图像处理:

冈萨里斯数字图像处理的那本书的一小点点东西,数字图像处理其实是学过了的,这里我只是把这本书完整看一遍,也是略略的看,查漏补缺,前两张略过了,从第三章开始。

31340
来自专栏计算机视觉

perceptual loss(感知loss)介绍,解释做到详细

Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Net...

84580
来自专栏机器之心

谷歌大脑提出新型激活函数Swish惹争议:可直接替换并优于ReLU?(附机器之心测试)

34860
来自专栏机器学习之旅

理论:随机森林-枝剪问题

剪枝的意义是:防止决策树生成过于庞大的子叶,避免实验预测结果过拟合,在实际生产中效果很差

12520
来自专栏CSDN技术头条

卷积神经网络处理自然语言

当我们听到卷积神经网络(Convolutional Neural Network, CNNs)时,往往会联想到计算机视觉。CNNs在图像分类领域做出了巨大贡献,...

24360
来自专栏大数据文摘

卷积?神经?网络?教你从读懂词语开始了解计算机视觉识别最火模型 | CNN入门手册(上)

17930

扫码关注云+社区

领取腾讯云代金券