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