文章目录
一、定义
1. 期望(Expectation)
期望(Expectation) 是概率论中描述随机变量平均取值或中心位置的核心概念,也称为数学期望或均值。
• 离散型随机变量:若随机变量 X 的可能取值为 x 1 , x 2 , … , x n x_1, x_2, \ldots, x_n x1,x2,…,xn,对应概率为 P ( X = x i ) = p i P(X = x_i) = p_i P(X=xi)=pi,则期望定义为:
E
(
X
)
=
∑
i
=
1
n
x
i
⋅
p
i
E(X) = \sum_{i=1}^n x_i \cdot p_i
E(X)=i=1∑nxi⋅pi
例子:投掷标准骰子(6面均匀),
E
(
X
)
=
1
6
(
1
+
2
+
3
+
4
+
5
+
6
)
=
3.5
E(X) = \frac{1}{6}(1+2+3+4+5+6) = 3.5
E(X)=61(1+2+3+4+5+6)=3.5。
• 连续型随机变量:若随机变量 X X X 的概率密度函数为 f ( x ) f(x) f(x),则期望定义为:
E
(
X
)
=
∫
−
∞
∞
x
⋅
f
(
x
)
d
x
E(X) = \int_{-\infty}^{\infty} x \cdot f(x) dx
E(X)=∫−∞∞x⋅f(x)dx
例子:身高 X 服从正态分布
N
(
175
,
6
2
)
N(175, 6^2)
N(175,62),则
E
(
X
)
=
175
E(X) = 175
E(X)=175。
2. 信息量(Information Quantity)
- 定义:描述单个事件发生带来的“意外程度”。事件概率越低,信息量越大。
- 公式:
I ( x ) = − log 2 P ( x ) I(x) = -\log_2 P(x) I(x)=−log2P(x)
其中 P ( x ) P(x) P(x) 是事件 x x x 的发生概率。单位通常为比特(bit)。 - 示例:抛一枚公平硬币(正面概率=0.5),正面朝上的信息量为 − log 2 0.5 = 1 -\log_2 0.5 = 1 −log20.5=1 比特;若硬币不公平(正面概率=0.9),信息量降至 − log 2 0.9 ≈ 0.15 -\log_2 0.9 \approx 0.15 −log20.9≈0.15 比特。
3. 熵(Entropy)
-
定义:衡量整个随机系统的不确定性,是信息量的 期望 值。熵越大,系统越混乱。
-
公式:
H ( P ) = − ∑ i P ( x i ) log 2 P ( x i ) H(P) = -\sum_{i} P(x_i) \log_2 P(x_i) H(P)=−i∑P(xi)log2P(xi)
其中 P ( x i ) P(x_i) P(xi) 是事件 x i x_i xi 的概率。 -
示例:抛6面骰子(均匀分布)的熵为 − ∑ i = 1 6 1 6 log 2 1 6 ≈ 2.58 -\sum_{i=1}^6 \frac{1}{6} \log_2 \frac{1}{6} \approx 2.58 −∑i=1661log261≈2.58 比特,高于抛硬币的1比特。
4. KL散度(Kullback-Leibler Divergence)
- 定义:衡量两个概率分布 P P P(真实分布)和 Q Q Q(预测分布)的差异,又称相对熵。
- 公式:
D K L ( P ∥ Q ) = ∑ x P ( x ) log 2 P ( x ) Q ( x ) D_{KL}(P \parallel Q) = \sum_{x} P(x) \log_2 \frac{P(x)}{Q(x)} DKL(P∥Q)=x∑P(x)log2Q(x)P(x)
特性:非负性( D K L ≥ 0 D_{KL} \geq 0 DKL≥0),非对称性( D K L ( P ∥ Q ) ≠ D K L ( Q ∥ P ) D_{KL}(P \parallel Q) \neq D_{KL}(Q \parallel P) DKL(P∥Q)=DKL(Q∥P))。 - 物理意义:用 Q Q Q 近似 P P P 时额外损失的信息量。例如,若 P P P 和 Q Q Q 均为均匀分布, D K L = 0 D_{KL}=0 DKL=0;若 Q Q Q 偏离 P P P,则 D K L > 0 D_{KL}>0 DKL>0。
5. 交叉熵(Cross Entropy)
- 定义:基于预测分布 Q Q Q 编码真实分布 P P P 所需的平均信息量。
- 公式:
H ( P , Q ) = − ∑ x P ( x ) log 2 Q ( x ) H(P, Q) = -\sum_{x} P(x) \log_2 Q(x) H(P,Q)=−x∑P(x)log2Q(x) - 与熵和KL散度的关系:
H ( P , Q ) = H ( P ) + D K L ( P ∥ Q ) H(P, Q) = H(P) + D_{KL}(P \parallel Q) H(P,Q)=H(P)+DKL(P∥Q)
即交叉熵 = 真实熵 + KL散度。
6. 交叉损失函数(Cross Entropy Loss)
交叉熵损失函数(Cross-Entropy Loss)是机器学习和深度学习中用于衡量模型预测概率分布与真实分布差异的核心损失函数,尤其适用于分类任务。
1. 二分类任务
设真实标签
y
∈
{
0
,
1
}
y \in \{0,1\}
y∈{0,1},模型预测正类的概率为
y
^
\hat{y}
y^,则损失函数为:
L
=
−
[
y
log
(
y
^
)
+
(
1
−
y
)
log
(
1
−
y
^
)
]
L = -\left[ y \log(\hat{y}) + (1-y) \log(1-\hat{y}) \right]
L=−[ylog(y^)+(1−y)log(1−y^)]
- 当 y = 1 y=1 y=1 时:损失简化为 − log ( y ^ ) -\log(\hat{y}) −log(y^),要求模型对正类的预测概率 y ^ → 1 \hat{y} \to 1 y^→1。
- 当 y = 0 y=0 y=0 时:损失简化为 − log ( 1 − y ^ ) -\log(1-\hat{y}) −log(1−y^),要求模型对负类的预测概率 y ^ → 0 \hat{y} \to 0 y^→0。
2. 多分类任务
设有
C
C
C 个类别,真实标签为 one-hot 向量
y
=
[
y
1
,
…
,
y
C
]
y = [y_1, \dots, y_C]
y=[y1,…,yC](仅真实类别
y
c
=
1
y_c=1
yc=1),模型预测概率分布为
y
^
=
[
y
^
1
,
…
,
y
^
C
]
\hat{y} = [\hat{y}_1, \dots, \hat{y}_C]
y^=[y^1,…,y^C],损失函数为:
L
=
−
∑
k
=
1
C
y
k
log
(
y
^
k
)
L = -\sum_{k=1}^{C} y_k \log(\hat{y}_k)
L=−k=1∑Cyklog(y^k)
由于仅真实类别
c
c
c 对应的
y
c
=
1
y_c=1
yc=1,实际计算简化为:
L
=
−
log
(
y
^
c
)
L = -\log(\hat{y}_c)
L=−log(y^c)
即仅关注真实类别的预测概率,要求
y
^
c
→
1
\hat{y}_c \to 1
y^c→1。
二、推导过程
交叉熵 = 真实熵 + KL散度
-
KL散度的定义
KL散度衡量两个概率分布 P P P(真实分布)和 Q Q Q(预测分布)之间的差异:
D K L ( P ∥ Q ) = ∑ x P ( x ) log P ( x ) Q ( x ) D_{KL}(P \parallel Q) = \sum_{x} P(x) \log \frac{P(x)}{Q(x)} DKL(P∥Q)=x∑P(x)logQ(x)P(x)通过对数运算拆分:
D K L ( P ∥ Q ) = ∑ x P ( x ) log P ( x ) − ∑ x P ( x ) log Q ( x ) D_{KL}(P \parallel Q) = \sum_{x} P(x) \log P(x) - \sum_{x} P(x) \log Q(x) DKL(P∥Q)=x∑P(x)logP(x)−x∑P(x)logQ(x)
-
真实熵的定义
真实熵 H ( P ) H(P) H(P) 是分布 P P P 自身的不确定性度量:H ( P ) = − ∑ x P ( x ) log P ( x ) H(P) = -\sum_{x} P(x) \log P(x) H(P)=−x∑P(x)logP(x)
因此,KL散度中的第一项可表示为:
∑ x P ( x ) log P ( x ) = − H ( P ) \sum_{x} P(x) \log P(x) = -H(P) x∑P(x)logP(x)=−H(P)
-
交叉熵的定义
交叉熵 H ( P , Q ) H(P, Q) H(P,Q) 是用分布 Q Q Q 编码真实分布 P P P 所需的平均信息量:H ( P , Q ) = − ∑ x P ( x ) log Q ( x ) H(P, Q) = -\sum_{x} P(x) \log Q(x) H(P,Q)=−x∑P(x)logQ(x)
因此,KL散度中的第二项可表示为:
− ∑ x P ( x ) log Q ( x ) = H ( P , Q ) -\sum_{x} P(x) \log Q(x) = H(P, Q) −x∑P(x)logQ(x)=H(P,Q)
-
代入关系式
将上述结果代入KL散度的拆分式:D K L ( P ∥ Q ) = [ − H ( P ) ] − [ − H ( P , Q ) ] D_{KL}(P \parallel Q) = \left[-H(P)\right] - \left[-H(P, Q)\right] DKL(P∥Q)=[−H(P)]−[−H(P,Q)]
简化得:
D K L ( P ∥ Q ) = H ( P , Q ) − H ( P ) D_{KL}(P \parallel Q) = H(P, Q) - H(P) DKL(P∥Q)=H(P,Q)−H(P)
移项后即得最终关系:
H ( P , Q ) = H ( P ) + D K L ( P ∥ Q ) H(P, Q) = H(P) + D_{KL}(P \parallel Q) H(P,Q)=H(P)+DKL(P∥Q)
从交叉熵到损失函数的推导
1. 二分类任务(Logistic回归)
- 真实分布:标签 y ∈ { 0 , 1 } y \in \{0,1\} y∈{0,1},真实分布为 [ y , 1 − y ] [y, 1-y] [y,1−y]。
- 预测分布:模型输出概率 y ^ = σ ( z ) \hat{y} = \sigma(z) y^=σ(z)(Sigmoid函数),分布为 [ y ^ , 1 − y ^ ] [\hat{y}, 1-\hat{y}] [y^,1−y^]。
- 交叉熵代入:
H ( P , Q ) = − [ y log y ^ + ( 1 − y ) log ( 1 − y ^ ) ] H(P, Q) = - \left[ y \log \hat{y} + (1-y) \log (1-\hat{y}) \right] H(P,Q)=−[ylogy^+(1−y)log(1−y^)]
对 (m) 个样本求平均,得损失函数:
J ( θ ) = − 1 m ∑ i = 1 m [ y ( i ) log y ^ ( i ) + ( 1 − y ( i ) ) log ( 1 − y ^ ( i ) ) ] J(\theta) = -\frac{1}{m} \sum_{i=1}^m \left[ y^{(i)} \log \hat{y}^{(i)} + (1-y^{(i)}) \log (1-\hat{y}^{(i)}) \right] J(θ)=−m1i=1∑m[y(i)logy^(i)+(1−y(i))log(1−y^(i))]
物理意义:当 y = 1 y=1 y=1 时,损失为 − log y ^ -\log \hat{y} −logy^,预测值 y ^ → 1 \hat{y} \to 1 y^→1 时损失趋近 0。
2. 多分类任务(Softmax回归)
-
真实分布:one-hot 编码 y = [ 0 , … , 1 , … , 0 ] \mathbf{y} = [0,\dots,1,\dots,0] y=[0,…,1,…,0]。
-
预测分布:Softmax 输出 y ^ k = e z k ∑ j = 1 C e z j \hat{y}_k = \frac{e^{z_k}}{\sum_{j=1}^C e^{z_j}} y^k=∑j=1Cezjezk。
-
交叉熵代入:
H ( P , Q ) = − ∑ k = 1 C y k log y ^ k H(P, Q) = -\sum_{k=1}^C y_k \log \hat{y}_k H(P,Q)=−k=1∑Cyklogy^k由于只有目标类 y c = 1 y_c=1 yc=1,其余为 0,简化为:
Loss = − log y ^ c \text{Loss} = -\log \hat{y}_c Loss=−logy^c
对 m m m 个样本求平均:
J ( θ ) = − 1 m ∑ i = 1 m ∑ k = 1 C y k ( i ) log y ^ k ( i ) J(\theta) = -\frac{1}{m} \sum_{i=1}^m \sum_{k=1}^C y_k^{(i)} \log \hat{y}_k^{(i)} J(θ)=−m1i=1∑mk=1∑Cyk(i)logy^k(i)
物理意义:最小化损失即迫使目标类预测概率 y ^ c → 1 \hat{y}_c \to 1 y^c→1。