1.EM简介
EM算法是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计,或极大后验概率估计,EM算法的每次迭代由两部分组成:
E步:求期望,
M步:求极大
该算法又叫期望极大算法,简称EM算法。
2.无偏估计—->标准差
3.协方差
(1)协方差公式
(2)协方差计算过程
协方差矩阵是计算不同维度间的协方差
协方差矩阵中第一行第一列 数=第一列各个数与第一列均值差的乘积
(3)要点
协方差矩阵计算的是不同维度之间的协方差,而不是不同样本之间,一个样本矩阵,我们最先要明确的是:这行是一个样本还是一个维度,才能正确计算。
4.正定矩阵
求极值
5.算法步骤
(1)确定圆心
(2)确定椭圆方向
(3)确定x,y轴长度
(4)解释
1、椭圆的长半轴表示的是数据分布的方向,短半轴表示的是数据分布的范围,长短半轴的值差距越大(扁率越大),表示数据的方向性越明显。反之,如果长短半轴越接近,表示方向性越不明显。如果长短半轴完全相等,就等于是一个圆了,圆的话就表示没有任何的方向特征。
2、短半轴表示数据分布的范围,短半轴越短,表示数据呈现的向心力越明显;反之,短半轴越长,表示数据的离散程度越大。同样,如果短半轴与长半轴完全相等了,就表示数据没有任何的分布特征。
3、中心点表示了整个数据的中心位置,一般来说,只要数据的变异程度不是很大的话,这个中心点的位置大约与算数平均数的位置基本上是一致的,至于数据变异是什么情况,请看下面第4点。
6.高斯混合模型(GMM)
![]()
最后一张图是高斯分布
(1)GMM简介
πk相当于概率权重
(2)聚类个数K
(3)参数估计
(4)随机选点方法
分为两步,类似于K-means中的两步。
![]()
从上面的分析中我们可以看到 GMM 和 K-means 的迭代求解法其实非常相似(都可以追溯到 EM 算法),因此也有和 K-means 同样的问题──并不能保证总是能取到全局最优
,如果运气比较差,取到不好的初始值,就有可能得到很差的结果。
对于 K-means 的情况,我们通常是重复一定次数然后取最好的结果,不过 GMM每一次迭代的计算量比 K-means 要大许多
,一个更流行的做法是先用 K-means(已经重复并取最优值了)得到一个粗略的结果,然后将其作为初值(只要将 K-means 所得的 centroids 传入 gmm 函数即可),再用 GMM 进行细致迭代。如我们最开始所讨论的,GMM 所得的结果(Px)不仅仅是数据点的 label ,而包含了数据点标记为每个 label 的概率,很多时候这实际上是非常有用的信息。
(5)多元高斯分布
(6)隐变量
(7)高斯混合分布
7.极大似然估计
(1)引入问题
(2)分析问题
(3)解决问题
(4)例题
若给定一组样本x1,x2…xn,已知它们来自于高斯分布N(μ,σ),试估计参数μ,σ。
8.硬币问题(理解EM算法)
![]()
上图求出的概率为真实概率
![]()
第一步假设一个概率,然后求出第i次为A、B的概率,选取大的概率作为这次硬币是A或者B,最后综合这五次,求出所有A类和B类出现正面概率(出现正面总次数/抛的总次数)
倒数第二步重复也就是将上一步求出的概率作为下一步的概率
9.算法流程
EM 算法一般分为2 步:
E 步:选取一组参数,求出在该参数下隐含变量的条件概率值;
M 步:结合E步求出的隐含变量条件概率,求出似然函数下界函数(本质上是某个期
望函数)的最大值。
重复上面2步直至收敛:
10注意问题
(1)新估计出的P1和P2一定会更接近真实的P1和P2?
没错,一定会更接近真实的P1和P2,数学可以证明。
(2)迭代一定会收敛到真实的P1和P2吗?
不一定,取决于P1和P2的初始化值,上面我们之所以能收敛到P1和P2,是因为我们幸运地找到了好的初始化值