【机器学习】信息熵 交叉熵和相对熵

信息熵,交叉熵和相对熵

V1.0

信息熵 交叉熵和相对熵

最初是一个热力学概念,用来衡量一个系统的混乱程度。和距离,面积等一样,都是一种度量。1948年美国数学家香农提出信息熵 的概念,之后又有科学家提出了相对熵(也就是KL散度)交叉熵的概念。

信息熵

有概率模型 P P P,其中有多个类别,每个类别的概率为 P ( x i ) P(x_i) P(xi), P ( x i ) P(x_i) P(xi)之和为 1 1 1。
信息熵 用来衡量概率模型 P P P的概率分布的分散性

信息熵的公式如下:
H ( P ) = − ∑ i P ( x i ) log ⁡ P ( x i ) H(P)=-\sum_iP(x_i)\log{P(x_i)} H(P)=−i∑P(xi)logP(xi)

信息熵的性质

类别越多,信息熵越高

设模型 A A A有 10 10 10个类别,每个类别的概率都是 0.1 0.1 0.1,则其信息熵为
H ( P A ) = − ∑ i = 1 10 0.1 ⋅ log ⁡ 0.1 ≈ 3.3219 H(P_A)=-\sum_{i=1}^{10}0.1\cdot{\log{0.1}}\approx3.3219 H(PA)=−i=1∑100.1⋅log0.1≈3.3219

设模型 B B B有5个类别,每个类别的概率都是 0.2 0.2 0.2,则其信息熵为
H ( P B ) = − ∑ i = 1 5 0.2 ⋅ log ⁡ 0.2 ≈ 2.3219 H(P_B)=-\sum_{i=1}^{5}0.2\cdot{\log{0.2}}\approx2.3219 H(PB)=−i=1∑50.2⋅log0.2≈2.3219

通过比较发现,在概率分布都是均匀分布 的情况下, 10 10 10个类别的模型 A A A信息熵比 5 5 5个类别的模型B的信息熵更高。

分散性 来理解,即类别越分散,越多,信息熵越高

各类别的概率越平均,信息熵越高

设有两个概率模型 A A A和 B B B。模型 A A A和 B B B均有5个类别,模型 A A A的各类别概率均为 0.2 0.2 0.2,模型B各类别的概率为 { 0.125 , 0.125 , 0.125 , 0.125 , 0.5 } \{0.125,0.125,0.125,0.125,0.5\} {0.125,0.125,0.125,0.125,0.5}。

模型 A A A的信息熵为
H ( P A ) = − ∑ i = 1 5 0.2 ⋅ log ⁡ 0.2 ≈ 2.3219 H(P_A)=-\sum_{i=1}^{5}0.2\cdot{\log{0.2}}\approx2.3219 H(PA)=−i=1∑50.2⋅log0.2≈2.3219

模型 B B B的信息熵为
H ( P B ) = − ∑ i = 1 5 P ( x i ) ⋅ log ⁡ 0.2 = 2 H(P_B)=-\sum_{i=1}^{5}{P({x_i})}\cdot{\log{0.2}}=2 H(PB)=−i=1∑5P(xi)⋅log0.2=2

通过比较发现模型 A A A的信息熵更高。

分散性 来理解,概率模型中不同类别的概率越平均 ,也就是更分散而不集中 ,则信息熵越大 。如果概率模型的类别中有1个或几个类别的概率更大 ,也就是概率更集中 ,则其信息熵越小

模型中有1个类别的概率为1时,信息熵为0

概率模型 p p p中一个类别的概率为 0 0 0时,此时概率从平均程度上来讲,完全集中,此时信息熵为 0 0 0。

交叉熵

交叉熵 用来描述目标概率模型 P P P与我们拥有的概率模型 Q Q Q的差异。

在这里 P P P和 Q Q Q都用来描述同一随机变量 ,因此拥有相同的概率种类 ,而同一类别的概率不一定相同,即 q ( x i ) q(x_i) q(xi)不一定等于 p ( x i ) p(x_i) p(xi)。

设 P P P是真实的概率分布模型, Q Q Q是我们拥有的概率分布模型,则交叉熵 H ( P , Q ) H(P,Q) H(P,Q)的公式为
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)

交叉熵的性质

在我们拥有的模型 Q Q Q完全等于目标模型 P P P时,可以通过数学证明,此时交叉熵 H ( P , Q ) H(P,Q) H(P,Q)是对于模型 P P P时最小的,此时交叉熵即退化为信息熵 ,即信息熵的取值是对于目标概率模型P的交叉熵中最小的。

