文章目录

  • 参考资料
  • 1. 最大似然估计
  • 1.1 原理
  • 1.2 示例
  • 2. EM算法
  • 2.1 原理
  • 2.2 示例


参考资料

1. 最大似然估计

1.1 原理

统计中许多问题的计算最终都归结为一个最优化问题, 典型代表是最大似然估计(MLE)、各种拟似然估计方法、 非线性回归、惩罚函数方法(如svm、lasso)等。

最大似然估计经常需要用最优化算法计算, 最大似然估计问题有自身的特点, 可以直接用一般优化方法进行最大似然估计的计算, 但是利用最大似然估计的特点可以得到更有效的算法。

设总体 最大似然分类python 最大似然分类算法_最大似然估计 有概率密度(连续型随机变量)或概率分布(离散型随机变量) 最大似然分类python 最大似然分类算法_最大似然分类python_02最大似然分类python 最大似然分类算法_似然函数_03 维的分布参数。有了一组样本 最大似然分类python 最大似然分类算法_最大似然分类python_04 后,似然函数 为
最大似然分类python 最大似然分类算法_最大似然估计_05
对数似然函数为
最大似然分类python 最大似然分类算法_参考资料_06

最大化的步骤通过对最大似然分类python 最大似然分类算法_最大似然分类python_07求导等于0来解得。

1.2 示例

  • 例1:设 最大似然分类python 最大似然分类算法_似然函数_08 是来自 最大似然分类python 最大似然分类算法_参考资料_09 的一个样本, 最大似然分类python 最大似然分类算法_最大似然估计_10 为观察值。试求参数 最大似然分类python 最大似然分类算法_最大似然估计_11 的最大似然 估计。
    解:可知 最大似然分类python 最大似然分类算法_参考资料_09 的分布律为:
    最大似然分类python 最大似然分类算法_最大似然估计_13
    故似然函数为:
    最大似然分类python 最大似然分类算法_似然函数_14
    对待估参数求导为 0 , 有:
    最大似然分类python 最大似然分类算法_最大似然估计_15
    解得 最大似然分类python 最大似然分类算法_最大似然估计_11 的最大似然估计值为 最大似然分类python 最大似然分类算法_似然函数_17 ,最大估计量为 最大似然分类python 最大似然分类算法_最大似然分类python_18.
  • 例2: 设 最大似然分类python 最大似然分类算法_似然函数_19 为未知参数, 最大似然分类python 最大似然分类算法_最大似然估计_10 为来自 最大似然分类python 最大似然分类算法_参考资料_09 的一组观察值, 求 最大似然分类python 最大似然分类算法_似然函数_22 的最大似然估计量。
    解:最大似然分类python 最大似然分类算法_参考资料_09 的概率密度为
    最大似然分类python 最大似然分类算法_最大似然估计_24
    似然函数为:
    最大似然分类python 最大似然分类算法_最大似然分类python_25
    最后解得:
    最大似然分类python 最大似然分类算法_最大似然分类python_26
    因此得到 最大似然分类python 最大似然分类算法_似然函数_22 的最大似然估计量分别为
    最大似然分类python 最大似然分类算法_最大似然分类python_28
  • 例3 (多项分布): 设 最大似然分类python 最大似然分类算法_参考资料_09 取值于 最大似然分类python 最大似然分类算法_参考资料_30, 分布概率为 最大似然分类python 最大似然分类算法_参考资料_31
    最大似然分类python 最大似然分类算法_似然函数_32
    最大似然分类python 最大似然分类算法_最大似然估计_33 次试验得到的 最大似然分类python 最大似然分类算法_参考资料_09 值有 最大似然分类python 最大似然分类算法_最大似然分类python_35最大似然分类python 最大似然分类算法_最大似然估计_36 ,求参数 最大似然分类python 最大似然分类算法_似然函数_37
    解:观测数据的对数似然函数为(去掉了与参数无关的加性常数)
    最大似然分类python 最大似然分类算法_似然函数_38
    最大似然分类python 最大似然分类算法_最大似然估计_39 得到一个关于 最大似然分类python 最大似然分类算法_似然函数_37 的二次方程,由此写出 最大似然分类python 最大似然分类算法_似然函数_41 的解析表达式:
    最大似然分类python 最大似然分类算法_最大似然估计_42
    最大似然分类python 最大似然分类算法_最大似然估计_39 ,即求解二次方程
    最大似然分类python 最大似然分类算法_似然函数_44
    得最大似然估计为
    最大似然分类python 最大似然分类算法_最大似然估计_45
    其中 最大似然分类python 最大似然分类算法_最大似然估计_46

2. EM算法

2.1 原理

