• MLE<=> KL


    MLE等价于KL散度


    最大似然估计 (MLE) 和Kullback-Leibler散度 (KL散度) 之间有深厚的联系。我将先介绍两者之间的联系,然后通过一个例子进行说明。

    首先,回忆一下两者的定义:

    • 最大似然估计:
      θ ^ = arg ⁡ max ⁡ θ L ( θ ∣ X ) \hat{\theta}=\arg \max _\theta L(\theta \mid X) θ^=argθmaxL(θX)

    其中, L ( θ ∣ X ) L(\theta \mid X) L(θX) 是似然函数,表示在参数为 θ \theta θ 时观测到数据 X X X 的概率。

    • Kullback-Leibler散度:
      D K L ( P ∥ Q ) = ∑ x P ( x ) log ⁡ ( P ( x ) Q ( x ) ) D_{K L}(P \| Q)=\sum_x P(x) \log \left(\frac{P(x)}{Q(x)}\right) DKL(PQ)=xP(x)log(Q(x)P(x))

    其中, P P P Q Q Q 是两个概率分布。KL散度度量了使用概率分布 Q Q Q 来近似概率分布 P P P 时的信息损失。

    现在,考虑一个固定的真实分布 P P P 和一个由参数 θ \theta θ 参数化的模型分布 Q θ Q_\theta Qθ 。我们的目标是找到参数 θ \theta θ 使得模型分布 Q θ Q_\theta Qθ 最接近真实分布 P P P 。为此,我们希望最小化它们之间的KL散度。

    将KL散度分解,我们有:
    D K L ( P ∥ Q θ ) = ∑ x P ( x ) log ⁡ ( P ( x ) Q θ ( x ) ) = ∑ x P ( x ) log ⁡ P ( x ) − ∑ x P ( x ) log ⁡ Q θ ( x )

    DKL(PQθ)=xP(x)log(P(x)Qθ(x))=xP(x)logP(x)xP(x)logQθ(x)" role="presentation" style="position: relative;">DKL(PQθ)=xP(x)log(P(x)Qθ(x))=xP(x)logP(x)xP(x)logQθ(x)
    DKL(PQθ)=xP(x)log(Qθ(x)P(x))=xP(x)logP(x)xP(x)logQθ(x)

    请注意,第一项与 θ \theta θ 无关,因此最小化KL散度等同于最大化似然函数。
    举个简单例子:
    考虑一个伯努利分布,真实参数为 p p p ,观测到的数据为 X X X ,其中有 n n n 个1和 N − n N-n Nn 个 0 。我们的模型分布是 Q θ Q_\theta Qθ ,参数为 θ \theta θ

    似然函数是:
    L ( θ ∣ X ) = θ n ( 1 − θ ) N − n L(\theta \mid X)=\theta^n(1-\theta)^{N-n} L(θX)=θn(1θ)Nn

    使用KL散度,我们有:
    D K L ( P ∥ Q θ ) = p log ⁡ ( p θ ) + ( 1 − p ) log ⁡ ( 1 − p 1 − θ ) D_{K L}\left(P \| Q_\theta\right)=p \log \left(\frac{p}{\theta}\right)+(1-p) \log \left(\frac{1-p}{1-\theta}\right) DKL(PQθ)=plog(θp)+(1p)log(1θ1p)

    为了最小化KL散度,我们希望最大化似然函数,即选择 θ \theta θ 使得 L ( θ ∣ X ) L(\theta \mid X) L(θX) 最大。
    这样,通过考虑两者的定义,可以看出MLE实际上是在尝试最小化模型分布与真实分布之间的KL散度。

    “通过考虑两者的定义,可以看出MLE实际上是在尝试最小化模型分布与真实分布之间的KL散度。”

    首先,Kullback-Leibler散度 (KL散度) 在两个概率分布 P \mathrm{P} P Q \mathrm{Q} Q 之间定义为:
    D K L ( P ∥ Q ) = E P [ log ⁡ ( P ( X ) / Q ( X ) ) ] D_{K L}(P \| Q)=E_P[\log (P(X) / Q(X))] DKL(PQ)=EP[log(P(X)/Q(X))]

    当我们考虑最大似然估计(MLE)时,我们实际上是考虑了一系列观察数据X,并试图找到参数 θ \theta θ 使得数据在模型Q_ θ \theta θ 下的似然性最大。

    考虑固定的真实分布 P \mathrm{P} P 和由参数 θ \theta θ 参数化的模型分布 Q − θ , K L \mathrm{Q}_{-} \theta , \mathrm{KL} QθKL 散度表示为:
    D K L ( P ∥ Q θ ) = E P [ log ⁡ ( P ( X ) / Q θ ( X ) ) ] = E P [ log ⁡ P ( X ) ] − E P [ log ⁡ Q θ ( X ) ]

    DKL(PQθ)=EP[log(P(X)/Qθ(X))]=EP[logP(X)]EP[logQθ(X)]" role="presentation" style="position: relative;">DKL(PQθ)=EP[log(P(X)/Qθ(X))]=EP[logP(X)]EP[logQθ(X)]
    DKL(PQθ)=EP[log(P(X)/Qθ(X))]=EP[logP(X)]EP[logQθ(X)]

    这里, E P [ log ⁡ P ( X ) ] E_P[\log P(X)] EP[logP(X)] 是真实分布 P \mathrm{P} P 下的期望值,并且与参数 θ \theta θ 无关。因此,最小化 D K L ( P ∥ Q θ ) D_{K L}\left(P \| Q_\theta\right) DKL(PQθ) 相当于最大化似然函数的负对数:
    − E P [ log ⁡ Q θ ( X ) ] = − ∑ x P ( x ) log ⁡ Q θ ( x ) -E_P\left[\log Q_\theta(X)\right]=-\sum_x P(x) \log Q_\theta(x) EP[logQθ(X)]=xP(x)logQθ(x)

    在实际应用中,我们没有真实分布 P \mathrm{P} P 的直接访问,但我们有观测数据。因此,我们用观测数据的经验分布来代替真实分布 P \mathrm{P} P ,并使用该经验分布的期望来估计负对数似然。

    结论: MLE尝试找到参数 θ \theta θ 使得模型Q_ θ \theta θ 下的观测数据的似然性最大。从KL散度的角度看,这等价于最小化模型分布Q_ θ \theta θ 与观测数据经验分布 (代表真实分布 P P P ) 之间的KL散度。

    因此,当我们使用MLE方法时,我们实际上是在尝试找到参数值 θ \theta θ ,使得参数化的模型分布 Q_日尽可能接近观测数据的经验分布,从而最小化它们之间的KL散度。

    根据你上面的意思,那 − E P [ log ⁡ Q θ ( X ) ] -E_P[\log Q_{\theta}(X)] EP[logQθ(X)]就是 似然函数的负对数?

    我刚才的表述有些不精确。让我们更明确地探讨这一点。
    给定观测数据集 X = { x 1 , x 2 , … , x N } X=\left\{x_1, x_2, \ldots, x_N\right\} X={x1,x2,,xN} ,似然函数表示为:
    L ( θ ∣ X ) = ∏ i = 1 N Q θ ( x i ) L(\theta \mid X)=\prod_{i=1}^N Q_\theta\left(x_i\right) L(θX)=i=1NQθ(xi)

    对数似然函数是似然函数的自然对数:
    ℓ ( θ ∣ X ) = log ⁡ L ( θ ∣ X ) = ∑ i = 1 N log ⁡ Q θ ( x i ) \ell(\theta \mid X)=\log L(\theta \mid X)=\sum_{i=1}^N \log Q_\theta\left(x_i\right) (θX)=logL(θX)=i=1NlogQθ(xi)

    为了找到最大似然估计,我们希望最大化对数似然函数。

    在之前的讨论中,我提到了:
    − E P [ log ⁡ Q θ ( X ) ] = − ∑ x P ( x ) log ⁡ Q θ ( x ) -E_P\left[\log Q_\theta(X)\right]=-\sum_x P(x) \log Q_\theta(x) EP[logQθ(X)]=xP(x)logQθ(x)

    这实际上是期望的负对数似然,其中的期望是基于真实分布 P \mathrm{P} P 计算的。但是,在实际的最大似然估计中,我们通常使用观测数据的经验分布来代替真实分布,所以我们尝试最大化对数似然函数 ℓ ( θ ∣ X ) \ell(\theta \mid X) (θX) ,而不是最小化负对数似然。

    所以,你是对的。在给定观测数据的情况下,我们不直接使用 − E P [ log ⁡ Q θ ( X ) ] -E_P\left[\log Q_\theta(X)\right] EP[logQθ(X)] ,而是使用对数似然函数 ℓ ( θ ∣ X ) \ell(\theta \mid X) (θX) 。我的之前的描述可能引起了一些混看,对此我深感抱歉。

    对数似然函数:
    l ( θ ∣ X ) = log ⁡ L ( θ ∣ X ) = ∑ i = 1 N log ⁡ Q θ ( x i ) l(\theta|X)=\log L(\theta \mid X)=\sum_{i=1}^N \log Q_\theta\left(x_i\right) l(θX)=logL(θX)=i=1NlogQθ(xi) 其实和 − E P [ log ⁡ Q θ ( X ) ] = − ∑ x P ( x ) log ⁡ Q θ ( x ) -E_P\left[\log Q_\theta(X)\right]=-\sum_x P(x) \log Q_\theta(x) EP[logQθ(X)]=xP(x)logQθ(x)是等价的。只是 ∑ i = 1 N log ⁡ Q θ ( x i ) \sum_{i=1}^N \log Q_\theta\left(x_i\right) i=1NlogQθ(xi)需要再乘一个 1 N \frac{1}{N} N1。 是这样吗?
    比如给定的观测数据为 X = 1 , 2 , 2 , 3 , 2 , 1 X={1,2, 2, 3,2, 1} X=1,2,2,3,2,1
    那对于对数似然函数 ℓ ( θ ∣ X ) = 2 ∗ log ⁡ Q θ ( 1 ) + 3 ∗ log ⁡ Q θ ( 2 ) + 1 ∗ log ⁡ Q θ ( 2 ) \ell(\theta|X)=2*\log Q_{\theta}(1) + 3* \log Q_{\theta}(2)+1*\log Q_{\theta}(2) (θX)=2logQθ(1)+3logQθ(2)+1logQθ(2)
    那前面的系数 2 , 3 , 1 2, 3, 1 2,3,1都乘以一个 1 N \frac{1}{N} N1就变成了 P ( x ) P(x) P(x)了。是这样吗?
    根据你上面的意思,那 − E P [ log ⁡ Q θ ( X ) ] -E_P[\log Q_{\theta}(X)] EP[logQθ(X)]就是 似然函数的负对数?

    你的理解是正确的。为了清晰地说明这一点,让我们分步骤地进行讨论。

    首先,考虑对数似然函数:
    ℓ ( θ ∣ X ) = ∑ i = 1 N log ⁡ Q θ ( x i ) \ell(\theta \mid X)=\sum_{i=1}^N \log Q_\theta\left(x_i\right) (θX)=i=1NlogQθ(xi)

    现在,考虑经验分布 (观测数据的分布) :
    P ^ ( x ) =  观测到  x  的次数  N \hat{P}(x)=\frac{\text { 观测到 } x \text { 的次数 }}{N} P^(x)=N 观测到 x 的次数 

    对于你给的例子,数据集为 X = { 1 , 2 , 2 , 3 , 2 , 1 } X=\{1,2,2,3,2,1\} X={1,2,2,3,2,1} 。则:
    P ^ ( 1 ) = 2 6 = 1 3 P ^ ( 2 ) = 3 6 = 1 2 P ^ ( 3 ) = 1 6

    P^(1)=26=13P^(2)=36=12P^(3)=16" role="presentation" style="position: relative;">P^(1)=26=13P^(2)=36=12P^(3)=16
    P^(1)=62=31P^(2)=63=21P^(3)=61

    基于经验分布的负对数似然期望是:
    − ∑ x P ^ ( x ) log ⁡ Q θ ( x ) = − ( 1 3 log ⁡ Q θ ( 1 ) + 1 2 log ⁡ Q θ ( 2 ) + 1 6 log ⁡ Q θ ( 3 ) )

    xP^(x)logQθ(x)=(13logQθ(1)+12logQθ(2)+16logQθ(3))" role="presentation" style="position: relative;">xP^(x)logQθ(x)=(13logQθ(1)+12logQθ(2)+16logQθ(3))
    xP^(x)logQθ(x)=(31logQθ(1)+21logQθ(2)+61logQθ(3))

    当你考虑对数似然函数时:
    ℓ ( θ ∣ X ) = 2 log ⁡ Q θ ( 1 ) + 3 log ⁡ Q θ ( 2 ) + 1 log ⁡ Q θ ( 3 ) \ell(\theta \mid X)=2 \log Q_\theta(1)+3 \log Q_\theta(2)+1 \log Q_\theta(3) (θX)=2logQθ(1)+3logQθ(2)+1logQθ(3)

    可以看到,当你将对数似然函数乘以 1 N \frac{1}{N} N1 ,得到:
    1 6 ℓ ( θ ∣ X ) = 1 3 log ⁡ Q θ ( 1 ) + 1 2 log ⁡ Q θ ( 2 ) + 1 6 log ⁡ Q θ ( 3 ) \frac{1}{6} \ell(\theta \mid X)=\frac{1}{3} \log Q_\theta(1)+\frac{1}{2} \log Q_\theta(2)+\frac{1}{6} \log Q_\theta(3) 61(θX)=31logQθ(1)+21logQθ(2)+61logQθ(3)

    这与基于经验分布的负对数似然期望是一致的,只是符号相反。
    因此,确实,当你考虑观测数据的经验分布,并将对数似然函数乘以 1 N \frac{1}{N} N1 ,你实际上得到了基于经验分布的负对数似然期望的正值。

  • 相关阅读:
    服务注册与配置一站式管理神器Nacos(四)-- 配置中心的使用
    双冠王!华为云领跑政务市场
    Android 框架
    [算法刷题笔记]二叉树练习(2):对称二叉树有关的练习
    你真的佩戴好劳保防护用品了吗?这才是正确的打开方式
    Django——模板应用
    jquery广告图片切换效果
    SFI立昌在Telecom通讯行业的方案与应用
    vue3+vite+ts 组件中自动导入 ref 和 reactive
    第一次使用VSCode创建vue项目(报错大全)
  • 原文地址:https://blog.csdn.net/weixin_43845922/article/details/133922105