前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PRML读书笔记(4) - 高斯混合模型(GMM) 及 EM 算法

PRML读书笔记(4) - 高斯混合模型(GMM) 及 EM 算法

作者头像
caoqi95
发布2019-03-28 11:33:17
1.4K0
发布2019-03-28 11:33:17
举报

高斯混合模型的概念在 PRML 这本书的第 9 章介绍的。目前正在上的김동국 教授的人工神经网络纯理论课程非常适合研究生入门机器学习。但是由于没时间讲解全部内容,教授说正式的内容在第 5 章结束。后面几节课全部讲学生感兴趣的内容 - GMM,HMM 等。教授说没有讲解的内容不是不重要,而是在踏入机器学习这个研究领域,这些都是很重要且必备的知识。

高斯混合模型

高斯混合模型是聚类算法的一种。在 PRML读书笔记(1) - 深度理解机器学习之概率论(Probability Theory) 这篇文章中提到的是单一的高斯分布模型。而高斯混合模型,从名字上来说就很好理解,是多个高斯分布模型混合组成的模型,目的是为了提供更丰富的密度模型。其公式如下所示:

其中

表示高斯模型的数量;

表示混合权重(mixture weight),

表示第

个高斯模型的均值,

表示第

个高斯模型的协方差。

在讲解具体的内容之前,先提一个新概念。这个概念就是:隐变量(latent variable)

在统计学中,隐变量指的是不可观测的随机变量。

其相反词是显变量(observation variable)。包含隐变量的模型称为隐变量模型(Latent Variable Models,简称 LVM),高斯混合模型(GMM)和隐马尔科夫模型(HMM)都是隐变量模型。这两种模型中包含的隐变量是离散的。

现在假设

是高斯混合模型中的隐变量,它表示高斯模型出现的索引值,即

,为整数。将其表示为 one-hot 向量,那么

中只有特定元素等于 1,其他所有元素都等于 0。所以有

。依据概率中的乘法法则,可以假设联合分布

由边缘分布

和条件分布

相乘组成。关于变量

的边缘分布可以看成是由混合系数

组成:

根据多元分类及其概率分布可以得到:

类似地,在给定一个特殊的

值,关于

的条件分布为高斯分布:

所以有:

又由概率中的乘法法则可以得到:

这就是一开头给出的高斯混合模型的公式的推导过程。

此时,也可以得到联合概率分布:

接着由贝叶斯法则可以得到:

为后验概率,用

表示。

极大似然估计

当有了模型参数

(在 GMM 中

)分布的时候,我们可以根据这个参数分布来生成一系列的,例如:

这样的数据。当有了一系列的数据,如

时,我们可以通过这些数据来预估参数

。预估参数可以使用极大似然估计方法。GMM 的极大似然估计如下所示:

首先得到,似然方程

,公式如下:

对应的对数似然方程为:

为了预估参数,可以使用封闭解( closed-form solution)的方法来求出参数的值。但此种方法对于 GMM 来说是无解的。因为对于高斯混合模型,对数似然函数

显示了比单个高斯的情况更复杂的问题,其难点在于该函数中对数内出现的 k 求和,因此对数函数不再直接作用于高斯函数。如果将该对数似然方程的导数设置为 0,我们将不再得到一个 封闭解。所以封闭解的方法不适用 GMM。虽然第二种方法,即基于梯度的方法是可行的,但现在讨论一种更具广泛适用性的算法 - EM 算法。

EM 算法

EM 算法的全称是 Expectation-Maximization 算法。EM 算法是一种为包含隐变量的概率模型找到极大似然估计解的算法。

假设我们有一些列的数据:

,用大写的

来表示;又有隐变量

,用大写的

表示。

这时,似然方程可以表示为:

对数似然方程为:

我们的目标是最大化对数似然方程

。如果直接从

入手的话会比较困难,而从

入手的话,则会比较容易处理。

根据乘法法则

,可以将

分解:

具体的推导过程如下所示2:

其中

是类似熵(Entropy)的函数,它将一个函数作为输入并产生一个值作为输出。它包含 X 和 Z 的联合分布。

是 Kullback-Leibler Divergence 包含给定 X 时, Z 的条件分布。

根据 KL 散度的特性,可以得到

,所以有

,此时,就相当于

的下限(lower bound),如下图所示:

此时分为两个阶段。第一个阶段就是 E-step,第二个阶段是 M-step。

  • E-step:此时的目标是最大化下限

最大化的话,那么

就为 0,因此得到

,在这一阶段,表示为

  • M-step:上一步得到

,所以有

。令

,这一阶段的目标就是找到

,使得

最大,以修正前面的

值。这样会造成

随着

的增大而增大。

而 EM 算法的整个过程如下所示:

参考

1. Bishop: Pattern Recognition and Machine Learning.

2. Sargur Srihari: Introduction to Machine Learning Course 9.2-9.5

3. 김동국 教授的人工神经网络纯理论课程

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.11.23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 高斯混合模型
  • 极大似然估计
  • EM 算法
  • 参考
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档