em模型补缺失值_机器学习MLAPP随笔——第十一章混合模型和EM算法(1)

96cc7be3ca83364e5368351d4ce04cf5.png

本章目录:

2440ba314c3539aca6624d0025384f77.png

上一章讲了用图模型定义高维联合分布,基本思想是建模变量间的条件独立性。一个替代的方案是假设观测变量都与一个隐藏的“原因”关联,这种用隐变量建模的模型也被称为latent variable models 或 LVMs。这类模型比直接在可观测空间表征相关性的模型具有更少的参数,同时这类模型还可以作为一种瓶颈bottleneck,来获得数据的压缩表征。

隐变量模型LVM的DGM表示为:

25cac7447f7e8c4432ae394f8fdbd763.png

11.2 Mixture models

最简单的隐变量模型是用

表示一个离散隐变量,分布为
,用
表示第k个
基分布。得到混合模型:

混合权重满足

。一些隐变量模型的例子如图:

ad3cd60bd153fd26ecadb535ebb10b83.png
各种混合分布,其中Prod.表示多个分布相乘

11.2.1 Mixtures of Gaussians

最常见的混合模型就是高斯混合模型GMM:

有充分的大的

,GMM可以近似任意密度。

11.2.2 Mixture of multinoullis

当数据是多维二值向量时,类条件密度可以用伯努利分布的乘积表示:

此时对应混合模型(隐变量的分布和高斯混合的相同)的均值方差为:

其中

11.2.4 Mixtures of experts

混合模型还可以用来建模生成式(第14章)和判别式分类器。例如混合专家模型:

其中第二个等式被称为门函数。最终的预测为:

看着有点聚类的意思,聚类之后每个类都有个回归模型。

11.3 Parameter estimation for mixture models

第十章提到在参数给定时由观测变量计算隐变量的后验,这一节介绍如何学习参数。

上一节也提到计算完整数据时(不含隐变量),累积先验可以得到累积后验(所有family的累积),这给计算带来了极大便利;但是当有隐变量或缺失数据时,情况变得复杂,看上面的隐变量模型的DGM,如果

是白的,根据上一章讲的贝叶斯球算法
的球可以到达
,也就是说他们在数据
的条件下并不独立,因此,后验也是不可分解的,反之,如果不存在隐变量,也就是说
是黑的,那么条件独立性存在,后验可分解。

俩参数条件独立性不在就会导致以下问题。

11.3.1 Unidentifiability

最主要的问题是参数的后验将会有多个mode,也就是说密度是多峰的。例如下图2个高斯的混合,会造成2个后验峰值:

c4c4f6a53bc12bc21725e96dc48dd97f.png

这种多峰会给贝叶斯推断带来问题,例如假设我们从后验得到一些

,然后通过
近似后验均值,这个时候如果存在多峰,那么这个近似值就不知道跑哪了,就得到一个并不好的均值,那么用它得到的预测也会很差;不过值得注意的是,此时如果先预测再均值还是有意义的,也就是
,因为不管是哪个mode,似然值该大还是大。

针对Unidentifiability的问题,有一些解决方法,例如把普通的MC近似变成MCMC。但是本章介绍的EM算法更加简单,思想是仅计算单个的局部mode,然后仅用它来近似MAP。

11.3.2 Computing a MAP estimate is non-convex

这里通过代数方式更严格的解释多个mode的原因,并且会得到更深层次的insight。考虑LVM的似然:

注意到求和是在log里面,这导致计算变得复杂。现在假设联合分布

是指数簇分布:

此时完整数据的对数似然(注意是完整数据)重新写为:

第一项是参数的线性函数,第二项被证明是凸函数,因此整体有单个的最大值点。这个时候若有隐晗变量,那么观测数据的似然就变为:

这个时候虽然第一项和第二项都是凸的(log-sum-e是凸的),但是他们不一定凸在一个点上,这就导致多峰的存在。

11.4 The EM algorithm

