香农辅助定理、KL散度和Jensen不等式
香农辅助定理
对于任意两个信息数相同的信源
X
X
X和
Y
Y
Y。有
−
∑
i
=
1
N
p
(
x
i
)
log
2
p
(
x
i
)
≤
−
∑
i
=
1
N
p
(
x
i
)
log
2
p
(
y
i
)
-\sum_{i=1}^N p(x_i)\log_2p(x_i) \leq -\sum_{i=1}^N p(x_i)\log_2p(y_i)
−i=1∑Np(xi)log2p(xi)≤−i=1∑Np(xi)log2p(yi)
其中
∑
i
=
1
N
p
(
x
i
)
=
∑
i
+
1
N
p
(
y
i
)
=
1
\sum_{i=1}^N p(x_i)=\sum_{i+1}^N p(y_i)=1
∑i=1Np(xi)=∑i+1Np(yi)=1
通俗的来说,任一概率分布对其他概率分布的自信息量取数学期望,必大于等于本身的熵,当且仅当 X X X和 Y Y Y的概率分布完全相同时取等号。不等式的左边是 X X X的信源熵,即无损压缩条件下的最短平均编码长度。不等式的右侧,以信源 Y Y Y的概率分布 p ( y ) p(y) p(y)得到的最优编码,来为概率分布为 p ( x ) p(x) p(x)的信源 X X X的字符进行编码而计算得的平均码长。
KL散度
KL散度又称为相对熵,是用来体现两个概率分布之间差别的非对称性度量,即
K
L
(
P
∣
∣
Q
)
≠
K
L
(
Q
∣
∣
P
)
KL(P||Q)\neq KL(Q||P)
KL(P∣∣Q)=KL(Q∣∣P)。相对熵可以作为一些优化算法的损失函数来度量模型概率分布和真实分布之间的差距。
设
P
(
x
)
P(x)
P(x)和
Q
(
x
)
Q(x)
Q(x)是随机变量
X
X
X上的两个概率分布,则在离散和连续的情况下,KL散度的定义为:
K
L
(
P
∣
∣
Q
)
=
∑
P
(
x
)
ln
P
(
x
)
Q
(
x
)
K
L
(
P
∣
∣
Q
)
=
∫
P
(
x
)
ln
P
(
x
)
Q
(
x
)
d
x
KL(P||Q)=\sum P(x) \ln \frac{P(x)}{Q(x)}\\ KL(P||Q)=\int P(x)\ln\frac{P(x)}{Q(x)}dx
KL(P∣∣Q)=∑P(x)lnQ(x)P(x)KL(P∣∣Q)=∫P(x)lnQ(x)P(x)dx
值得注意的是,香农辅助定理稍加变形就成为了KL散度的形式:
−
∑
i
=
1
N
p
(
x
i
)
log
2
p
(
x
i
)
≤
−
∑
i
=
1
N
p
(
x
i
)
log
2
p
(
y
i
)
∑
i
=
1
N
p
(
x
i
)
log
2
p
(
x
i
)
p
(
y
i
)
≥
0
1
ln
2
×
∑
i
=
1
N
p
(
x
i
)
ln
p
(
x
i
)
p
(
y
i
)
≥
0
∑
i
=
1
N
p
(
x
i
)
ln
p
(
x
i
)
p
(
y
i
)
≥
0
-\sum_{i=1}^{N} p(x_i)\log_2p(x_i) \leq -\sum_{i=1}^N p(x_i)\log_2p(y_i) \\ \sum_{i=1}^Np(x_i)\log_2\frac{p(x_i)}{p(y_i)} \geq 0\\ \frac{1}{\ln2} \times \sum_{i=1}^Np(x_i)\ln\frac{p(x_i)}{p(y_i)}\geq 0\\ \sum_{i=1}^Np(x_i)\ln\frac{p(x_i)}{p(y_i)}\geq 0
−i=1∑Np(xi)log2p(xi)≤−i=1∑Np(xi)log2p(yi)i=1∑Np(xi)log2p(yi)p(xi)≥0ln21×i=1∑Np(xi)lnp(yi)p(xi)≥0i=1∑Np(xi)lnp(yi)p(xi)≥0
所以,证明香农辅助定理等价于证明KL散度为正值。
琴生(Jensen)不等式
首先说明一点,本文所说的凸函数和凹函数采用的是国际上的习惯称呼。以一元函数为例,曲线往下凸的函数称为凸函数,曲线往上凸的称为凹函数。这与国内教材的习惯相反。
Jensen不等式是关于凸函数性质的不等式,也可以类推得到关于凹函数性质的不等式。对于凸函数曲线
f
(
x
)
f(x)
f(x)而言,有
t
f
(
x
1
)
+
(
1
−
t
)
f
(
x
2
)
≥
f
(
t
x
1
+
(
1
−
t
)
x
2
)
0
≤
t
≤
1
tf(x_1)+(1-t)f(x_2) \geq f(tx_1+(1-t)x_2)\\ 0\leq t\leq1
tf(x1)+(1−t)f(x2)≥f(tx1+(1−t)x2)0≤t≤1
这是Jensen不等式的两点形式。
对于任意点集
{
x
i
}
\{x_i\}
{xi},若
λ
i
≥
0
,
∑
λ
i
=
1
\lambda_i\geq0,\sum \lambda_i=1
λi≥0,∑λi=1,
f
(
x
)
f(x)
f(x)是凸函数,有
f
(
∑
λ
i
x
i
)
≤
∑
λ
i
f
(
x
i
)
f(\sum\lambda_ix_i)\leq\sum\lambda_if(x_i)
f(∑λixi)≤∑λif(xi)
此结论是Jensen不等式两点形式的推广,可以由数学归纳法简单证明。当
λ
i
\lambda_i
λi取
p
(
x
i
)
p(x_i)
p(xi)时,上式变为:
f
(
E
(
x
)
)
≤
E
(
f
(
x
)
)
f(E(x))\leq E(f(x))
f(E(x))≤E(f(x))
应用微分的思想,可以由离散形式的Jensen不等式转变为连续形式。若
∫
g
(
x
)
=
1
,
g
(
x
)
≥
0
\int g(x)=1,g(x)\geq0
∫g(x)=1,g(x)≥0且
f
(
x
)
f(x)
f(x)是凸函数。有
f
(
∫
g
(
x
)
h
(
x
)
d
x
)
≤
∫
g
(
x
)
f
(
h
(
x
)
)
d
x
f(\int g(x) h(x) dx)\leq\int g(x)f(h(x))dx
f(∫g(x)h(x)dx)≤∫g(x)f(h(x))dx
这是Jensen不等式的一般形式,对于凹函数只需要变号即可。
应用Jensen不等式可以快速证明KL散度非负,即香农辅助定理成立,无需赘言。