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 ,你实际上得到了基于经验分布的负对数似然期望的正值。