上面说了有隐变量或有缺失数据的情况下,MLE和MAP难以计算,这个时候一个思路是使用基于梯度的优化算法,比如优化负对数似然,但是优化时需要始终保证协方差矩阵正定、混合权重和为1,所以优化也是困难的。一个更加简单的方法是使用期望最大化算法(EM算法)。

因为优化完整数据是容易的,所以EM在俩步之间迭代:参数已知,推导隐变量(E步);隐变量已知,推导参数(M步)。

11.4.1 Basic idea

是观测变量,
是隐变量,目标是最大化观测数据的似然:

EM算法首先定义完整数据的对数似然:

隐变量未知,完整数据似然无法计算,所以定义完整数据对数似然的期望:

其中t是当前迭代步,

被称为辅助函数。在M步中优化辅助函数:

如果计算MAP,那么M步修改为(加上先验对应的项):

注意到EM获得的对数似然要么单调增加要么不变,永远不会下降。

11.4.2 EM for GMMs

Auxiliary function

完整数据的对数似然的期望为:

其中

被称为k部分对数据点i的责任。

E-step

E步可以简单写成计算如下的责任值,这对于任何混合模型都是一样的:

M step

在M步中,主要优化

,对于pi来说,显然有:

对于

,只需要关注Q中有关均值和协方差的部分,即:

这就是一个加权版本的MVN的MLE求解问题,容易求得新的参数估值为:

11.4.2.5 K-means algorithm

K-means是用EM算法解高斯混合的变体,在GMM中,我们假设

是固定的,只有簇的均值
需要我们估计。现在考虑用如下的delta函数近似E步中的后验:

其中

,这也被称为
hard EM,因为我们将点硬分配到一个簇内。因为我们假设了每个簇的协方差是各项同性的球形协方差,对于
最可能的簇就是和他最接近的簇:

注意到,在E步中,我们要计算N个点对于K个簇中心的距离,时间复杂度为

M步只需再更新每个簇的均值中心即可:

通常初始化可以随机选取一些点作为簇中心,但是一个更好的方法是,首先均匀随机地选一个点,然后从剩下的点中选择下一个点,并且距离最近簇中心越远的点选中概率越大,这被称为k-means++算法。

一个启发式的GMM改进是,将混合权重看成簇的评分,每次将最大得分的簇分成两部分,新的簇中心是原始中心的扰动,新的评分是原始评分的一半;同时,如果一个新的簇评分过小,或者方差过小,则将其删除。

11.4.2.8 MAP estimation

以上的MLE解存在过拟合问题,并且GMM中的过拟合会更加严重,因为一旦某个簇的均值刚好取到一个数据点上,那么此数据点对应的似然将会无穷大,这显然是无法接受的。此时需要求MAP解。MAP下的辅助函数Q只需加上先验对应的项:

也就是E步算的责任值不变,但是M步的计算改变了,对于

来说,通常先验可以选择狄利克雷分布
,因为它是cat分布的共轭先验。此时
的MAP为:

由于参数

包含高斯的均值和协方差,所以对应的共轭先验为NIW:

由第四章结果可知MAP为:

至于先验NIW的超参设置,书中写详细分析了一波,先不记了。

11.4.3 EM for mixture of experts

书中还举了几个EM的实际例子,这里介绍专家混合模型和DGM中的应用。前面提到的专家混合模型,完整数据的对数似然为:

在M步中,需要关于

最大化Q函数,对于第k个专家的回归参数有:

这是一个加权最小二乘问题,由8.3.4的结论,容易获得:

其中

。方差的MLE为:

对于

的求解还没看懂是个啥,先不记了。

11.4.4 EM for DGMs with hidden variables

将条件概率分布看做表格,即

,其中
,
那么图模型中每个条件概率表格为:

完整数据的对数似然为:

其中

表示节点t的父节点为c时,节点t处在k状态的次数。于是似然的期望为:

其中

。概率
通常被称为family边缘概率。

于是M的结果容易得到(拉格朗日乘数法,

):

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值