机器学习-->无监督学习-->EM算法
2017-08-10 23:19
260 查看
本篇博文将详细总结机器学习里面一个非常重要的算法-EM算法。
凸函数即割线在函数线的上方。
基本Jensen不等式:
若
,则有
上面是针对离散情况,若对于连续情况可以推得:若有
on
,
,则可得:
即有
其中E f(x) 表示f(x)在p(x)这样一个分布下的期望。
假定有训练集
包含m个独立样本,希望从中找到该组数据 的模型p(x,z)的参数。
z是隐随机变量,不方便直接找到参数估计。 策略:计算l(θ)下界,求该下界的最大值; 重复该过程,直到收敛到 局部最大值。
上图中有两条曲线,上方的曲线为对数似然函数l(θ),我们的任务就是找出一个θ能使对数似然取最大值,一开始先验性的给出一个初值
,在这一点处构造出一个比较简单的函数r(x|θ),这个函数r保证除了在
点以外,其他的点都小于对数似然函数,即
,如果这个简单的r函数比较容易求极值,可以利用任何一种办法求函数r的极值,假定在
点处,r求得极大值。那么A>0>B,然后又在
点处构造一个简单的r函数,重复以上操作,这样就可以找到对数似然函数的 局部极大值,并且找到对应的
。
上面的操作可以归结为两个步骤,并且不断的重复这两个步骤
初始化:先验性的给出一个θ,然后给出一个简单的下界函数,该下界函数只在θ处与对数似然函数相等,其他点处均小于对数似然函数。
求下界函数r(x|θ)的极大值对应的
。
由第一步得到更新后的
,构造出对数似然函数l(θ)新的下界函数r(x|θ),并且这个r函数只在
点处与对数似然函数相等,其他点处均小于 l(θ)。
显然问题的关键在于如何给出下界函数r(x|θ),这是最难的部分。
把
看作一个整体X,那么
表示对X在
这样一个分布上的期望。
下式中的f函数为凸函数,满足Jensen不等式中的
而log函数是凹函数,故大于等于号改为小于等于,可得:
那么等号在什么情况下成立呢?我们还是从凸函数的性质说起,在凸函数中,割线始终在函数线的上方,只有在x是某一个定常数时,即割线为函数线上一个定点时,割线上的函数值才与函数线函数值相等。
为了使等号成立:
那么分子分母呈正相关关系:
又因为Q为Z的分布,即加和为1,即要使得:
那么可以令:
这样可满足:
故当
时,下界函数与对数似然函数在
处相等。
其中E步更新Q,使得下界函数与对数似然函数在θ点处相等;而M步是在求下界函数的极大值,并且更新θ。这两步不断的循环重复。最终使得M步下界函数的最大值与对数似然函数的局部极大值相等。
从上面的推导,我们知道 J(Q,θ)<=l(θ),其中J(Q,θ)可以看作是坐标上升,在M步求得最大化时对应的θ,然后固定θ,在E步求得该θ对应的Q。不断的重复以上操作。
,第i个高斯分布的均值为μi,方差为Σi。若观测到随机变量X的一系列样本x1,x2,…,xn,试估计参数
,μ,Σ。
表示第i个样本属于第 j 个高斯分布的概率,k 为混合高斯分布中各种高斯分布的种数,则有
。
将多项分布和高斯分布的参数带入:
其中
已确定了属于第j个高斯分布,故其只与μ,Σ有关;而
表示第i个样本属于第j个高斯分布的概率,只与其对应的先验概率
有关,并且等于
。其中
服从
的多元高斯分布。
由此上式可推得:
在M步中需要对对数似然函数求最大值,并且找出其对应的参数
,μ,Σ,故对各参数求导数,其导数为0时对应的参数即为所估计的参数。
对均值求导:
对于矩阵A,则有
,若A为对称阵,则结果为2Ax。有关矩阵求导请看机器学习–>矩阵和线性代数
而上式中的
为协方差矩阵,对称矩阵,故
为对称矩阵。那么上式可推得:
令上式等于0,
与i无关可以约去,则解的均值:
同理对方差Σ求偏导,使其导为0可得:
还需要对
求偏导,做法和上面略有不一样。
考察M-step的目标函数,对于
,删除常数项
得新的目标函数:
上面过程相当于简化了目标函数,删除的部分在求导以后肯定也会去掉。
那么直接对
求偏导吗?不是,因为
是一个概率分布,即有约束条件
。所以应该利用拉格朗日乘子法得:
可能有人会问不是还有不等式约束吗?
,注意目标函数里面有一项
,这就说明在可行域上已经确定了
。在该目标函数求出来的
一定大于0。
于是求偏导,等于0 :
full:每一个类都有自己一般的协方差矩阵。
tied:所有类共享相同的协方差矩阵。
diag:每一个类都有自己的对角协方差矩阵。
spherical:每一个类的样本的协方差矩阵的对角值都相等。
通常选择 diag, tied可以用来防止过拟合。
那么应该选择上面四种协方差呢?
记:L 为某模型下样本的似然函数值,k 为模型中未知参数的个数(维度),n 为样本个数,下面有两个评判准则:
AIC=−2lnL+2k
BIC=−2InL+(Lnn)k
其实就相当于在损失函数后面加上一个正则项而已。
表示第i个样本属于第 j 个高斯分布的概率,可利用EM算法求出混合高斯模型中第j个高斯分布的先验概率
,第j个高斯分布的期望(多元时为向量)
,第j个高斯分布的方差(多元时为协方差)
。
E-steps:
M-steps:
复习Jensen不等式
若f是凸函数凸函数即割线在函数线的上方。
基本Jensen不等式:
若
,则有
上面是针对离散情况,若对于连续情况可以推得:若有
on
,
,则可得:
即有
其中E f(x) 表示f(x)在p(x)这样一个分布下的期望。
EM算法
前面的博文中讲到了K-means聚类算法,能够非常方便的 将未标记的样本分成若干簇,但无法给出某个样本属于该簇的后验概率。有时候我们将样本归为某类时,需要知道归为该类的概率为多大?假定有训练集
包含m个独立样本,希望从中找到该组数据 的模型p(x,z)的参数。
通过最大似然估计建立目标函数:
z是隐随机变量,不方便直接找到参数估计。 策略:计算l(θ)下界,求该下界的最大值; 重复该过程,直到收敛到 局部最大值。
上图中有两条曲线,上方的曲线为对数似然函数l(θ),我们的任务就是找出一个θ能使对数似然取最大值,一开始先验性的给出一个初值
,在这一点处构造出一个比较简单的函数r(x|θ),这个函数r保证除了在
点以外,其他的点都小于对数似然函数,即
,如果这个简单的r函数比较容易求极值,可以利用任何一种办法求函数r的极值,假定在
点处,r求得极大值。那么A>0>B,然后又在
点处构造一个简单的r函数,重复以上操作,这样就可以找到对数似然函数的 局部极大值,并且找到对应的
。
上面的操作可以归结为两个步骤,并且不断的重复这两个步骤
初始化:先验性的给出一个θ,然后给出一个简单的下界函数,该下界函数只在θ处与对数似然函数相等,其他点处均小于对数似然函数。
求下界函数r(x|θ)的极大值对应的
。
由第一步得到更新后的
,构造出对数似然函数l(θ)新的下界函数r(x|θ),并且这个r函数只在
点处与对数似然函数相等,其他点处均小于 l(θ)。
显然问题的关键在于如何给出下界函数r(x|θ),这是最难的部分。
Jensen不等式
令Qi是z的某一个分布,Qi≥0,有:把
看作一个整体X,那么
表示对X在
这样一个分布上的期望。
下式中的f函数为凸函数,满足Jensen不等式中的
而log函数是凹函数,故大于等于号改为小于等于,可得:
那么等号在什么情况下成立呢?我们还是从凸函数的性质说起,在凸函数中,割线始终在函数线的上方,只有在x是某一个定常数时,即割线为函数线上一个定点时,割线上的函数值才与函数线函数值相等。
为了使等号成立:
那么分子分母呈正相关关系:
又因为Q为Z的分布,即加和为1,即要使得:
那么可以令:
这样可满足:
故当
时,下界函数与对数似然函数在
处相等。
EM算法整体框架
其中E步更新Q,使得下界函数与对数似然函数在θ点处相等;而M步是在求下界函数的极大值,并且更新θ。这两步不断的循环重复。最终使得M步下界函数的最大值与对数似然函数的局部极大值相等。
坐标上升
EM算法可以看作一个关于Q,θ的函数 J(Q,θ):从上面的推导,我们知道 J(Q,θ)<=l(θ),其中J(Q,θ)可以看作是坐标上升,在M步求得最大化时对应的θ,然后固定θ,在E步求得该θ对应的Q。不断的重复以上操作。
利用EM算法推导GMM
随机变量X是有K个高斯分布混合而成,取各个高斯分布的概率为,第i个高斯分布的均值为μi,方差为Σi。若观测到随机变量X的一系列样本x1,x2,…,xn,试估计参数
,μ,Σ。
E-step
表示第i个样本属于第 j 个高斯分布的概率,k 为混合高斯分布中各种高斯分布的种数,则有
。
M-step
在E步得出更新后的Q(z)的分布。将多项分布和高斯分布的参数带入:
其中
已确定了属于第j个高斯分布,故其只与μ,Σ有关;而
表示第i个样本属于第j个高斯分布的概率,只与其对应的先验概率
有关,并且等于
。其中
服从
的多元高斯分布。
由此上式可推得:
在M步中需要对对数似然函数求最大值,并且找出其对应的参数
,μ,Σ,故对各参数求导数,其导数为0时对应的参数即为所估计的参数。
对均值求导:
对于矩阵A,则有
,若A为对称阵,则结果为2Ax。有关矩阵求导请看机器学习–>矩阵和线性代数
而上式中的
为协方差矩阵,对称矩阵,故
为对称矩阵。那么上式可推得:
令上式等于0,
与i无关可以约去,则解的均值:
同理对方差Σ求偏导,使其导为0可得:
还需要对
求偏导,做法和上面略有不一样。
考察M-step的目标函数,对于
,删除常数项
得新的目标函数:
上面过程相当于简化了目标函数,删除的部分在求导以后肯定也会去掉。
那么直接对
求偏导吗?不是,因为
是一个概率分布,即有约束条件
。所以应该利用拉格朗日乘子法得:
可能有人会问不是还有不等式约束吗?
,注意目标函数里面有一项
,这就说明在可行域上已经确定了
。在该目标函数求出来的
一定大于0。
于是求偏导,等于0 :
GMM调参
这里假设有三个高斯分布组成的高斯混合模型的数据样本,假设样本是三维的,那么对于每个类来说,服从(ui,σi),其中u,σ 都是三维的,现在只考虑3∗3 的协方差矩阵,有四种情况:full:每一个类都有自己一般的协方差矩阵。
tied:所有类共享相同的协方差矩阵。
diag:每一个类都有自己的对角协方差矩阵。
spherical:每一个类的样本的协方差矩阵的对角值都相等。
通常选择 diag, tied可以用来防止过拟合。
那么应该选择上面四种协方差呢?
记:L 为某模型下样本的似然函数值,k 为模型中未知参数的个数(维度),n 为样本个数,下面有两个评判准则:
AIC=−2lnL+2k
BIC=−2InL+(Lnn)k
其实就相当于在损失函数后面加上一个正则项而已。
总结
其中m表示样本个数,表示第i个样本属于第 j 个高斯分布的概率,可利用EM算法求出混合高斯模型中第j个高斯分布的先验概率
,第j个高斯分布的期望(多元时为向量)
,第j个高斯分布的方差(多元时为协方差)
。
E-steps:
M-steps:
相关文章推荐
- 机器学习->监督学习->线性回归(LASSO,Ridge,SGD)
- 机器学习->监督学习->logistic回归,softMax回归
- 机器学习-->监督学习-->SVM
- 机器学习-->无监督学习-->聚类
- Machine Learning(Stanford)| 斯坦福大学机器学习笔记--第一周(1.监督学习与无监督学习的介绍)
- 写给人类的机器学习 2.3 监督学习 III
- 无监督学习与维度约减 机器学习基础(7)
- 机器学习相关内容介绍,包括有监督、无监督学习,线性回归分类问题等
- 机器学习中的监督学习与无监督学习
- 机器学习之监督学习:回归
- Coursera-吴恩达-机器学习-(第8周笔记)无监督学习和维度约简
- 机器学习PartII:监督学习和无监督学习
- Python机器学习笔记——无监督学习
- 机器学习相关定义(更新完监督学习)
- 机器学习(周志华)_第十三章 半监督学习
- Udacity机器学习进阶—监督学习之神经网络迷你项目
- 斯坦福大学公开课 :机器学习课程(Andrew Ng)——15、无监督学习:Reinforcement Learning and Control
- 机器学习-2 监督学习
- 【机器学习-斯坦福】学习笔记2 - 监督学习应用与梯度下降
- 机器学习——有监督学习的神经网络——反向传播算法