zoukankan      html  css  js  c++  java
  • 【机器学习】EM最大期望算法

            EM, ExpectationMaximization Algorithm, 期望最大化算法。一种迭代算法,用于含有隐变量(hidden variable)的概率参数模型的最大似然估计极大后验概率估计,其概率模型依赖于无法观测的隐变量。

            经常用在ML与计算机视觉的数据聚类领域。

            EM应用:GMM混合高斯模型聚类HMM隐马尔科夫模型等。

    一、Jesen不等式

            对于凸函数(对于所有实数x,有f’’(x)≥0)。当x时向量时,如果其hessian矩阵H是半正定的(H≥0),那么f是凸函数。如果f’’(x)>0或者H>0,那么f是严格凸函数。

            关于Jesen不等式:如果f是凸函数,x是随机变量,那么有

                                                    E[f(x)] f(Ex)


            图形化的表示方法就是:



    二、EM原理

            最大期望个算法经过两个步骤交替进行计算

                   step1: 计算期望E,利用对隐藏变量的现有估计值,计算其最大似然估计值

                   step2: 最大化M,最大化在E步上求得的最大似然值来计算参数值。

            (M步上找到的参数估计值被用于下一个E步计算中,这个过程不断交替进行)

    三、EM算法流程

    1. 初始化分布参数

    2. 重复直到收敛:

             E步骤:估计位置参数的期望值,给出当前的参数估计

             M步骤:重新估计分布参数,以使得数据似然性最大,给出位置变量的期望估计。

    EM是一种解决存在隐含变量优化问题的有效方法,既然不能直接最大化L(o),可以不断建立l的下界(E步),然后优化下界(M步)。


  • 相关阅读:
    解决Django和EasyUI搭配使用时出现的CSRF问题
    修改Django的默认打印时间
    解决多网卡SNMP获取不到数据的问题
    Django模板格式
    java操作excel
    数字1的个数
    leetcode:2. 两数相加(java)
    二叉树常用操作
    通配符匹配
    二叉树基本操作
  • 原文地址:https://www.cnblogs.com/DianaCody/p/5425625.html
Copyright © 2011-2022 走看看