EM算法最初用于缺失数据模型参数估计,现在已经用在许多优化问题中。设模型中包含 最大似然分类python 最大似然分类算法_最大似然估计_47 两个 随机成分, 有联合密度函数或概率函数 最大似然分类python 最大似然分类算法_最大似然估计_48 为未知参数。称 最大似然分类python 最大似然分类算法_参考资料_49 为完全数据的 密度,一般具有简单的形式。实际上我们只有 最大似然分类python 最大似然分类算法_最大似然估计_50 的观测数据 最大似然分类python 最大似然分类算法_最大似然估计_51 不能观测得到, 这一 部分可能是缺失观测数据,也可能是潜在影响因素。所以实际的似然函数为
最大似然分类python 最大似然分类算法_似然函数_52
这个似然函数通常比完全数据的似然函数复杂得多,所以很难直接从 最大似然分类python 最大似然分类算法_参考资料_53

EM算法的想法是,已经有了参数的近似估计值 最大似然分类python 最大似然分类算法_参考资料_54 后, 假设 最大似然分类python 最大似然分类算法_最大似然分类python_55 近似服从完全密度 最大似然分类python 最大似然分类算法_参考资料_56, 这里 最大似然分类python 最大似然分类算法_似然函数_57 已知,所以认为 最大似然分类python 最大似然分类算法_似然函数_58 近似服从由 最大似然分类python 最大似然分类算法_参考资料_56 导出的条件分 布
最大似然分类python 最大似然分类算法_参考资料_60
其中 最大似然分类python 最大似然分类算法_最大似然估计_61 是由 最大似然分类python 最大似然分类算法_参考资料_56 决定的边缘密度。据此近似条件分布,在完全数据对数似然函数 最大似然分类python 最大似然分类算法_参考资料_63 中, 把 最大似然分类python 最大似然分类算法_似然函数_57 看成已知, 关于未知部分 最大似然分类python 最大似然分类算法_似然函数_58 按密度 最大似然分类python 最大似然分类算法_似然函数_66 求期 望,得到 最大似然分类python 最大似然分类算法_最大似然分类python_67 的函数 最大似然分类python 最大似然分类算法_参考资料_68 ,再求 最大似然分类python 最大似然分类算法_参考资料_68 的最大值点作为下一个 最大似然分类python 最大似然分类算法_最大似然分类python_70

EM算法每次迭代有如下的E步(期望步)和M步(最大化步):

  • E步: 计算完全数据对数似然函数的期望 最大似然分类python 最大似然分类算法_似然函数_71, 其中期望针对随机变量 最大似然分类python 最大似然分类算法_最大似然估计_72 , 求期望时假定 最大似然分类python 最大似然分类算法_最大似然估计_72 服从条件密度 最大似然分类python 最大似然分类算法_似然函数_74
  • M步: 求 最大似然分类python 最大似然分类算法_最大似然估计_75 的最大值点,记为 最大似然分类python 最大似然分类算法_最大似然分类python_76

定理1: EM算法得到的估计序列 最大似然分类python 最大似然分类算法_参考资料_54 使得公式(1)中的似然函数值 最大似然分类python 最大似然分类算法_最大似然分类python_78 单调不减。
证明: 对任意参数 最大似然分类python 最大似然分类算法_最大似然分类python_67 ,有
最大似然分类python 最大似然分类算法_参考资料_80
信息不等式
最大似然分类python 最大似然分类算法_最大似然估计_81
又EM迭代使得 最大似然分类python 最大似然分类算法_最大似然分类python_82, 所以
最大似然分类python 最大似然分类算法_参考资料_83

定理证毕。

在适当正则性条件下, EM算法的迭代序列依概率收敛到最大似然分类python 最大似然分类算法_最大似然估计_84的最大值点。 但是, 定理(1)仅保证EM算法最终能收敛, 但不能保证EM算法会收敛到似然函数的全局最大值点, 算法也可能收敛到局部极大值点或者鞍点。

在实际问题中, 往往E步和M步都比较简单, 有时E步和M步都有解析表达式, 这时EM算法实现很简单。 EM算法优点是计算稳定, 可以保持原有的参数约束, 缺点是收敛可能很慢, 尤其是接近最大值点时可能收敛更慢。 如果公式(1)中的似然函数不是凸函数, 算法可能收敛不到全局最大值点, 遇到这样的问题可以多取不同初值比较, 用矩估计等合适的近似值作为初值。

原理暂时看不懂没关系,结合后面例题看就更容易懂了。

2.2 示例

(混合分布) EM算法可以用来估计混合分布的参数。 设随机变量 最大似然分类python 最大似然分类算法_参考资料_85, 最大似然分类python 最大似然分类算法_参考资料_86 独立。记 最大似然分类python 最大似然分类算法_参考资料_87 的密度为 最大似然分类python 最大似然分类算法_参考资料_88 。设随机变量 最大似然分类python 最大似然分类算法_最大似然估计_89最大似然分类python 最大似然分类算法_参考资料_86 独立,令
最大似然分类python 最大似然分类算法_最大似然估计_91
最大似然分类python 最大似然分类算法_最大似然分类python_92 条件下 最大似然分类python 最大似然分类算法_参考资料_93 条件下 最大似然分类python 最大似然分类算法_最大似然分类python_94, 但 最大似然分类python 最大似然分类算法_最大似然估计_95 的边缘密度为
最大似然分类python 最大似然分类算法_最大似然估计_96
其中 最大似然分类python 最大似然分类算法_似然函数_97

