做交易网站什么开发语言,品牌的佛山网站建设价格,sem是什么,html5网站特点什么是信息熵#xff1f;
信息熵#xff08;Entropy#xff09;是信息论中的一个基本概念#xff0c;用来衡量一个随机变量不确定性的大小。它反映了对一个事件结果的预测难度#xff0c;或者说是描述这个事件需要多少“信息量”。信息熵是由香农#xff08;Claude Shan…什么是信息熵
信息熵Entropy是信息论中的一个基本概念用来衡量一个随机变量不确定性的大小。它反映了对一个事件结果的预测难度或者说是描述这个事件需要多少“信息量”。信息熵是由香农Claude Shannon提出的信息熵的大小越高代表事件结果的不确定性越大反之则越小。
1. 信息熵的定义
给定一个离散的随机变量 X X X它有 n n n 个可能的取值 x 1 , x 2 , … , x n x_1, x_2, \dots, x_n x1,x2,…,xn每个取值的概率分别为 p ( x 1 ) , p ( x 2 ) , … , p ( x n ) p(x_1), p(x_2), \dots, p(x_n) p(x1),p(x2),…,p(xn)。则信息熵 H ( X ) H(X) H(X) 的定义为 H ( X ) − ∑ i 1 n p ( x i ) log 2 p ( x i ) H(X) -\sum_{i1}^n p(x_i) \log_2 p(x_i) H(X)−i1∑np(xi)log2p(xi)
其中 p ( x i ) p(x_i) p(xi) 表示事件 x i x_i xi 发生的概率。 log 2 p ( x i ) \log_2 p(x_i) log2p(xi) 表示事件发生所带来的“信息量”它是概率的负对数概率越低信息量越大。信息熵的单位是比特bit在公式中使用对数底数为2。
2. 信息熵的直观解释
信息熵描述的是不确定性如果一个事件的结果很确定信息熵就会很小如果事件的结果不确定性很高则信息熵会较大。以抛硬币和掷骰子为例
公平的硬币抛硬币有两种可能结果正面、反面概率均为 0.5。此时信息熵为 H ( X ) − ( 0.5 log 2 0.5 0.5 log 2 0.5 ) 1 比特 H(X) - (0.5 \log_2 0.5 0.5 \log_2 0.5) 1 \text{ 比特} H(X)−(0.5log20.50.5log20.5)1 比特 也就是说对于这枚硬币我们在没有额外信息的情况下是很难预测到底抛硬币后是正面朝上还是反面朝上。
不公平的硬币如果硬币不公平正面概率为 0.9反面概率为 0.1。此时的信息熵较小因为我们几乎可以预测结果总是正面。计算得 H ( X ) − ( 0.9 log 2 0.9 0.1 log 2 0.1 ) ≈ 0.47 比特 H(X) - (0.9 \log_2 0.9 0.1 \log_2 0.1) \approx 0.47 \text{ 比特} H(X)−(0.9log20.90.1log20.1)≈0.47 比特
因此不公平的硬币的信息熵小于公平硬币这表明预测其结果的不确定性较低。这枚硬币相较于公平硬币而言更容易猜出结果肯定会首先猜测证明朝上就说明紊乱程度低自然信息熵就低。
3. 信息熵的特性
信息熵的几个重要特性包括
非负性信息熵总是非负的且 H ( X ) ≥ 0 H(X) \geq 0 H(X)≥0。当随机变量 X X X 的结果完全确定时信息熵 H ( X ) 0 H(X) 0 H(X)0。最大化对于一个有 n n n 个可能取值的离散均匀分布信息熵最大。也就是说当每个事件的概率相等时不确定性达到最大。例如对于一个6面骰子每个面出现的概率都是 1 6 \frac{1}{6} 61此时信息熵最大。加法性对于多个独立事件其联合熵为各个事件的熵的和。即如果 X X X 和 Y Y Y 是两个独立随机变量那么 H ( X , Y ) H ( X ) H ( Y ) H(X, Y) H(X) H(Y) H(X,Y)H(X)H(Y)。
4. 信息熵的计算示例
假设有一个数据集 D D D包含5个样本用于预测某人是否会外出。其中有3个样本为“是”外出2个样本为“否”不外出。计算熵
样本中“是”事件的概率 p ( 是 ) 3 5 p(是) \frac{3}{5} p(是)53样本中“否”事件的概率 p ( 否 ) 2 5 p(否) \frac{2}{5} p(否)52 熵 H ( D ) H(D) H(D) 的计算如下 H ( D ) − ( 3 5 log 2 3 5 2 5 log 2 2 5 ) H(D) - \left( \frac{3}{5} \log_2 \frac{3}{5} \frac{2}{5} \log_2 \frac{2}{5} \right) H(D)−(53log25352log252)
通过计算得到 H ( D ) ≈ 0.971 比特 H(D) \approx 0.971 \text{ 比特} H(D)≈0.971 比特
这表示在给定数据集 D D D 的情况下每次对“是否外出”进行预测时大约需要 0.971 比特的信息来消除不确定性。
KL散度Kullback-Leibler Divergence也可以被叫做相对熵是一种用于衡量两个概率分布之间差异的非对称度量。在信息论和机器学习中KL散度广泛用于评估一个分布相对于另一个分布的“信息丢失”程度。或者也可以认为KL散度用于衡量真实分布与近似分布之间的差异或计算两个分布之间的信息距离。
什么是KL散度
1. KL散度的定义
给定两个概率分布 P P P 和 Q Q Q其中 P P P 通常是数据的真实分布 Q Q Q 是用来近似 P P P 的分布例如模型分布或者预测分布KL散度 D K L ( P ∥ Q ) D_{KL}(P \parallel Q) DKL(P∥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 ) ∫ P ( x ) log P ( x ) Q ( x ) d x D_{KL}(P \parallel Q) \int P(x) \log \frac{P(x)}{Q(x)} \, dx DKL(P∥Q)∫P(x)logQ(x)P(x)dx
其中 P ( x ) P(x) P(x) 和 Q ( x ) Q(x) Q(x) 分别是两个分布在点 x x x 的概率值。 log P ( x ) Q ( x ) \log \frac{P(x)}{Q(x)} logQ(x)P(x) 表示 P P P 相对于 Q Q Q 的信息增益。信息增益表示在某个条件下数据的熵不确定性减少的量。
2. KL散度的直观解释
KL散度可以理解为在给定分布 Q Q Q 的情况下使用分布 P P P 需要多大的“信息量”或“信息代价”来描述或编码数据。KL散度越大表示分布 P P P 和分布 Q Q Q 越不相似。
例如
当 P P P 和 Q Q Q 完全一致时KL散度 D K L ( P ∥ Q ) 0 D_{KL}(P \parallel Q) 0 DKL(P∥Q)0。当 P P P 和 Q Q Q 有明显差异时KL散度会是一个较大的正值。由于 KL 散度不对称所以 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)。
3. KL散度的特性
非负性 D K L ( P ∥ Q ) ≥ 0 D_{KL}(P \parallel Q) \geq 0 DKL(P∥Q)≥0。当且仅当 P Q P Q PQ 时 D K L ( P ∥ Q ) 0 D_{KL}(P \parallel Q) 0 DKL(P∥Q)0。这称为信息论中的 Gibbs 不等式。非对称性KL散度并不对称即 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)。这也意味着它不能作为真正的“距离度量”因为距离度量一般要求对称性。信息增益KL散度度量的是当用分布 Q Q Q 来替代分布 P P P 时信息的额外损失。它描述了我们在使用 Q Q Q 来代替 P P P 时丢失的“信息量”。
4. KL散度的计算实例
假设有两个离散分布 P P P 和 Q Q Q P P P: P ( x 1 ) 0.4 P(x1)0.4 P(x1)0.4, P ( x 2 ) 0.6 P(x2)0.6 P(x2)0.6 Q Q Q: Q ( x 1 ) 0.5 Q(x1)0.5 Q(x1)0.5, Q ( x 2 ) 0.5 Q(x2)0.5 Q(x2)0.5 KL散度计算如下 D K L ( P ∥ Q ) 0.4 log 0.4 0.5 0.6 log 0.6 0.5 D_{KL}(P \parallel Q) 0.4 \log \frac{0.4}{0.5} 0.6 \log \frac{0.6}{0.5} DKL(P∥Q)0.4log0.50.40.6log0.50.6 通过计算可以得到 D K L ( P ∥ Q ) 0.4 × ( − 0.263 ) 0.6 × 0.176 − 0.1052 0.1056 ≈ 0.0004 D_{KL}(P \parallel Q) 0.4 \times (-0.263) 0.6 \times 0.176 -0.1052 0.1056 \approx 0.0004 DKL(P∥Q)0.4×(−0.263)0.6×0.176−0.10520.1056≈0.0004 说明分布 P P P 和 Q Q Q 的差异很小。 其实就好比两个数字比较差异我们会将他们相减如果减出来0说明二者相等而KL散度就是把数字的差异放在了分布的差异上两个分布两个数字差异性越大那么KL散度数字的差值越大代表二者越不相似。
什么是交叉熵
讲完KL散度和信息熵我们再引入交叉熵Cross Entropy它是用来度量两个概率分布之间的相似性的。在机器学习和深度学习中交叉熵损失函数是用于分类任务的常用损失函数通过计算真实分布和预测分布之间的差异帮助模型更好地拟合数据。
1. 交叉熵的定义
给定两个概率分布 P P P 和 Q Q Q P P P 表示真实分布例如数据的标签分布。 Q Q Q 表示预测分布例如模型的输出概率分布。 交叉熵 H ( P , Q ) H(P, Q) H(P,Q) 的定义是 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)
在这个公式中 x x x 表示数据样本的取值。 P ( x ) P(x) P(x) 是样本在真实分布中的概率。 Q ( x ) Q(x) Q(x) 是样本在预测分布中的概率。 交叉熵度量了真实分布 P P P 下观测到数据点时的“平均信息量”而这种信息量是基于模型提供的预测分布 Q Q Q 来计算的。交叉熵越小表示 Q Q Q 与 P P P 越接近交叉熵越大表示 Q Q Q 与 P P P 越不接近。
2. 交叉熵与熵和KL散度的关系
交叉熵可以拆解为熵和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)
其中 H ( P ) H(P) H(P) 是数据真实分布 P P P 的熵表示在真实分布下系统的不确定性。 D K L ( P ∥ Q ) D_{KL}(P \parallel Q) DKL(P∥Q) 是KL散度表示分布 Q Q Q 相对于分布 P P P 的“信息损失”或“信息差异”。 这说明交叉熵实际上是熵和KL散度的组合。当 Q Q Q 和 P P P 越接近时KL散度 D K L ( P ∥ Q ) D_{KL}(P \parallel Q) DKL(P∥Q) 越小交叉熵也就越接近 H ( P ) H(P) H(P) 的最小值。
3. 交叉熵在分类中的应用
在机器学习中交叉熵损失函数用于二分类和多分类任务
1二分类交叉熵
对于一个二分类问题真实标签 y y y 可以是0或1模型的预测概率为 y ^ \hat{y} y^则二分类的交叉熵损失为 H ( y , y ^ ) − [ y log ( y ^ ) ( 1 − y ) log ( 1 − y ^ ) ] H(y, \hat{y}) -[y \log(\hat{y}) (1 - y) \log(1 - \hat{y})] H(y,y^)−[ylog(y^)(1−y)log(1−y^)]
当真实标签 y 1 y 1 y1 时损失为 − log ( y ^ ) -\log(\hat{y}) −log(y^)即预测值 y ^ \hat{y} y^ 越接近1损失越小。当真实标签 y 0 y 0 y0 时损失为 − log ( 1 − y ^ ) -\log(1 - \hat{y}) −log(1−y^)即预测值 y ^ \hat{y} y^ 越接近0损失越小。 这种损失函数逼迫模型输出的概率接近真实标签从而提升模型的分类效果。
2多分类交叉熵
对于一个有 k k k 类的多分类问题使用 softmax 函数输出每个类别的概率预测 y ^ i \hat{y}_i y^i真实标签用 one-hot 编码表示交叉熵损失为 H ( y , y ^ ) − ∑ i 1 k y i log ( y ^ i ) H(y, \hat{y}) -\sum_{i1}^k y_i \log(\hat{y}_i) H(y,y^)−i1∑kyilog(y^i)
其中 y i y_i yi 是真实类别的 one-hot 编码即正确类别对应的概率为1其余类别为0 y ^ i \hat{y}_i y^i 是模型对第 i i i 类的预测概率。
4. 交叉熵的直观理解
交叉熵可以理解为一个度量模型预测与真实标签之间相似度的指标。当模型预测接近真实分布 P P P 时交叉熵的值较小当模型预测偏离真实分布 P P P 时交叉熵的值较大。因此通过最小化交叉熵损失模型能够更好地匹配真实标签的分布。
例如在图像分类任务中
如果图像真实类别为“猫”且模型预测也为“猫”且概率接近1则交叉熵损失较小表明预测准确。如果图像真实类别为“猫”但模型预测为“狗”且概率较高则交叉熵损失较大表明预测不准确模型需要优化。
5. 交叉熵的性质
非负性交叉熵总是非负的。最小化交叉熵最小化目标就是让预测分布 Q Q Q 尽量接近真实分布 P P P。非对称性交叉熵对 P P P 和 Q Q Q 的顺序敏感 H ( P , Q ) ≠ H ( Q , P ) H(P, Q) \neq H(Q, P) H(P,Q)H(Q,P)。
交叉熵和KL散度都可以用于衡量两个概率分布之间差异那到底有什么区别
1. 定义和公式上的差异
交叉熵 H ( P , Q ) H(P, Q) H(P,Q) 交叉熵衡量的是在真实分布 P P P 下使用预测分布 Q Q Q 来编码数据所需要的信息量。其公式为 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散度 D K L ( P ∥ Q ) D_{KL}(P \parallel Q) DKL(P∥Q) KL散度表示的是真实分布 P P P 与预测分布 Q Q Q 之间的相对熵或说 Q Q Q 相对 P P P 的信息损失。其公式为 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)
2. 数学关系
交叉熵和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)
其中
熵 H ( P ) H(P) H(P) 是真实分布 P P P 自身的熵表示在没有近似分布时描述数据本身所需的最少信息量。KL散度 D K L ( P ∥ Q ) D_{KL}(P \parallel Q) DKL(P∥Q) 表示的是用 Q Q Q 替代 P P P 带来的额外信息量。
因此交叉熵可以看作是“熵 KL散度”即在使用分布 Q Q Q 进行编码时所需要的额外信息量而 KL散度单独度量的是使用 Q Q Q 而非 P P P 带来的信息丢失。
3. 意图和用途的差异
交叉熵用于度量模型的预测效果。它不仅仅关注两个分布的差异而是考虑整个预测分布 Q Q Q 对真实分布 P P P 的匹配程度。交叉熵在模型训练时常用作损失函数通过最小化交叉熵使得模型输出的预测分布尽可能接近真实分布。KL散度关注的是“差异性”本身用于量化两个分布之间的“相对距离”或“信息损失”。它在变分推断、贝叶斯方法、信息理论等场景中广泛应用以便衡量模型分布如 Q Q Q和目标分布如 P P P的相似性帮助约束模型参数。
4. 总结
交叉熵偏向实际模型的优化通过衡量预测结果相对于真实标签的“信息量”来训练模型。KL散度偏向分析两个分布之间的差异性用来度量模型分布与目标分布的接近程度通常作为“相对差异”的参考指标。
总结一下交叉熵更关注信息量的实际消耗而KL散度更关注两个分布之间的相对信息损失。