信息一般可以被表述为不确定性的程度, 有如下特性
- 一定发生的事件没有信息
- 很有可能发生的事件几乎没有信息
- 随机事件拥有更多的信息
- 独立事件可以增加信息— 抛两次正面的骰子的信息量大于抛一次正面骰子的信息量 事件的信息可以形式化为:
I ( x ) = − log ( P ( x ) ) I(x)=-\log (P(x)) I(x)=−log(P(x))
熵用于衡量信息的多少,被定义为:
H ( x ) = E x ∼ P ( I ( x ) ) = − E x ∼ p [ log P ( x ) ] H(x)=\mathbb{E} x \sim P(I(x))=-\mathbb{E} x \sim p[\log P(x)] H(x)=Ex∼P(I(x))=−Ex∼p[logP(x)]
1.信息熵
在信息论中,熵(Entropy)是接收的每条消息中包含的信息的平均量。被称为信息熵、信源熵、平均自信息量。 这里,“消息”代表来自分布或数据流中的事件、样本或特征。(熵最好理解为不确定性的量度而不是确定性的量度,因为越随机的信源的熵越大)。
若一个离散随机变量X的可能取值为X={x1,x2,⋯,xn},而对应的概率为pi=p(X=xi),则随机变量X的熵定义为:
H ( X ) = − ∑ i = 1 n p ( x i ) log p ( x i ) H(X)=-\sum_{i=1}^{n} p\left(x_{i}\right) \log p\left(x_{i}\right) H(X)=−∑i=1np(xi)logp(xi)
2.交叉熵
https://hsinjhao.github.io/2019/05/22/KL-DivergenceIntroduction/
在信息论中,交叉熵可认为是对预测分布q(x)用真实分布p(x)来进行编码时所需要的信息量大小。而在机器学习的分类问题中,真实分布p(x)是one-hot形式,表明独属于one-hot中1对应的角标的那个类,因此这也是为什么交叉熵常用于做分类问题的损失函数。
H ( p , q ) = ∑ x p ( x ) log 1 q ( x ) = − ∑ x p ( x ) log q ( x ) \begin{aligned} H(p, q) &=\sum_{x} p(x) \log \frac{1}{q(x)} \\ &=-\sum_{x} p(x) \log q(x) \end{aligned} H(p,q)=x∑p(x)logq(x)1=−x∑p(x)logq(x)
3.相对熵
https://blog.youkuaiyun.com/guolindonggld/article/details/79736508
https://hsinjhao.github.io/2019/05/22/KL-DivergenceIntroduction/
信息散度(information divergence)或 KL散度(Kullback-Leibler Divergence)也叫做相对熵,是两个概率分布之间的差异程度的非对称性度量(非对称性的意思是假如有概率分布P、Q,那么
K
L
(
P
∣
∣
Q
)
KL(P||Q)
KL(P∣∣Q) ! =
K
L
(
Q
∣
∣
P
)
KL(Q||P)
KL(Q∣∣P))。
理解1: p(x) 是目标分布,q(x)是去匹配的分布,如果两个分布完全匹配,那么KL(p||q) = 0;KL 散度又叫相对熵,在信息论中,描述的是q去拟合p的产品的信息损耗。
离散型KL散度公式:
P、Q为两个概率分布(在分类问题中,其实就是数据对应不同类别的概率值)
D
K
L
(
P
∥
Q
)
=
∑
i
=
1
n
P
i
log
(
P
i
Q
i
)
D_{K L}(P \| Q)=\sum_{i=1}^{n} P_{i} \log \left(\frac{P_{i}}{Q_{i}}\right)
DKL(P∥Q)=∑i=1nPilog(QiPi)
比如随机变量X在1,2,3分类下的概率分布P取值为[0.2,0.4,0.4],随机变量Y在1,2,3分类下的概率分布Q取值为[0.4,0.2,0.4],则
D
(
P
∥
Q
)
=
0.2
×
log
(
0.2
0.4
)
+
0.4
×
log
(
0.4
0.2
)
+
0.4
×
log
(
0.4
0.4
)
=
0.2
×
−
0.69
+
0.4
×
0.69
+
0.4
×
0
=
0.138
\begin{aligned} D(P \| Q) &=0.2 \times \log \left(\frac{0.2}{0.4}\right)+0.4 \times \log \left(\frac{0.4}{0.2}\right)+0.4 \times \log \left(\frac{0.4}{0.4}\right) \\ &=0.2 \times-0.69+0.4 \times 0.69+0.4 \times 0 \\ &=0.138 \end{aligned}
D(P∥Q)=0.2×log(0.40.2)+0.4×log(0.20.4)+0.4×log(0.40.4)=0.2×−0.69+0.4×0.69+0.4×0=0.138
根据公式可知,KL散度有以下性质
正定性:D_KL (p∥q)≥0
可用Gibbs 不等式直接得出。先给出Gibbs不等式的内容:
若
∑
i
=
1
n
p
i
=
∑
i
=
1
n
q
i
=
1
\sum_{i=1}^{n} p_{i}=\sum_{i=1}^{n} q_{i}=1
∑i=1npi=∑i=1nqi=1, 且
p
i
,
q
i
∈
(
0
,
1
]
p_{i}, q_{i} \in(0,1]
pi,qi∈(0,1],则有:
−
∑
i
n
p
i
log
p
i
≤
−
∑
i
n
p
i
log
q
i
-\sum_{i}^{n} p_{i} \log p_{i} \leq-\sum_{i}^{n} p_{i} \log q_{i}
−∑inpilogpi≤−∑inpilogqi
当且仅当
p
i
=
q
i
∀
i
p_{i}=q_{i} \forall i
pi=qi∀i 等号成立。
不对称性:
KL散度并不是一个真正的度量或者距离,因为它不具有对称性:
D
(
p
∥
q
)
≠
D
(
q
∥
p
)
D(p \| q) \neq D(q \| p)
D(p∥q)=D(q∥p)
从相对熵的”相对”角度理解,KL = 交叉熵 – 信息熵
D
K
L
(
p
∥
q
)
=
H
(
p
,
q
)
−
H
(
p
)
=
−
∑
x
p
(
x
)
log
q
(
x
)
−
∑
x
−
p
(
x
)
log
p
(
x
)
=
−
∑
x
p
(
x
)
(
log
q
(
x
)
−
log
p
(
x
)
)
=
−
∑
x
p
(
x
)
log
q
(
x
)
p
(
x
)
\begin{aligned} D_{K L}(p \| q) &=H(p, q)-H(p) \\ &=-\sum_{x} p(x) \log q(x)-\sum_{x}-p(x) \log p(x) \\ &=-\sum_{x} p(x)(\log q(x)-\log p(x)) \\ &=-\sum_{x} p(x) \log \frac{q(x)}{p(x)} \end{aligned}
DKL(p∥q)=H(p,q)−H(p)=−x∑p(x)logq(x)−x∑−p(x)logp(x)=−x∑p(x)(logq(x)−logp(x))=−x∑p(x)logp(x)q(x)
连续型KL散度公式:见链接
参考:https://zhuanlan.zhihu.com/p/165139520