Machine Learning-L15-EM算法全解析(下)

简介: Machine Learning-L15-EM算法全解析(下)

2 EM算法


2.1 算法描述


输入:观测变量数据X = ( x ( 1 ) , x ( 2 ) , . . . x ( m ) ,隐变量数据Z = ( z ( 1 ) , z ( 2 ) , . . . z ( m ) 输出:模型参数θ


观测数据X 又称不完全数据(incomplete-data),其概率分布是P ( X ∣ θ

X 和Z连在一起称完全数据(complete data),其联合概率分布是P ( Y , Z ∣ θ )


优化目标:

最大化观测数据X关于参数θ 的对数似然函数:

image.png



image.png


2.2 推导过程


image.png



image.png


由于Q i ( zi ) 是一个分布,满足


image.png

image.png

通过极大化包含隐藏数据的对数似然的下界,从而极大化对数似然$ L(\theta)$。

此时,优化目标成为:


image.png

去掉常数部分


image.png


上式也就是EM算法的M步。


E步则是log ⁡ P (x i, zi ; θ )基于条件概率分布Q i (zi ) )的期望。


2.3 算法步骤


EM通过迭代的方式逐步逼近L ( θ )的极大值(反复构造新的下界): j jj次迭代后θ 的估计值为θ j ,希望新的估计值θ j + 1

能使L ( θ ) 的值增加,即L ( θ j + 1 ) > L ( θ j )。


具体步骤如下:


选泽参数初始值θ 0 。

E步:计算联合分布的条件概率期望,完全数据的对数似然函数log ⁡ P ( X , Z ∣ θ )在给定观测数据X 和当前参数θ j下对未观测数据Z ZZ的条件概率分布P ( Z ∣ X , θ j ) 的期望:


image.png


其中,


image.png

M步:求第j + 1次迭代的参数估计值θ j + 1 :

image.png

重复EM步,直至满足收敛条件,

一般给出较小的正数ε 1 , ε 2,若满足


image.png

则停止迭代,输出此时的θ值。

L函数是EM算法的核心(有的教材中称其为Q QQ函数),每次迭代实际在求期望(E-步)及其极大化(M-步),实现参数θ j → θ j + 1 的更新,使似然函数增大或达到局部极值。


另一种理解


EM算法还可以看做用坐标下降法来最大化对数似然下界的过程,从而得到对数似然函数取得极大值时的参数估计,也就是极大似然估计的过程。

在迭代的过程中,每次固定一个变量,对另外的求极值,最后逐步逼近极值:


E步:固定θ ,优化L

M步:固定L,优化θ

交替将极值推向最大。


2.4 算法的收敛性


可以证明:

image.png

EM算法可以收敛到局部极大值,但是却不能保证收敛到全局的极大值,因此它是局部最优的算法。当然,如果我们的优化目标L ( θ , θ j ) 是凸的,则EM算法可以保证收敛到全局最大值,这点和梯度下降法相同。


3 EM算法与非监督学习

监督学习中,训练数据( x 1  , Y1) , ( x 2 ,Y2) , . . . , ( x ( m ) , y ( m ) ) 中的每个样本点由输入和输出对组成,通过学习决策函数y = f ( x ) (判别模型)或学习条件概率分布P ( y ∣ x ) (生成模型),实现数据的分类及回归。

非监督学习中,训练数据( x 1 , ) , (x 2  , ) , . . . , ( Xm , ) 中每个样本点只有输入没有对应的输出,如聚类。

EM算法可以用于生成模型的非监督学习,生成模型由联合概率分布P ( X , Y ) )表示,认为非监督学习训练数据是联合概率分布产生的数据。


EM算法是一种框架,逼近统计模型参数的最大似然或最大后验估计。


K-Means可以看做一种Hard EM算法,


E步:给定当前簇中心,每个对象都被指派到簇中心离该对象最近的簇(期望每个对象都属于最近的簇)。

M步:给定指定簇,对于每个簇,算法调整其中心,使得指派到该簇的对象到该中心的距离之和最小化(指派到一个簇的对象的相似度最大化)。

K-Means是模糊聚类的一种特例(隐变量是存在分布的),在模糊或基于概率模型的聚类,EM算法从初始参数出发,并且迭代直到不能改善聚类(聚类收敛或改变充分小)。


E-步:根据当前模糊聚类或概率簇的参数,把对象指派到簇中。

M-步:发现新的聚类或参数,最小化模糊聚类的SSE或基于概率模型的期望似然。


4 EM算法应用于高斯混合模型学习


4.1 高斯混合模型


高斯混合模型(Gaussian misture model)指具有如下形式的概率分布模型:


image.png


其中,α j ≥ 0 是系数,image.png

ϕ(xθj)为高斯分布密度image.png

image.png


称为第j 个分模型。


4.2 高斯混合模型参数估计


假设观测数据x 1 , x 2 , . . . , x m 高斯混合模型


image.png

生成,其中模型参数image.png

可以设想观测数据x 1 , x 2 , . . . , x m产生过程如下:


首先根据概率α j选择第j 个高斯分布模型ϕ ( x ∣ θ j )然后根据第j 个模型的概率密度函数ϕ ( x ∣ θ j ) 生成观测数据x i 。

执行上述过程m 次来生成观测数据。


反映观测数据x i 来自第j个模型的隐变量γ 是未知的,定义如下:


image.png

γ ij是0-1随机变量。


E步:根据当前模型参数,计算模型i ii对观测数据y i  的响应度:


image.png

M步:计算新一轮迭代的模型参数:


image.png


EM算法还可以解释为F函数(F function)的极大-极大算法(maximization-maximization algorithm),基于这个解释有若干变形与推广,如广义期望极大算法(GEM,Generalized Expectation Maximization)


附:数学基础


(1)Jensen不等式


如果f ff是凸函数,X 是随机变量,则f ( E [ X ] ) ⩽ E [ f ( X ) ] f(E[X]) ,特别地,如果f ff是严格凸函数,那么等号成立当且仅当P ( x = E [ X ] ) = 1 时(X 是常量);

如果f是凹函数,X 是随机变量,则f ( E [ X ] ) ⩾ E [ f ( X ) ] f(E[X]),特别地,如果f ff是严格凹函数,那么等号成立当且仅当P ( x = E [ X ] ) = 1时(X 是常量);

当f 是(严格)凹函数当且仅当− f 是(严格)凸函数。

20200406233842407.png


函数f ff是凸函数,X 是随机变量,有0.5的概率是a ,有0.5的概率是b 。X 的期望值E ( x )就是( a + b ) / 2 (,可以看出E [ f ( X ) ] ⩾ f ( E [ X ] ) 成立。


(2) 坐标下降法


坐标下降法是一种对多个参数分步迭代最终得到目标函数局部极大值(极小值)的方法

如求目标函数f ( μ , θ ) 极值,可给定初值θ  ,然后分别计算:

image.png

显然,

image.png

不断迭代后,f ( μ i + 1 , θ i ) 的值也逐渐逼近f m a x ,此时θ i 和μ i + 1  即为参数估计的值。


相关文章
|
3月前
|
存储 人工智能 算法
从零掌握贪心算法Java版:LeetCode 10题实战解析(上)
在算法世界里,有一种思想如同生活中的"见好就收"——每次做出当前看来最优的选择,寄希望于通过局部最优达成全局最优。这种思想就是贪心算法,它以其简洁高效的特点,成为解决最优问题的利器。今天我们就来系统学习贪心算法的核心思想,并通过10道LeetCode经典题目实战演练,带你掌握这种"步步为营"的解题思维。
|
4月前
|
机器学习/深度学习 人工智能 搜索推荐
从零构建短视频推荐系统:双塔算法架构解析与代码实现
短视频推荐看似“读心”,实则依赖双塔推荐系统:用户塔与物品塔分别将行为与内容编码为向量,通过相似度匹配实现精准推送。本文解析其架构原理、技术实现与工程挑战,揭秘抖音等平台如何用AI抓住你的注意力。
1239 7
从零构建短视频推荐系统:双塔算法架构解析与代码实现
|
4月前
|
机器学习/深度学习 存储 算法
动态规划算法深度解析:0-1背包问题
0-1背包问题是经典的组合优化问题,目标是在给定物品重量和价值及背包容量限制下,选取物品使得总价值最大化且每个物品仅能被选一次。该问题通常采用动态规划方法解决,通过构建二维状态表dp[i][j]记录前i个物品在容量j时的最大价值,利用状态转移方程避免重复计算子问题,从而高效求解最优解。
623 1
|
4月前
|
算法 搜索推荐 Java
贪心算法:部分背包问题深度解析
该Java代码基于贪心算法求解分数背包问题,通过按单位价值降序排序,优先装入高价值物品,并支持部分装入。核心包括冒泡排序优化、分阶段装入策略及精度控制,体现贪心选择性质,适用于可分割资源的最优化场景。
379 1
贪心算法:部分背包问题深度解析
|
4月前
|
机器学习/深度学习 边缘计算 人工智能
粒子群算法模型深度解析与实战应用
蒋星熠Jaxonic是一位深耕智能优化算法领域多年的技术探索者,专注于粒子群优化(PSO)算法的研究与应用。他深入剖析了PSO的数学模型、核心公式及实现方法,并通过大量实践验证了其在神经网络优化、工程设计等复杂问题上的卓越性能。本文全面展示了PSO的理论基础、改进策略与前沿发展方向,为读者提供了一份详尽的技术指南。
粒子群算法模型深度解析与实战应用
|
4月前
|
机器学习/深度学习 资源调度 算法
遗传算法模型深度解析与实战应用
摘要 遗传算法(GA)作为一种受生物进化启发的优化算法,在复杂问题求解中展现出独特优势。本文系统介绍了GA的核心理论、实现细节和应用经验。算法通过模拟自然选择机制,利用选择、交叉、变异三大操作在解空间中进行全局搜索。与梯度下降等传统方法相比,GA不依赖目标函数的连续性或可微性,特别适合处理离散优化、多目标优化等复杂问题。文中详细阐述了染色体编码、适应度函数设计、遗传操作实现等关键技术,并提供了Python代码实现示例。实践表明,GA的成功应用关键在于平衡探索与开发,通过精心调参维持种群多样性同时确保收敛效率
机器学习/深度学习 算法 自动驾驶
917 0
|
4月前
|
机器学习/深度学习 人工智能 资源调度
大语言模型的核心算法——简要解析
大语言模型的核心算法基于Transformer架构,以自注意力机制为核心,通过Q、K、V矩阵动态捕捉序列内部关系。多头注意力增强模型表达能力,位置编码(如RoPE)解决顺序信息问题。Flash Attention优化计算效率,GQA平衡性能与资源消耗。训练上,DPO替代RLHF提升效率,MoE架构实现参数扩展,Constitutional AI实现自监督对齐。整体技术推动模型在长序列、低资源下的性能突破。
580 8
|
4月前
|
算法 API 数据安全/隐私保护
深度解析京东图片搜索API:从图像识别到商品匹配的算法实践
京东图片搜索API基于图像识别技术,支持通过上传图片或图片URL搜索相似商品,提供智能匹配、结果筛选、分页查询等功能。适用于比价、竞品分析、推荐系统等场景。支持Python等开发语言,提供详细请求示例与文档。
|
6月前
|
机器学习/深度学习 人工智能 编解码
AI视觉新突破:多角度理解3D世界的算法原理全解析
多视角条件扩散算法通过多张图片输入生成高质量3D模型,克服了单图建模背面细节缺失的问题。该技术模拟人类多角度观察方式,结合跨视图注意力机制与一致性损失优化,大幅提升几何精度与纹理保真度,成为AI 3D生成的重要突破。
679 0

推荐镜像

更多
  • DNS