EM算法实验内容及图片分类任务

本文介绍了EM算法的基本原理,包括JENSEN不等式和算法步骤,并通过硬币抛掷问题展示了其实例应用与Python实现。此外,文章还探讨了图片分类任务,讲解了KNN和SVM分类方法,分析了各自的优缺点,并提供了部分代码实现与运行结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

EM算法实验内容

一、基本原理

简介

EM算法又称期望最大化算法,是一种迭代算法,是在概率模型中寻找参数极大似然估计的算法,其中概率模型依赖于无法观测的隐含变量。它主要用于从含有隐含变量的数据中计算极大似然估计。是解决存在隐含变量优化问题的有效方法。

简单推导

1. JENSEN不等式

fff是定义域为实数的函数,如果对于所有的实数xxxf”(x)≥0f”(x)≥0f(x)0,那么fff是凸函数。

Jensen不等式表述如下:
E(f(X))≥f(E(X))E(f(X))≥f(E(X))E(f(X))f(E(X))

特别地,如果fff是严格凸函数,那么E(f(X))=f(E(X))E(f(X))=f(E(X))E(f(X))=f(E(X))当且仅当,也就是说XXX是常量。

在这里插入图片描述
2. EM算法
(1)完整数据:

  • 观测数据:观测到的随机变量XXX样本
    X=(x1,...,xn)X=(x_1,...,x_n)X=(x1,...,xn)

  • 隐含变量:未观测到的随机变量ZZZ的值
    Z=(z1,...zn)Z=(z_1,...z_n)Z=(z1,...zn)

  • 完整数据:包含观测到的随机变量XXX和隐含变量ZZZ的数据:Y=(X,Z)Y=(X,Z)Y=(X,Z)
    Y=((x1,z1),...(xn,zn))Y=((x_1,z_1),...(x_n,z_n))Y=((x1,z1),...(xn,zn))

给定的训练样本是x1,x2,...,xnx_1,x_2,...,x_nx1,x2,...,xn,样例间独立,我们想找到每个样例隐含的类别zzz,能使得p(x,z)p(x,z)p(x,z)最大。p(x,z)p(x,z)p(x,z)的最大似然估计如下:
在这里插入图片描述
EM算法的思想是不断建立lll的下界(E-step),然后优化下界(M-step)。

对于每一个样例iii,让QiQ_iQi表示该样例隐含变量zzz的某种分布,QiQiQi满足

ΣzQi(z)=1,Qi(z)≥0ΣzQ_i(z)=1,Qi(z)≥0ΣzQi(z)=1,Qi(z)0

得到
在这里插入图片描述
这里运用JENSEN不等式,将(3)看成是θ\thetaθ的函数,θ\thetaθ又是模型里的参数,上述过程看成是对l(θ)l(\theta)l(θ)求下界的过程,所以(3)是参数θ\thetaθ的对数似然函数的下界。

等式成立的条件为:
在这里插入图片描述
ccc为常数,不依赖于ziz^izi。对此式子做进一步推导,我们知道ΣzQi(zi)=1ΣzQ_i(z^i)=1ΣzQi(zi)=1

Σzp(xi,zi;θ)=cΣ_zp(x^i,z^i;θ)=cΣzp(xi,zi;θ)=c

推出下式
在这里插入图片描述
3. 算法步骤

  • E-step:固定θ\thetaθ后,选择隐含变量ziz^izi的概率分布
    在这里插入图片描述
  • 在给定Qi(zi)Q_i(z^i)Qi(z
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值