贝叶斯
机器学习
期望最大化:一个解决的例子
我在以前的文章中介绍了EM算法的理论部分。以下链接供参考:
第4部分,第5 部分,第6部分
在先前的文章中,我已经解释了EM算法的完整派生,在这篇文章中,我们以一个非常简单的示例为例,了解将EM算法应用于聚类问题我们实际上需要记住的所有内容。
因此,让我们开始吧!
问题陈述
让我们首先定义问题陈述:
请考虑以下分布类型,如下图所示:
在上述分布中,随机变量分别采用频率为{70
有关数据的主要功能:
数据本质上是离散的
我们可以将以上数据视为2个概率的混合
分布函数
因此,现在我们的目标是找到定义的Pdfs的参数。因此,让我们首先定义概率密度函数如下:
上式表示,对于PDF p1:随机变量分别以概率{α,1-α,0}取值{1
因此,为了更加精确,现在我们要计算α和β的精确值。
场景中潜在变量的介绍
让我们说,因为我们需要应用EM算法,所以需要一个潜在变量!
当我们无法解释观察到的变量的行为时,我们考虑潜在变量的概念。潜在变量用于定义观察变量的行为。在上述问题的聚类情况下,我们考虑一个潜在变量t,该变量定义哪个观察到的数据点来自哪个聚类或pdf。功能。换句话说,哪个分布是多少概率。
因此,让我们定义潜变量t的分布。
因此,现在要更精确一点,我们需要计算γ,α和β的值。
所以,让我们开始吧!
事先设定
让我们首先考虑所有变量的先验值
γ=α=β= 0.5
现在上面的方程式表明:
P(X = 1 | t = P1)= 0.5
P(X = 2 | t = P1)= 0.5
P(X = 3 | t = P1)= 0
P(X = 1 | t = P2)= 0
P(X = 1 | t = P2)= 0.5
P(X = 1 | t = P2)= 0.5
P(t = P1)= 0.5
P(t = P2)= 0.5
电子步
要解决E步,我们需要关注以下所示的方程式:
q(t = c)= P(t = c | X i,θ)
因为我在所有给定的数据点范围内。
这里q是从下界我们用Jensen不等式分配后(参见第5部分)
因此,让我们为问题中的所有给定数据点计算q(t = c)。
P(t = c | X i)= P(X i | t = c)* P(t = c)/ c的求和(P(X i | t = c)* P(t = c))
P(t = 1 | X = 1)=(α*γ)/(α*γ+ 0)= 1
P(t = 1 | X = 2)=((1-α)*γ)/((1-α)*γ+(1-β)*(1-γ))= 0.5
P(t = 1 | X = 3)=(0 *γ)/(0 *γ+(β)*(1-γ))= 0
P(t = 2 | X = 1)=(0 *(1-γ))/(0 *(1-γ))+(α*γ))= 0
P(t = 2 | X = 2)=(1-β)*(1-γ)/((1-β)*(1-γ)+(1-α)*γ)= 0.5
P(t = 2 | X = 3)=(β)*(1-γ)/(β)*(1-γ)+ 0 = 1
是不是很简单!
让我们看看M步骤
M步
在M步中,我们需要对以下方程wrtγ,α,β进行微分,并将先前在E步中计算出的值用作常数。因此,等式为:
对于这个问题,我们可以忽略上述表示中的θ,因为它很简单,而且本质上离散,具有3个值的直接概率。
因此,现在新的表示形式为:
似然下界微分=
要记住上面的表达式很简单:
数据点求和(q求和,即我们在E步中计算的值(X i和t上的联合分布的对数))
因此,让我们扩展方程式,我们将进行微分以计算参数
通过将方程式微分3次来求解上述方程式,每次wrt 1表示参数,而其他2保持常数,则得出以下结果:
γ=(85/150),α=(70/85),β=(50/65)
现在您可以自己检查计算了,这些是我手动执行的结果:)
现在我们可以再次将上述计算的参数值放在E步骤中以进行后验计算,然后再次执行M步骤(最有可能的是值不会因上述问题而改变)
我们进行以上迭代,直到我们的参数值停止更新。
这就是我们执行EM算法的方式!
一旦知道了参数的值,就知道了P1和P2的概率密度函数。现在,对于我们的随机变量X所取的任何新值,我们可以具体说出它属于pdf函数的哪个簇以及以什么概率出现。

关注 CDA人工智能学院 ,回复“录播”获取更多人工智能精选直播视频!