这里写目录标题
熵 (Entropy)
熵是衡量系统不确定性或混乱程度的度量。公式如下:
H ( P ) = − ∑ i P ( x i ) log P ( x i ) H(P) = -\sum_{i} P(x_i) \log P(x_i) H(P)=−i∑P(xi)logP(xi)
- P ( x i ) P(x_i) P(xi) 是事件 x i x_i xi 发生的概率。
例子
想象你在一个完全黑暗的房间里,有一盘糖果,但你不知道这些糖果是巧克力的还是水果味的。如果你知道盘子里一半是巧克力一半是水果味,那么你对糖果种类的不确定性是最大的(即熵最大)。如果你知道盘子里全部都是巧克力的,那么你对糖果种类的确定性是最大的(即熵最小)。
假设一个系统有两种状态,状态A和状态B,出现的概率分别为0.6和0.4。那么这个系统的熵计算如下:
H ( P ) = − ( 0.6 log 0.6 + 0.4 log 0.4 ) = − ( 0.6 × − 0.5108 + 0.4 × − 0.9163 ) = − ( − 0.3065 − 0.3665 ) = 0.673 \begin{aligned} H(P) &= - (0.6 \log 0.6 + 0.4 \log 0.4) \\ &= - (0.6 \times -0.5108 + 0.4 \times -0.9163) \\ &= - (-0.3065 - 0.3665) \\ &= 0.673 \end{aligned} H(P)=−(0.6log0.6+0.4log0.4)=−(0.6×−0.5108+0.4×−0.9163)=−(−0.3065−0.3665)=0.673
交叉熵 (Cross-Entropy)
交叉熵用来衡量两个概率分布之间的差异。公式如下:
H ( P , Q ) = − ∑ i P ( x i ) log Q ( x i ) H(P, Q) = -\sum_{i} P(x_i) \log Q(x_i) H(P,Q)=−i∑P(xi)logQ(xi)
- P ( x i ) P(x_i) P(xi) 是真实分布。
- Q ( x i ) Q(x_i) Q(xi) 是预测分布。
例子
继续用糖果的例子。假设你预测盘子里的糖果有80%是巧克力,20%是水果味(这是你的预测分布 Q Q Q),但实际情况是50%是巧克力,50%是水果味(这是真实分布 P P P)。交叉熵在这里衡量的是你预测和实际情况的差异。如果你的预测和实际情况完全匹配,交叉熵将是最小的。
假设真实分布 P P P 和预测分布 Q Q Q 如下:
- 真实分布 P P P:状态A的概率是0.6,状态B的概率是0.4。
- 预测分布 Q Q Q:状态A的概率是0.7,状态B的概率是0.3。
交叉熵的计算如下:
H ( P , Q ) = − ( 0.6 log 0.7 + 0.4 log 0.3 ) = − ( 0.6 × − 0.3567 + 0.4 × − 1.2040 ) = − ( − 0.2140 − 0.4816 ) = 0.6956 \begin{aligned} H(P, Q) &= - (0.6 \log 0.7 + 0.4 \log 0.3) \\ &= - (0.6 \times -0.3567 + 0.4 \times -1.2040) \\ &= - (-0.2140 - 0.4816) \\ &= 0.6956 \end{aligned} H(P,Q)=−(0.6log0.7+0.4log0.3)=−(0.6×−0.3567+0.4×−1.2040)=−(−0.2140−0.4816)=0.6956
交叉熵损失函数 (Cross-Entropy Loss Function)
交叉熵损失函数在机器学习中用于衡量模型的预测概率分布与真实标签之间的差异。
二分类问题中的交叉熵损失
对于二分类问题,公式如下:
L = − [ y log y ^ + ( 1 − y ) log ( 1 − y ^ ) ] L = -[y \log \hat{y} + (1 - y) \log (1 - \hat{y})] L=−[ylogy^+(1−y)log(1−y^)]
- y y y 是真实标签(0或1)。
- y ^ \hat{y} y^ 是模型预测的正类的概率。
多分类问题中的交叉熵损失
对于多分类问题,公式如下:
L = − ∑ i y i log y ^ i L = -\sum_{i} y_i \log \hat{y}_i L=−i∑yilogy^i
- y i y_i yi 是真实标签的one-hot编码(1表示该类别,0表示非该类别)。
- y ^ i \hat{y}_i y^i 是模型预测的类别 i i i 的概率。
例子
假设有一个二分类问题,真实标签是1,模型预测的概率是0.8。
-
交叉熵:
真实分布 P P P:
P ( 1 ) = 1 , P ( 0 ) = 0 P(1) = 1, P(0) = 0 P(1)=1,P(0)=0
预测分布 Q Q Q:
Q ( 1 ) = 0.8 , Q ( 0 ) = 0.2 Q(1) = 0.8, Q(0) = 0.2 Q(1)=0.8,Q(0)=0.2
交叉熵:
H ( P , Q ) = − [ P ( 1 ) log Q ( 1 ) + P ( 0 ) log Q ( 0 ) ] = − [ 1 log 0.8 + 0 log 0.2 ] = − ( log 0.8 ) = 0.223 \begin{aligned} H(P, Q) &= -[P(1) \log Q(1) + P(0) \log Q(0)] \\ &= -[1 \log 0.8 + 0 \log 0.2] \\ &= -(\log 0.8) \\ &= 0.223 \end{aligned} H(P,Q)=−[P(1)logQ(1)+P(0)logQ(0)]=−[1log0.8+0log0.2]=−(log0.8)=0.223
-
交叉熵损失函数:
交叉熵损失:
L = − [ y log y ^ + ( 1 − y ) log ( 1 − y ^ ) ] = − [ 1 log 0.8 + 0 log 0.2 ] = − ( log 0.8 ) = 0.223 \begin{aligned} L &= -[y \log \hat{y} + (1 - y) \log (1 - \hat{y})] \\ &= -[1 \log 0.8 + 0 \log 0.2] \\ &= -(\log 0.8) \\ &= 0.223 \end{aligned} L=−[ylogy^+(1−y)log(1−y^)]=−[1log0.8+0log0.2]=−(log0.8)=0.223
在这种情况下,交叉熵的计算和交叉熵损失函数的计算是一样的,因为它们本质上是在度量相同的概率分布之间的差异。只是交叉熵损失函数专门用于机器学习的训练过程中。
自信息(Self-Information)
自信息度量的是一个事件发生时所带来的信息量。信息量越大,意味着这个事件越罕见。自信息的公式是:
I ( x ) = − log P ( x ) I(x) = -\log P(x) I(x)=−logP(x)
其中:
- P ( x ) P(x) P(x) 是事件 x x x 发生的概率。
- log \log log 一般是以2为底(也可以是自然对数或其他底),表示用比特(bits)来度量信息量。
通俗理解自信息
例子:想象你在一个盒子里抽取彩色球。
- 高概率事件:
- 假设盒子里有90个红球和10个蓝球,你随机抽到一个红球的概率是0.9。
- 抽到红球的自信息量: I ( Red ) = − log ( 0.9 ) = 0.152 I(\text{Red}) = -\log(0.9) = 0.152 I(Red)=−log(0.9)=0.152(使用自然对数)
- 信息量很小,因为抽到红球是很常见的事件。
- 低概率事件:
- 如果你抽到一个蓝球的概率是0.1。
- 抽到蓝球的自信息量: I ( Blue ) = − log ( 0.1 ) = 2.302 I(\text{Blue}) = -\log(0.1) = 2.302 I(Blue)=−log(0.1)=2.302(使用自然对数)
- 信息量很大,因为抽到蓝球是很少见的事件。
这就说明了,概率越小,信息量越大;概率越大,信息量越小。
为什么使用 − log -\log −log?
在计算熵和交叉熵时,我们使用 − log -\log −log 是因为:
- 正值:对数函数的结果是负值(对于 0 < P ( x ) < 1 0 < P(x) < 1 0<P(x)<1),加上负号后确保信息量为正值。
- 累加特性: − log -\log −log 度量累加了不确定性。一个系统的熵(总不确定性)是所有事件自信息的期望值。
- 对稀有事件的敏感性: − log -\log −log 对低概率事件(稀有事件)特别敏感,能更准确地捕捉到它们对总不确定性的贡献。
更直观的类比
抽奖例子:
- 高概率事件:你参加一个抽奖活动,有90%的概率赢得一支铅笔。如果你赢得铅笔,你并不会觉得惊讶,因为铅笔的中奖概率很高,信息量也很小。
- 低概率事件:同样的抽奖活动中,有10%的概率赢得一辆车。如果你赢得了一辆车,你会非常惊讶,因为这种情况很少见,信息量也很大。
自信息、熵和交叉熵的联系
- 自信息:度量单个事件的信息量。
- 熵:是系统中所有事件自信息的期望值,衡量系统的平均不确定性。
- 交叉熵:用来衡量两个概率分布之间的差异,是对预测分布和真实分布的不确定性的度量。