
q函数
-
2023年3月1日发(作者:保罗纽曼)统计机器学习-EM算法(期望极⼤算法)
EM算法⽤于含有隐变量的概率模型参数的极⼤似然估计。这⾥⾸先对隐变量解释,举下⾯的例⼦
(三硬币模型)假设有3枚硬币,分别记做,,,这些硬币正⾯出现的概率分别是,和。进⾏如下掷硬币试验:先掷硬币,根
据其结果选出硬币或硬币,正⾯选硬币,反⾯选硬币;然后掷选出的硬币,掷硬币的结果,出现正⾯记做1,出现反⾯记做0;独⽴的重
复次试验(这⾥,),观测结果如下:
假设能观测到掷硬币的结果,不能观测掷硬币的过程,问如何估计三硬币正⾯出现的概率,即三硬币模型的参数,和。
其中掷硬币的结果是未观测的,叫做隐变量,记做。将观测数据表⽰为,未观测数据表⽰为
,则观测数据的似然函数为
即
对模型参数进⾏极⼤似然估计,即
因为掷硬币的结果未知,所以没有这个问题解析解,只能通过迭代的⽅式,逐步增加对数似然函数,找到⼀个解。EM算法解决的就是这样的⼀
类问题。
接下来⾸先提出EM算法,然后对其进⾏解释。
EM算法
EM算法叫做Exceptionmaximization算法,顾名思义,包含求期望(Exception)和极⼤化(maximization)两个步骤。
输⼊:观测变量数据,隐变量数据,联合分布,条件分布;
输出:模型参数。
(1)选择参数的初值,开始迭代;
(2)E步:记为第次迭代参数的估计值,在第次迭代的E步,计算
这⾥是在给定观测数据和当前参数估计下隐变量数据的条件概率分布;
(3)M步:求使极⼤化的,确定第次迭代的参数的估计值
(4)重复第(2)步和第(3)步,直到收敛。
第(2)步中是EM算法的核⼼,称为Q函数。
Q函数定义:完全数据的对数似然函数关于给定观测数据和当前参数下对未观测数据的条件概率分布
的期望称为Q函数,即
因为,所以
其中,因为数据未包含隐变量的结果,所以称为不完全数据,称为不完全数据的对数似然函数,⽽数据则称为完全数
据,称为完全数据的对数似然函数。
下⾯关于EM算法作⼏点说明:
步骤(1)参数的初值可以任意选择,但需注意EM算法对初值是敏感的。
步骤(2)E步求。Q函数式中是未观测数据,是观测数据,注意,的第1个变元表⽰要极
⼤化的参数,第2个变元表⽰参数的当前估计值。每次迭代实际在求Q函数及其极⼤。
步骤(3)M步求的极⼤化,得到,完成⼀次迭代。
步骤(4)给出停⽌迭代的条件,⼀般是对较⼩的正数,,若满⾜
则停⽌迭代。
下⾯给出这种做法为什么可以对观测数据(不完全数据)进⾏极⼤似然估计。
EM算法的导出
对于⼀个含有隐变量的模型,⽬标是极⼤化观测数据(不完全数据)关于参数的对数似然函数,即最⼤化
上⾯第⼀步⽤到边缘概率和联合概率的关系,第⼆步⽤到的是条件分布公式。对这⼀
对数似然函数极⼤化的困难是因为上式中包含未观测数据。
但是如果通过第次迭代得到估计的参数,此时再找到⼀个参数,使得(和IIS算法思路有点类
似),那么同样也可以起到极⼤似然估计的效果。为此,考虑两者的差
利⽤Jensen不等式,过程略,得到其下界:
于是得到对数似然函数的下界
定义
则
并且
即可以使可以增⼤的,也可以使增⼤,所以极⼤似然估计变成了使极⼤化的问
题,即
所以
省去不包含变量的常数项,,得到
所以,在EM算法中最⼤化Q函数,就等同于最⼤对数似然函数的下界,从⽽进⾏极⼤似然估计。但是这种算法并不能保证找到全局最优值。
EM算法可以⽤于⽆监督学习,略。EM算法的收敛性证明略。
EM算法在⾼斯混合模型学习中的应⽤
⾼斯混合模型定义
⾼斯混合模型是指具有如下形式的概率分布模型:
其中,是系数,,;是⾼斯分布密度,
,
称为第个模型。
⾼斯混合模型参数估计的EM算法
可以设想观测数据,,是这样产⽣的:⾸先,依概率选择第个⾼斯分布分模型;然后依第
个分模型的概率分布⽣成观测数据,这是观测数据,,是已知的;反应观测数据来⾃第个分模
型的数据是未知的,,以隐变量表⽰,其定义如下:
是0,1随机变量。
有了观测数据及未观测数据,那么完全数据是
于是可以写出完全数据的似然函数:
其中,(依赖第个分类器的样本数),。
那么完全数据的对数似然函数为
确定Q函数
其中
是在当前模型参数下第个观测数据来⾃第个分模型的概率,称为分模型对观测数据的响应度。
根据开头的描述,,,所以
将及(此处的实际为,
)代⼊公式(10)得到
接下来需要求Q函数的极⼤化(极⼤化观测数据对数似然函数的下界),即
其中,,将公式(12)对和求偏导等于0,得到第次的更新值
和,同样将公式(12)对求偏导等于0,加上条件,求得更新值
。计算更新值时,⽤到的参数是第次更新得到的值,所以可以通过迭代的⽅式不断更新参数直到收敛。
求得的,和为
⾼斯混合模型参数估计的EM算法
输⼊:观测数据,⾼斯混合模型;
输出:⾼斯混合模型参数。
(1)取参数的初始值开始迭代(初值敏感)
(2)E步:依据当前模型参数,计算分模型对观测数据的响应度
(3)M步:计算新⼀轮迭代的模型参数
(4)重复第(2)步和第(3)步,直到收敛。