Cross_Entropy-交叉熵
# Cross Entropy - 交叉熵
Tags: #InformationTheory #DeepLearning
# Intuition
熵是编码一个事件所需要的最短平均长度 $$\begin{aligned}H(p)&=\sum_{x_{i}} p\left(x_{i}\right) \log \frac{1}{p\left(x_{i}\right)} \\ &=-\sum_{x} p(x) \log p(x) \end{aligned}$$
而交叉熵则是一种特殊情况下编码的平均最短长度: 事件真实的概率分布是 $p(x)$, 但是我们以为事件的分布是 $q(x)$ .
- 因此, 交叉熵可以看作每个信息片段在错误分布 $q$ 下的期望编码位长度,而信息实际分布为 $p$。这就是期望 $\operatorname{E}p$ 是基于 $p$ 而不是 $q$ 的原因.1 $$\begin{aligned} H(p, q)&=\sum{x_{i}} p\left(x_{i}\right) \log \frac{1}{q\left(x_{i}\right)} \\ &=-\sum_{x} p(x) \log q(x) \end{aligned}$$
# Formal Definition
在指定集合下, 分布 $q$ 相对于分布 $p$ 的交叉熵定义如下: $$H(p, q) = -\operatorname{E}_p[\log q]$$ 其中符号 $E_p[\cdot]$ 的含义是 相对于分布 $p$ 的期望值.
交叉熵的定义也可以从 KL散度 $D_{\mathrm{KL}}(p \parallel q)$ 得出(KL散度也叫做$p$ 相对于 $q$的相对熵). $$H(p, q) = H(p) + D_{\mathrm{KL}}(p \parallel q)$$ 其中 $H(p)$ 是分布 $p$ 的 熵(Entropy) .
对于离散分布 $p$ 和 $q$ : $$H(p, q)=-\sum_{x \in \mathcal{X}} p(x) \log q(x)$$ 2
# 性质
交叉熵不是对称的: i.e. $$H(p,q)\neq H(q,p)$$
- KL散度也不是对称的
- 尽管不是对称的,但是无论是 $H(p,q)$ 还是 $H(p,q)$ 其实都可以作为概率相似程度的衡量标准
交叉熵是非负的: $$H(p, q)=-\sum_{x } p(x) \log q(x)$$ 其中 $p(x), q(x)\in[\space 0,1\space ], \log q(x)\leq0$
# 交叉熵: 作为损失函数
# Cross Entropy in Neural Networks
- 在 Softmax回归里面, 前面的真实概率分布是 One-hot_Encoding-独热编码的, 所以整个求和式里只有一项留下来了, 即模型输出类的预测概率的负对数$-\log q(x)$
交叉熵 - 维基百科,自由的百科全书 Cross entropy - Wikipedia 详解机器学习中的熵、条件熵、相对熵和交叉熵 - 知乎 ↩︎
其中$\mathcal{X}$ 指的是测度论里面的"支撑集". Reference: Support (measure theory) - Wikipedia ↩︎