Processing math: 100%
随笔 - 20  文章 - 0 评论 - 7 阅读 - 58276
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

目录

EM算法(1):K-means 算法

EM算法(2):GMM训练算法

EM算法(3):EM算法运用

EM算法(4):EM算法证明

 

        

                  EM算法(4):EM算法证明

1. 概述

  上一篇博客我们已经讲过了EM算法,EM算法由于其普适性收到广泛关注,高频率地被运用在各种优化问题中。但是EM算法为什么用简单两步就能保证使得问题最优化呢?下面我们就给出证明。

2. 证明

  现在我们已经对EM算法有所了解,知道其以两步(E-step和M-step)为周期,迭代进行,直到收敛为止。那问题就是,在一个周期内,目标函数的值是否增加了?如果能保证其每个周期都在增加的话,那么其必然收敛到一个局部最大值处。这就是我们EM算法所需要证明的,即:

            p(X;θ(i+1))p(X;θ(i))

  首先假设Y的分布为q(Y),则有Yq(Y)=1,则:

      

  现在假设在EM算法第i个周期结束,因为KL(q||p)不小于零,那么其最小时就为0,即q(Y)=p(Y|X,θ(i))时。

  在E-step时,我们计算Q(θ(i+1)|θ(i)),我们发现:

        

  在M-step时,我们找到一个θ(i+1),使得Q(θ|θ(i))最大,即也是使得L(q|θ)最大。同时,因为此时p(X,Y|θ(i+1))p(X,Y|θ(i))=q(Y),那么KL(q||p)也会大于零。那么相对于第i个EM周期结束时的目标函数的值,现在其两个和项的值都是非减的,那么很容易得到:

            p((X)|θ(i+1))p(X|θ(i))

 

 

  

 

posted on   Ccien  阅读(844)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示