最大似然分类python 最大似然分类算法_最大似然估计_95 有样本 最大似然分类python 最大似然分类算法_最大似然估计_99, 样本值为 最大似然分类python 最大似然分类算法_参考资料_100 , 实际观测数据的似然函数为
最大似然分类python 最大似然分类算法_参考资料_101
这个函数是光滑函数但是形状很复杂, 直接求极值很容易停留在局部极值点。
用EM算法,以 最大似然分类python 最大似然分类算法_最大似然分类python_102 为没有观测到的部分, 完全数据的似然函数和对数似然函数为
最大似然分类python 最大似然分类算法_最大似然估计_103
在E步,设已有 最大似然分类python 最大似然分类算法_最大似然分类python_67 的近似值 最大似然分类python 最大似然分类算法_最大似然分类python_105, 以 最大似然分类python 最大似然分类算法_参考资料_54 为分布参数,在 最大似然分类python 最大似然分类算法_最大似然分类python_107 条件下, 最大似然分类python 最大似然分类算法_最大似然分类python_108 的 条件分布为
最大似然分类python 最大似然分类算法_最大似然估计_109
这里的推导类似于逆概率公式。利用 最大似然分类python 最大似然分类算法_最大似然分类python_110 的条件分布求完全数据对数似然的期望,得
最大似然分类python 最大似然分类算法_似然函数_111
最大似然分类python 最大似然分类算法_最大似然分类python_112 ,求得 最大似然分类python 最大似然分类算法_参考资料_68 的最大值点 最大似然分类python 最大似然分类算法_最大似然分类python_70
最大似然分类python 最大似然分类算法_最大似然估计_115
适当选取初值 最大似然分类python 最大似然分类算法_最大似然估计_116 用公式(3)和(4)迭代就可以计算 最大似然分类python 最大似然分类算法_最大似然分类python_67

  • (多项分布): 设 最大似然分类python 最大似然分类算法_参考资料_09 取值于 最大似然分类python 最大似然分类算法_参考资料_30, 分布概率为 最大似然分类python 最大似然分类算法_参考资料_31
    最大似然分类python 最大似然分类算法_似然函数_32
    最大似然分类python 最大似然分类算法_最大似然估计_33 次试验得到的 最大似然分类python 最大似然分类算法_参考资料_09 值有 最大似然分类python 最大似然分类算法_最大似然分类python_35最大似然分类python 最大似然分类算法_最大似然估计_36 ,求参数 最大似然分类python 最大似然分类算法_似然函数_37
    最大似然分类python 最大似然分类算法_最大似然分类python_127 这时 最大似然分类python 最大似然分类算法_参考资料_128 代表结果12和结果4的出现次数, 这两种结果出现概率为 最大似然分类python 最大似然分类算法_似然函数_129 ,其它结 果 最大似然分类python 最大似然分类算法_似然函数_130 的出现概率为 最大似然分类python 最大似然分类算法_参考资料_131最大似然分类python 最大似然分类算法_最大似然分类python_132 ,则 最大似然分类python 最大似然分类算法_最大似然分类python_133
    数据 最大似然分类python 最大似然分类算法_似然函数_134 的全似然函数为
    最大似然分类python 最大似然分类算法_最大似然估计_135
    对数似然函数 (差一个与 最大似然分类python 最大似然分类算法_似然函数_37 无关的常数项) 为
    最大似然分类python 最大似然分类算法_最大似然估计_137
    在EM迭代中, 假设已经得到的参数 最大似然分类python 最大似然分类算法_似然函数_37 近似值为 最大似然分类python 最大似然分类算法_似然函数_139 , 设 最大似然分类python 最大似然分类算法_似然函数_140 , 在给定 最大似然分类python 最大似然分类算法_最大似然估计_141 条件下求 最大似然分类python 最大似然分类算法_最大似然分类python_142 的 条件期望, 这时 最大似然分类python 最大似然分类算法_最大似然估计_143 的条件分布为
    最大似然分类python 最大似然分类算法_最大似然估计_144
    于是
    最大似然分类python 最大似然分类算法_似然函数_145
    从而完全对数似然函数的条件期望为
    最大似然分类python 最大似然分类算法_最大似然估计_146
    求解 最大似然分类python 最大似然分类算法_参考资料_147 的最大值,令
    最大似然分类python 最大似然分类算法_最大似然估计_148
    得下一个参数近似值为
    最大似然分类python 最大似然分类算法_似然函数_149
    于是, EM迭代步骤从某个 最大似然分类python 最大似然分类算法_似然函数_150 出发,比如 最大似然分类python 最大似然分类算法_最大似然分类python_151 , 在第 最大似然分类python 最大似然分类算法_似然函数_152 步计算
    最大似然分类python 最大似然分类算法_似然函数_153
    迭代到两次的近似参数值变化小于 最大似然分类python 最大似然分类算法_参考资料_154