EM算法及其应用GMM,pLSA
问题定义
从样本观察数据(显性特征x)中,找出样本的模型参数()。 最常用的方法就是极大化模型分布的对数似然函数。
是样本特征和label的联合分布,,为了使得估计的结果泛化能力更好,我们将分解为,就是隐变量。
这类问题有:
- 主题模型:把文章(显性特征x)描述为主题(隐性特征z)的叠加
- GMM:把某堆样本(显性特征x)描述为K个高斯分布(隐性特征z)的叠加
以上问题,主要是通过引入隐变量,把样本表述为隐变量的分布,从而简化每个样本点表述。对于此问题通用的数学描述为:
给定一个样本集 ,我们假设观察到的 还对应着隐含变量的概率分布 ,记 。则该模型 的对数似然函数为:
而根据具体的问题来定义。
目标是求得参数 ,使得对数似然函数最大:
这时候,交叉熵为:
优化目标为:
它的梯度是
都是概率分布,即大于0且满足:
直接梯度下降是行不通的,这就需要借助EM算法。
EM 算法的过程
随机选取或者根据某种先验知识来初始化 。
-
循环执行以下两步直到对数似然函数收敛:
-
E-step(Expectation):基于当前的求出 的后验概率 ,进而求出 在分布 上的期望
-
M-step(Maximization):求使得上面求得最大化
-
原理
对于最大似然函数的参数求解:
是隐变量,观测不到,为了求解上式,假设我们知道的概率分布 :
根据 Jensen 不等式 [1],对于任意分布 都有:
且上面的不等式在 为常数时取等号。
(备注:关键的点就是Jensen不等式在x为常数时取等号(x的所有值重叠,等于1个值)。这里正好对应隐变量的分布的确定,即E步求解的隐变量的分布)
于是我们就得到了 的一个下界函数。我们要想套用上面的算法,还要让这个不等式在 处取等号,这就这要求在 时 为常数,即 。由于 是一个概率分布,必须满足 ,所以这样的 只能是 。那我们就把 代入上式,得到:
最大化这个下界函数:
其中倒数第二步是因为 这一项与 无关,所以就直接扔掉了。这样就得到了本文第二节 EM 算法中的形式——它就是这么来的。
以上就是 EM 了。至于独立同分布的情况推导也类似。
[1]
Jensen 不等式:
对于凸函数,其函数的期望大于等于期望的函数
若 是严格凸的,则上式取等号当前仅当 为常数。
在这里 函数是严格凹的,所以要把上面的不等号方向
EM算法应用示例
kmeans
GMM
问题描述
假设某个数据分布是由K个高斯分布加权叠加而来:
目标是,求出这K个高斯分布及其权重。
换一种说法,也就是,用K个高斯分布的加权和来拟合数据分布
相比于K-means,只是把原本样本一定属于某一类改成了一个样本属于某类的概率。K-means的结果是把每个数据点assign到其中某一个cluster,而GMM则是给出每个数据点被assign到每一个cluster的概率,又称作soft assignment。
求解过程
初始化:随机(或者按某种方式)初始化K个高斯分布
-
重复以下步骤,直至收敛:
- E-step:根据当前参数,计算每个样本点来自于第个分模型 的概率:
(注意,这里 分子分母到底要不要加上)
- M-step:根据所有的,更新一版参数(K个高斯分布的参数和权重):
图示
pLSA
问题描述
pLSA 模型有两个 基本的设定:
把文章看成一个词袋(bag-of-words),忽略词序关系。
pLSA是一个生成模型,其概率图为:
即:
而我们感兴趣的正是其中的 和 ,即文章的主题分布,和主题的词分布。记 , 表示我们希望估计的模型参数(模型中共有 个参数)。
求解过程
根据最大log似然估计法,我们要求的就是
这里由于 这一项与 无关,在 中可以被直接扔掉。 [1]
因此
这里出现了 套 的形式,导致很难直接拿它做最大似然。但假如能观察到 ,问题就很简单了。于是我们想到根据 EM 算法 ,可以用下式迭代逼近 :
其中
在 E-step 中,我们需要求出 中除 外的其它未知量,也就是说对于每组 我们都需要求出 。 根据贝叶斯定理贝叶斯定理,我们知道:
而 和 就是上轮迭代求出的 。这样就完成了 E-step。
接下来 M-step 就是要求 了。利用基本的微积分工具 [2],可以分别对每对 和 求出:
以上就是 pLSA 算法了。
忽略原理和证明,直接看求解过程:
EM求解方法:
E-step:
M-step:
LDA
在pLSA中用极大似然估计的思想去推断参数(文档的主题分布和主题的词分布),而LDA把这两参数视为概率分布,其先验信息为dirichlet分布。因此,在数据量不大的时候,LDA能缓解过拟合问题,而在数据量很大的时候,pLSA是比较好的选择。
LDA中,估计Φ、Θ这两未知参数可以用变分(Variational inference)-EM算法,也可以用gibbs采样,前者的思想是最大后验估计MAP,后者的思想是贝叶斯估计。
参考:
https://spaces.ac.cn/archives/4277
Probabilistic latent semantic analysis (pLSA)
A Note on EM Algorithm and PLSA --- Xinyan Lu
李航-统计机器学习第一版
github
推荐我的开源项目 exFM c++ deepFM