高斯混合模型的概念在 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]. 김동국 教授的人工神经网络纯理论课程
网友评论