• 统计学补(似然函数+EM算法)


    最大似然估计:利用已知的部分的样本信息,反推,使得最有可能使得这些样本呈现该结果的模型参数值。

    比如,一个函数:P(x|θ),在x已知的条件下,求解θ的过程,此时,该函数为似然函数。

    反之,在θ已知的条件下,求解x的过程,此时,该函数为概率函数

    类似于y=x^2,当x已知时,求解y为平方公式,反之,当y已知时,求解x为开方公式。

    注意点:

    最大似然估计是建立在总体分布已知的情况下才能使用;

    最大似然估计默认样本分布是独立的。

    问题求解过程:

    给定样本分布,抽样样本集结果(x1,x2,x3,...xn)。

    表示似然函数:L(θ)=L(\theta )=L(x1,x2...xn|\theta)=\pi_{i=1}^{n}p(x_{i};\theta)

    目标是:argmax(L(θ))

    求解步骤:L(\theta )=argmax\pi_{i=1}^{n}p(x_{i};\theta )

    取对数,

    lnL(\theta )=ln(\pi_{i=1}^{n}p(x_{i};\theta ))=\sum_{i=1}^{n}(\ln p(x_{1},\theta)+ln p(x_{2},\theta)+... )=\sum_{i=1}^{n}lnp(x_{i},n)

    例子:来源:一文搞懂极大似然估计 - 知乎 (zhihu.com)

    假如有一个罐子,里面有黑白两种颜色的球,数目多少不知,两种颜色的比例也不知。我 们想知道罐中白球和黑球的比例,但我们不能把罐中的球全部拿出来数。现在我们可以每次任意从已经摇匀的罐中拿一个球出来,记录球的颜色,然后把拿出来的球 再放回罐中。这个过程可以重复,我们可以用记录的球的颜色来估计罐中黑白球的比例。假如在前面的一百次重复记录中,有七十次是白球,请问罐中白球所占的比例最有可能是多少?

    很多人马上就有答案了:70%。而其后的理论支撑是什么呢?

    我们假设罐中白球的比例是p,那么黑球的比例就是1-p。因为每抽一个球出来,在记录颜色之后,我们把抽出的球放回了罐中并摇匀,所以每次抽出来的球的颜 色服从同一独立分布。

    这里我们把一次抽出来球的颜色称为一次抽样。题目中在一百次抽样中,七十次是白球的,三十次为黑球事件的概率是P(样本结果|Model)。

    如果第一次抽象的结果记为x1,第二次抽样的结果记为x2....那么样本结果为(x1,x2.....,x100)。这样,我们可以得到如下表达式:

    P(样本结果|Model)

      = P(x1,x2,…,x100|Model)

      = P(x1|Mel)P(x2|M)…P(x100|M)

      = p^70(1-p)^30.

    我们已经有了观察样本结果出现的概率表达式了。那么我们要求的模型的参数,也就是求的式中的p。

    那么我们怎么来求这个p呢?

    不同的p,直接导致P(样本结果|Model)的不同。

    好的,我们的p实际上是有无数多种分布的。

    那么问题来了,既然有无数种分布可以选择,极大似然估计应该按照什么原则去选取这个分布呢?

    答:采取的方法是让这个样本结果出现的可能性最大,也就是使得p^70(1-p)^30值最大,那么我们就可以看成是p的方程,求导即可!

    p^{70}(1-p)^{30}=70p^{69}(1-p)^{30}-30(1-p)^{29}p^{70}=70(1-p)-30p=0

    那么既然事情已经发生了,为什么不让这个出现的结果的可能性最大呢?这也就是最大似然估计的核心。

    我们想办法让观察样本出现的概率最大,转换为数学问题就是使得:

    p^70(1-p)^30最大,这太简单了,未知数只有一个p,我们令其导数为0,即可求出p为70%

     ------------------------------------------------------------------------------------------------------------------------------

    EM算法

    算法收敛:趋近于一个值,而不是无限制的大或者小。

    EM算法需要考虑两个问题:数据的分布是什么样的?分布参数是?

    EM:  Exceptation maxmimum

    来源:EM算法详解 - 知乎 (zhihu.com)

    有一个男女身高的例子:

    选择一批男生和女生,但是不知道男女的概率分布情况。

    我们目前有100个男生和100个女生的身高,但是我们不知道这200个数据中哪个是男生的身高,哪个是女生的身高,即抽取得到的每个样本都不知道是从哪个分布中抽取的。这个时候,对于每个样本,就有两个未知量需要估计:

    (1)这个身高数据是来自于男生数据集合还是来自于女生?

    (2)男生、女生身高数据集的正态分布的参数分别是多少?

    求解步骤:(1)初始化男女分布参数,比如,均值和方差;(2)判断200条数据中,哪些数据归为女生采样得到的数据,哪些数据归为男生数据集合;(3)根据划分的数据集合,重新估计参数;(4)利用更新之后的参数,重复(2)、(3),直到结果不在改变。

    EM算法的步骤

    输入:观察的数据为x={x1,x2,...xn},联合分布p(x,z;θ),条件分布p(z|x,θ),z是观察到的隐含数据,未知其分布。

    (1)随机初始化参数初始值

    (2)开始EM算法迭代。

    E步是计算联合分布的条件概率期望。

    Q_{i}(z_{i})=p(z_{i}|x_{i},\theta_{i})

    似然函数:l(\theta,\theta_{j})=\sum_{i=1}^{n}\sum_{z_{i}}Q_{i}(z_{i})log\frac{p(x_{i},z_{i};\theta)}{Q_{z_{i}}}

    M 步是极大化。

    \theta_{j+1}=argmax(l({\theta,\theta_{j}}))

    当θj+1不在改变的时候,算法收敛。整个过程结束。 

    似然函数的推导过程为:

     

  • 相关阅读:
    SpringBoot整合Swagger
    【数据结构】线性表(九)队列:链式队列及其基本操作(初始化、判空、入队、出队、存取队首元素)
    flink技术总结待续
    注册会计师怎么注册非执业?注会执业与非执业有何区别
    QT中如何使用样式表文件Qss
    【STM32教程】第五章 STM32的定时器
    2022-11-10 工作记录--HTML-video视频播放
    20. 【Linux教程】emacs 编辑器
    【OpenGL】OpenGL Examples
    6.28U-Net深度学习基准模型特点与应用
  • 原文地址:https://blog.csdn.net/Hekena/article/details/126518801