当 Q Q Q等于 P P P时,交叉熵是对于 P P P模型中最小的,但这并不意味着此时的交叉熵为0 。交叉熵在此时退化为信息熵,而信息熵只有在概率模型的概率分布完全集中 ,也就是其中1个类别的概率为 1 1 1时,信息熵才为 0 0 0。

相对熵(KL散度)

相对熵就是KL散度 。对于目标概率模型 P P P和我们拥有的概率模型 Q Q Q,相对熵 D K L ( p ∣ ∣ q ) D_{KL}(p||q) DKL(p∣∣q)即为 Q Q Q对 P P P的交叉熵 H ( p , q ) H(p,q) H(p,q)与 P P P的信息熵 H ( p ) H(p) H(p)的差值。

其中信息熵为交叉熵的下界 (即最低取值)。相对熵的公式为
D K L ( p ∣ ∣ q ) = ∑ i p ( x i ) log ⁡ p ( x i ) q ( x i ) D_{KL}(p||q)=\sum_i{p(x_i)\log{\frac{p(x_i)}{q(x_i)}}} DKL(p∣∣q)=i∑p(xi)logq(xi)p(xi)

相对熵的公式可以转化为交叉熵与信息熵的差值,以下为推导
D K L ( p ∣ ∣ q ) = ∑ i p ( x i ) log ⁡ p ( x i ) − ∑ p ( x i ) log ⁡ q ( x i ) = − ( − ∑ i p ( x i ) log ⁡ p ( x i ) − ( − ∑ p ( x i ) log ⁡ q ( x i ) ) ) = − ( H ( p ) − ( H ( p , q ) ) ) = H ( p , q ) − H ( p ) \begin{align} D_{KL}(p||q)&=\sum_i{p(x_i)}\log{p(x_i)}-\sum{p(x_i)\log{q(x_i)}}\\1.2em &=-(-\sum_i{p(x_i)}\log{p(x_i)}-(-\sum{p(x_i)\log{q(x_i)}}))\\1.2em &=-(H(p)-(H(p,q)))\\1.2em &=H(p,q)-H(p)\\1.2em \end{align} DKL(p∣∣q)=i∑p(xi)logp(xi)−∑p(xi)logq(xi)=−(−i∑p(xi)logp(xi)−(−∑p(xi)logq(xi)))=−(H(p)−(H(p,q)))=H(p,q)−H(p)

相对熵的性质

当目标概率模型 P P P与我们拥有的模型 Q Q Q相等时,即 p ( x i ) = q ( x i ) p(x_i)=q(x_i) p(xi)=q(xi)时,交叉熵与信息熵相等,此时相对熵取到最小值 为 0 0 0。
D K L ( p ∣ ∣ q ) = ∑ i p ( x i ) log ⁡ 1 = 0 D_{KL}(p||q)=\sum_i{p(x_i)\log{1}}=0 DKL(p∣∣q)=i∑p(xi)log1=0

相关推荐
Ai_easygo9 分钟前
多Agent协作与A2A协议——CrewAI + LangGraph搭建AI协作团队
人工智能
HIT_Weston17 分钟前
151、【Agent】【OpenCode】启动分析(CLI 命令注册)
人工智能·agent·opencode
笑小枫22 分钟前
用 Claude Code 推翻重写笑小枫网站
java·人工智能·spring boot·ai编程
audyxiao00131 分钟前
人工智能顶会AAAI 2026论文分享|SlideBot:用于生成信息丰富、可靠、多模态幻灯片的多智能体框架
人工智能·大模型·aaai·智能体·幻灯片
用户9385156350734 分钟前
Workflow 与 Agent 之争:确定性执行与智能探索的深度剖析
人工智能
阿里云大数据AI技术41 分钟前
阿里云 EMR Serverless StarRocks(Stella 2.2.0) 发布:内表与湖表同时支持向量、全文与 AI Function,一条 SQL 完成多模态检索
人工智能
AI人工智能+41 分钟前
智能文档抽取系统采用“解析底座+大模型“双引擎架构,突破传统OCR局限
深度学习·ocr·文档抽取
格林威42 分钟前
工业相机Chunk功能全解析:图像嵌入时间戳、编码器元数据(附堡盟C#代码)
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
怪奇云呼军1 小时前
闪电智能Voice Agent:ASR 首字延迟和最终识别延迟怎么测?t0-t3 埋点实战
人工智能·科技·ai·语音识别
冬哥聊AI1 小时前
百万行代码里跑Claude Code?三面这题80%的人答不上来
人工智能