极大似然估计MLE
似然函数
令Dc表示训练集D中第c类样本组成的集合,假设这些样本是独立同分布的,则参数对于数据集Dc的似然是
对进行极大似然估计,就是去寻找能最大化似然
的参数值
.直观看,极大似然估计是试图在
所有可能的取值中,找到一个能使数据出现的“可能性”最大的值。
由于连乘操作易造成下溢,通常使用对数似然
此时参数的极大似然估计为
EM算法
解决的是在概率模型中含有无法观测的隐含变量情况下的参数估计问题,是迭代的方法
X:已观测,Z:未观测(隐变量),模型参数。想要对
做极大似然估计,则应最大化对数似然
由于是未知的,无法直接通过最大似然估计求解参数,这时需要利用EM算法来求解。
EM算法原理推导
假设对应的分布为
,并满足
。利用Jensen不等式,可以得到
要使等号成立,需要满足因此,
。当等式成立时,我们相当于为待优化函数找到了一个逼近的下界,然后通过最大化这个下界可以使得待优化函数向更好的方向改进。
EM基本思想
若参数已知,则可根据训练数据推断出最优隐变量Z的值(E步);反之,若Z的值已知,则可方便的对参数
做极大似然估计(M步)。
以为起点,可迭代的执行以下步骤直至收敛:
若我们不是取Z的期望,而是基于计算隐变量Z的概率分布
则EM算法的两个步骤是:
简要的说,EM算法使用两个步骤交替计算:第一步是期望(E)步,利用当前估计的参数值来计算对数似然的期望值;第二步是最大化(M)步,寻找能使E步产生的似然期望最大化的参数值。然后,新得到的参数值重新被用于E步,…,直至收敛到局部最优解。
高斯混合模型
所属类别:聚类算法,使用EM算法进行迭代计算
概念:
高斯混合模型假设每个簇的数据都是符合高斯分布(又叫正态分布)的,当前数据呈现的分布就是各个簇的高斯分布叠加在一起的结果。也即多个高斯分布函数的线性组合来对数据分布进行拟合。
理论上,高斯混合模型可以拟合出任意类型的分布。
高斯混合模型的核心思想
假设数据可以看作从多个高斯分布中生成出来的。在该假设下,每个单独的分模型都是标准高斯模型,其均值和方差
都是待估计的参数。此外,每个分模型都还有一个参数
,可理解为权重或生成数据的概率。
高斯混合模型的公式:
高斯混合模型的计算
寻找最佳的均值,方差,和权重,这类问题通常是通过极大似然估计来求解。但此问题中直接使用最大似然估计,得到的是一个复杂的非凸函数,目标函数是喝的对数,难以展开和对其求偏导。
采用EM算法求解该优化问题。
这里Z即为权值
EM算法是在最大化目标函数时,先固定一个变量使整体函数变为凸优化函数,求导得到最值,然后利用最优参数更新被固定的变量,进入下一个循环。
GMM模型的求解,EM迭代过程如下:
首先,初始随机选择各参数的值。然后,重复下述两步,直到收敛。
1)E步骤。根据当前的参数,计算每个点由某个分模型生成的概率
2)M步骤。使用E步骤估计出的概率,来改进每个分模型的均值,方差和权重。
也即,我们并不知道最佳的K个高斯分布的各自3个参数,也不知道每个数据点究竟是哪个高斯分布生成的。所以每次循环时,先固定当前的高斯分布不变,获得每个数据点由各个高斯分布生成的概率。然后固定该生成概率不变,根据数据点和生成概率,获得一组更佳的高斯分布。循环往复,直到参数不再变化,或者变化非常小,便得到了比较合理的一组高斯分布。
高斯混合模型与K均值算法
相同点
- 都可用于聚类算法
- 都需要指定K值
- 都使用EM算法求解
- 都往往只能收敛于局部最优
优点
- 可以给出一个样本属于某类的概率是多少
- 不仅可以用于聚类,还可以用于概率密度估计;并且可以用于生成新的样本
注:
图片来自
https://www.bilibili.com/video/av70839977?p=68