10.1 什么是EM算法

  • EM算法的全称是Expectation Maximization,是用于对含有隐变量的概率模型进行参数极大似然估计的一种迭代算法
  • EM算法分为E步骤和M步骤
    • E步骤中需要求参数估计值的期望值
    • M步骤中需要使用极大似然法对期望进行求最值,并将得到的结果进行下一轮的迭代

10.1.1 EM算法的推导

  • 如果说一个概率模型中中含有可观测隐变量Z,那么我们在极大化观测数据Y关于模型参数十、EM算法和GMM - 图1的似然函数的时候,实际上的目标就变成了:

十、EM算法和GMM - 图2%3D%5Clog%20P(Y%7C%5Ctheta)%3D%5Clog%20%5Csum%7BZ%7DP(Y%2CZ%7C%5Ctheta)%5C%5C%20%3D%5Clog%20%5Csum%7BZ%7DP(Y%7CZ%2C%5Ctheta)P(Z%7C%5Ctheta)%0A#card=math&code=L%28%5Ctheta%29%3D%5Clog%20P%28Y%7C%5Ctheta%29%3D%5Clog%20%5Csum%7BZ%7DP%28Y%2CZ%7C%5Ctheta%29%5C%5C%20%3D%5Clog%20%5Csum%7BZ%7DP%28Y%7CZ%2C%5Ctheta%29P%28Z%7C%5Ctheta%29%0A&height=83&width=724)

10.2 高斯混合模型GMM与其EM算法求解

10.2.1 GMM的定义

高斯混合模型是指如下形式的概率分布模型:

十、EM算法和GMM - 图3%3D%5Csum%7Bk%3D1%7D%5EK%5Calpha_k%5Cphi(y%7C%5Ctheta_k)%0A#card=math&code=P%28y%7C%5Ctheta%29%3D%5Csum%7Bk%3D1%7D%5EK%5Calpha_k%5Cphi%28y%7C%5Ctheta_k%29%0A)

  • 其中十、EM算法和GMM - 图4表示权重系数,十、EM算法和GMM - 图5%2C%5Ctheta_k%3D(%5Cmu_k%2C%5Csigma%5E2_k)#card=math&code=%5Cphi%28y%7C%5Ctheta_k%29%2C%5Ctheta_k%3D%28%5Cmu_k%2C%5Csigma%5E2_k%29)表示一个高斯分布的密度函数,即:

十、EM算法和GMM - 图6%3D%5Cfrac%7B1%7D%7B%5Csqrt%7B2%5Cpi%20%7D%5Csigma_k%7D%5Cexp%5Cleft(-%5Cfrac%7B(y_k-%5Cmu_k)%5E2%7D%7B2%5Csigma%5E2_k%7D%5Cright)%0A#card=math&code=%5Cphi%28y%7C%5Ctheta_k%29%3D%5Cfrac%7B1%7D%7B%5Csqrt%7B2%5Cpi%20%7D%5Csigma_k%7D%5Cexp%5Cleft%28-%5Cfrac%7B%28y_k-%5Cmu_k%29%5E2%7D%7B2%5Csigma%5E2_k%7D%5Cright%29%0A)

10.2.2GMM的隐变量和参数估计

  • 高斯混合模型中的模型参数是:

十、EM算法和GMM - 图7%0A#card=math&code=%5Ctheta%3D%28%5Calpha_a%2C%5Cdotsm%5Calpha_K%2C%5Ctheta_1%2C%5Cdots%2C%5Ctheta_K%29%0A)

  • 也就是说每个高斯分量的权重和具体的高斯分布参数都是需要估计的
  • 我们可以这样来分析GMM中的隐变量:
    • 首先根据每个不同的权重十、EM算法和GMM - 图8选择第k个分量然后计算生成观测数据十、EM算法和GMM - 图9这个时候的观测结果是已知的,但是反应观测数据来自第k个分量的数据是未知的,因此可以用隐变量十、EM算法和GMM - 图10来表示,如果第j个观测来自第k个模型,那么十、EM算法和GMM - 图11,否则就是十、EM算法和GMM - 图12

10.2.3 EM算法求解GMM参数估计

EM求解GMM需要先输入N个观测数据,并输出一个高斯混合模型的参数,训练的过程主要分为E步骤和M步骤:

  • E步骤:依据当前的模型参数,计算分模型k对观测数据的相应度,即:

十、EM算法和GMM - 图13%7D%7B%5Csum%5Climits%7Bk%3D1%7D%5EK%5Calpha_k%5Cphi(y_j%7C%5Ctheta_k)%7D%0A#card=math&code=%5Cgamma%7Bjk%7D%3D%5Cfrac%7B%5Calphak%5Cphi%28y_j%7C%5Ctheta_k%29%7D%7B%5Csum%5Climits%7Bk%3D1%7D%5EK%5Calpha_k%5Cphi%28y_j%7C%5Ctheta_k%29%7D%0A)

  • M步骤:根据隐变量计算出新一轮迭代所需要的模型参数,模型就根据这些参数产生

十、EM算法和GMM - 图14

十、EM算法和GMM - 图15%5E2%7D%7B%5Csum%5Climits%7Bj%3D1%7D%5EN%5Cgamma%7Bjk%7D%7D%0A#card=math&code=%5Csigmak%5E2%3D%5Cfrac%7B%5Csum%5Climits%7Bj%3D1%7D%5EN%5Cgamma%7Bjk%7D%28y_j-%5Cmu_k%29%5E2%7D%7B%5Csum%5Climits%7Bj%3D1%7D%5EN%5Cgamma_%7Bjk%7D%7D%0A)

十、EM算法和GMM - 图16