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(P∥Q)=x∑P(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 ) \begin{aligned} & D_{K L}\left(P \| Q_\theta\right)=\sum_x P(x) \log \left(\frac{P(x)}{Q_\theta(x)}\right) \\ & =\sum_x P(x) \log P(x)-\sum_x P(x) \log Q_\theta(x) \end{aligned} DKL(P∥Qθ)=x∑P(x)log(Qθ(x)P(x))=x∑P(x)logP(x)−x∑P(x)logQθ(x)

请注意,第一项与 θ \theta θ 无关,因此最小化KL散度等同于最大化似然函数。

举个简单例子:

考虑一个伯努利分布,真实参数为 p p p ,观测到的数据为 X X X ,其中有 n n n 个1和 N − n N-n N−n 个 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−θ)N−n

使用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(P∥Qθ)=plog(θp)+(1−p)log(1−θ1−p)

为了最小化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(P∥Q)=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 ) ] \begin{aligned} & D
{K L}\left(P \| Q_\theta\right)=E_P\left[\log \left(P(X) / Q_\theta(X)\right)\right] \\ & =E_P[\log P(X)]-E_P\left[\log Q_\theta(X)\right] \end{aligned} DKL(P∥Qθ)=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(P∥Qθ) 相当于最大化似然函数的负对数:
− 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)]=−x∑P(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=1∏NQθ(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=1∑NlogQθ(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)]=−x∑P(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)=2∗logQθ(1)+3∗logQθ(2)+1∗logQθ(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=1∑NlogQθ(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 \begin{aligned} & \hat{P}(1)=\frac{2}{6}=\frac{1}{3} \\ & \hat{P}(2)=\frac{3}{6}=\frac{1}{2} \\ & \hat{P}(3)=\frac{1}{6} \end{aligned} 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 ) ) \begin{aligned} & -\sum_x \hat{P}(x) \log Q_\theta(x) \\ & =-\left(\frac{1}{3} \log Q_\theta(1)+\frac{1}{2} \log Q_\theta(2)+\frac{1}{6} \log Q_\theta(3)\right) \end{aligned} −x∑P^(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 ,你实际上得到了基于经验分布的负对数似然期望的正值。

相关推荐
Power20246662 小时前
NLP论文速读|LongReward:基于AI反馈来提升长上下文大语言模型
人工智能·深度学习·机器学习·自然语言处理·nlp
好奇龙猫2 小时前
【学习AI-相关路程-mnist手写数字分类-win-硬件:windows-自我学习AI-实验步骤-全连接神经网络(BPnetwork)-操作流程(3) 】
人工智能·算法
数据猎手小k2 小时前
AndroidLab:一个系统化的Android代理框架,包含操作环境和可复现的基准测试,支持大型语言模型和多模态模型。
android·人工智能·机器学习·语言模型
sp_fyf_20242 小时前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-01
人工智能·深度学习·神经网络·算法·机器学习·语言模型·数据挖掘
香菜大丸3 小时前
链表的归并排序
数据结构·算法·链表
jrrz08283 小时前
LeetCode 热题100(七)【链表】(1)
数据结构·c++·算法·leetcode·链表
oliveira-time3 小时前
golang学习2
算法
知来者逆3 小时前
研究大语言模型在心理保健智能顾问的有效性和挑战
人工智能·神经网络·机器学习·语言模型·自然语言处理
老艾的AI世界4 小时前
新一代AI换脸更自然,DeepLiveCam下载介绍(可直播)
图像处理·人工智能·深度学习·神经网络·目标检测·机器学习·ai换脸·视频换脸·直播换脸·图片换脸
南宫生4 小时前
贪心算法习题其四【力扣】【算法学习day.21】
学习·算法·leetcode·链表·贪心算法