1. 现在随机抽取200名学生,得到这些学生的身高 ,求参数 一、示例 - 图1 的估计。

    2. 定义隐变量为 ,其取值为 一、示例 - 图2 ,分别表示 。

      • 如果隐变量是已知的,即已知每个学生是男生还是女生 ,则问题很好解决:

        • 统计所有男生的身高的均值和方差,得到 一、示例 - 图3

          其中 一、示例 - 图4 表示满足 的 一、示例 - 图5 构成的集合。 分别表示平均值和方差。

        • 统计所有女生的身高的均值和方差,得到 一、示例 - 图6

          其中 一、示例 - 图7 表示满足 的 一、示例 - 图8 构成的集合。 分别表示平均值和方差。

      • 如果已知参数 一、示例 - 图9,则任意给出一个学生的身高 ,可以知道该学生分别为男生/女生的概率。

        一、示例 - 图10

        则有: 。因此也就知道该学生更可能为男生,还是更可能为女生。

      因此:参数 一、示例 - 图11 学生是男生/女生,这两个问题是相互依赖,相互纠缠的。

    3. 为解决该问题,通常采取下面步骤:

      • 迭代 :

        • 根据上一步的划分,统计所有男生的身高的均值和方差,得到 一、示例 - 图12 ;统计所有女生的身高的均值和方差,得到 。

          这一步为 M 步(Maximization ),用于通过最大似然函数求解正态分布的参数。

        • 当前后两次迭代的参数变化不大时,迭代终止。

    1.2 三硬币模型

    1. 已知三枚硬币 ABC ,这些硬币正面出现的概率分别为 一、示例 - 图13。进行如下试验:

      • 先投掷硬币 A,若是正面则选硬币 B;若是反面则选硬币 C
      • 然后投掷被选出来的硬币,投掷的结果如果是正面则记作 1;投掷的结果如果是反面则记作 。
      • 独立重复地 次试验,观测结果为: 1,1,0,1,0,...0,1

      现在只能观测到投掷硬币的结果,无法观测投掷硬币的过程,求估计三硬币正面出现的概率。

    2. 设:

      • 随机变量 一、示例 - 图14 是观测变量,表示一次试验观察到的结果,取值为 1 或者0
      • 随机变量 是隐变量,表示未观测到的投掷A硬币的结果,取值为 1 或者 0
      • 一、示例 - 图15 是模型参数

      则:

      注意:随机变量 一、示例 - 图16 的数据可以观测,随机变量 的数据不可观测

    3. 将观测数据表示为 一、示例 - 图17,未观测数据表示为 。

      由于每次试验之间都是独立的,则有:

    4. EM算法求解:

      首先选取参数的初值,记作 一、示例 - 图18,然后通过下面的步骤迭代计算参数的估计值,直到收敛为止:

      设第 次迭代参数的估计值为: 一、示例 - 图19, 则EM算法的第 次迭代如下:

      • E步:计算模型在参数 一、示例 - 图20 下,观测数据 来自于投掷硬币 B 的概率:

        一、示例 - 图21

        它其实就是 ,即:已知观测变量 一、示例 - 图22的条件下,观测数据 来自于投掷硬币 B 的概率。

      • 步:计算模型参数的新估计值:

        一、示例 - 图23

        • 第一个式子:通过后验概率 估计值的均值作为先验概率 一、示例 - 图24 的估计。
        • 第二个式子:通过条件概率 的估计来求解先验概率 一、示例 - 图25 的估计。
        • 第三个式子:通过条件概率 的估计来求解先验概率 一、示例 - 图26 的估计。
    5. EM 算法的解释:

      • 初始化:随机选择三枚硬币 ABC 正面出现的概率 的初始值 一、示例 - 图27

      • E 步:在已知概率 的情况下,求出每个观测数据 一、示例 - 图28 是来自于投掷硬币 B 的概率。即: 。

      • M 步:在已知哪些观测数据是由硬币 B 产生,哪些是由硬币 C 产生的情况下:

        • 一、示例 - 图29 就等于硬币 B 产生的次数的频率。
        • 就等于硬币 C 产生的数据中,正面向上的频率。