【机器学习算法】9、EM算法与K-Means算法的收敛性证明

简介: 【机器学习算法】9、EM算法与K-Means算法的收敛性证明

简介


EM算法期望最大化算法,是一种迭代法,它同时估计出每个样本所属的簇类别以及每个簇的概率分布的参数。如果要聚类的样本数据服从它所属的簇的概率分布,则可以通过估计每个簇的概率分布以及每个样本所属的簇来完成聚类。估计每个簇概率分布的参数需要知道样本属于这个簇,而确定每个样本属于哪个簇又需要知道每个簇的概率分布的参数,这个存在循环依赖。EM算法在每次迭代时交替地解决上面的两个问题,直至收敛到局部最优解。


EM算法的原理简述


   首先,EM算法解决的是在概率模型中含有无法观测的隐含变量情况下的参数估计问题。假设有m个观察样本,模型的参数为θ,最大化对数似然函数可以写成如下形式:

   当概率模型中含有无法被观测的隐含变量时,参数的最大似然估计变为


   由于z(i)是未知的,无法直接通过最大似然估计求解参数,这时就需要利用EM算法来求解。假设z(i)对应的分布为Q(z(i)), 并满足ΣQ(z(i))。利用Jensen不等式,可以得到:

要使上式中的等号成立,需要满足:

   不等式右侧函数记为r(x|θ)。当等式成立时,我们相当于为待优化的函数找到了一个逼近的下界,然后通过最大化这个下界可以使得待优化函数向更好的方向改进。


   图1是一个θ为一维的例子,其中棕色的曲线代表我们待优化的函数,记为f(θ),优化过程即为找到使得f(θ)取值最大的θ。在当前θ的取值下(即图中绿色的位置),可以计算,此时不等式右侧的函数(记为r(x|θ))给出了优化函数的一个下界,如图中蓝色曲线所示,其中在θ处两条曲线的取值时相等的。接下来找到使得r(x|θ)最大化的参数θ′,即图中红色的位置,此时f(θ′)的取值比f(θ)(绿色的位置处)有所提升。可以证明,f(θ′)≥r(x|θ)=f(θ),因此函数是单调的,而且P(x(i),z(i)|θ)∈(0,1)从而函数是有界的。根据函数单调有界必收敛的性质,EM算法的收敛性得证。但是EM算法只保证收敛到局部最优解。当函数为非凸时,以图1为例,如果初始化在左边的区域时,则无法找到右侧的高点。

fb75187050cfe1df908b35f960df4b1e.jpg

   由上面的推导,EM算法框架可以总结如下,由以下两个步骤交替进行直到收敛。

E步骤:计算隐变量的期望

0b4fe1f60775518761df0d76ace88140.png

M步骤:最大化

90cbb364140e86a8a708374bf4e533a1.png


下图为流程示意图


K均值算法收敛的证明


   首先,需要知道的是K均值聚类的迭代算法实际上是一种最大期望算法(Expectation-Maximization algorithm,EM算法),剩下的事情就是说明K均值算法与EM算法的关系了。K均值算法等价于用EM算法求解以下含隐变量的最大似然问题:

其中z∈{1,2,...,k}是模型的隐变量。直观地理解,就是当样本x离第k个簇的中心点μk距离最近时,概率正比于exp(-||x-μz||2),否则为0。


(1).在E步骤,计算:

   这等同于在K均值算法中对于每一个点x(i)找到当前最近的簇z(i)。


(2).在M步骤,找到最优的参数θ={μ1,μ2,...,μk},使得似然函数最大:

   因此,这一步骤等同于找到最优的中心点{μ1,μ2,...,μk},使得损失函数:

达到最小,此时每个样本x(i)对应的簇z(i)已确定,因此每个簇k对应的最优中心点μk可以由该簇中所有点的平均计算得到,这与K均值算法中根据当前簇的分配更新聚类中心的步骤是等同的。

相关文章
|
2月前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
164 4
|
18天前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
126 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
8天前
|
机器学习/深度学习 算法 网络安全
CCS 2024:如何严格衡量机器学习算法的隐私泄露? ETH有了新发现
在2024年CCS会议上,苏黎世联邦理工学院的研究人员提出,当前对机器学习隐私保护措施的评估可能存在严重误导。研究通过LiRA攻击评估了五种经验性隐私保护措施(HAMP、RelaxLoss、SELENA、DFKD和SSL),发现现有方法忽视最脆弱数据点、使用较弱攻击且未与实际差分隐私基线比较。结果表明这些措施在更强攻击下表现不佳,而强大的差分隐私基线则提供了更好的隐私-效用权衡。
41 14
|
1月前
|
算法
PAI下面的gbdt、xgboost、ps-smart 算法如何优化?
设置gbdt 、xgboost等算法的样本和特征的采样率
61 2
|
2月前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
63 1
|
2月前
|
机器学习/深度学习 自然语言处理 算法
深入理解机器学习算法:从线性回归到神经网络
深入理解机器学习算法:从线性回归到神经网络
|
2月前
|
机器学习/深度学习 算法
深入探索机器学习中的决策树算法
深入探索机器学习中的决策树算法
48 0
|
2月前
|
机器学习/深度学习 算法 Python
机器学习入门:理解并实现K-近邻算法
机器学习入门:理解并实现K-近邻算法
46 0
|
5天前
|
算法 数据安全/隐私保护 计算机视觉
基于Retinex算法的图像去雾matlab仿真
本项目展示了基于Retinex算法的图像去雾技术。完整程序运行效果无水印,使用Matlab2022a开发。核心代码包含详细中文注释和操作步骤视频。Retinex理论由Edwin Land提出,旨在分离图像的光照和反射分量,增强图像对比度、颜色和细节,尤其在雾天条件下表现优异,有效解决图像去雾问题。
|
5天前
|
算法 数据可视化 安全
基于DWA优化算法的机器人路径规划matlab仿真
本项目基于DWA优化算法实现机器人路径规划的MATLAB仿真,适用于动态环境下的自主导航。使用MATLAB2022A版本运行,展示路径规划和预测结果。核心代码通过散点图和轨迹图可视化路径点及预测路径。DWA算法通过定义速度空间、采样候选动作并评估其优劣(目标方向性、障碍物距离、速度一致性),实时调整机器人运动参数,确保安全避障并接近目标。