当前位置: 首页 > article >正文

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

信息熵,交叉熵和相对熵

    • V1.0
    • 信息熵 交叉熵和相对熵
    • 信息熵
      • 信息熵的性质
        • 类别越多,信息熵越高
        • 各类别的概率越平均,信息熵越高
        • 模型中有1个类别的概率为1时,信息熵为0
    • 交叉熵
      • 交叉熵的性质
    • 相对熵(KL散度)
      • 相对熵的性质

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)=iP(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=1100.1log0.13.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=150.2log0.22.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=150.2log0.22.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=15P(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)=ip(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)=ip(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)=ip(xi)logp(xi)p(xi)logq(xi)=(ip(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)=ip(xi)log1=0


http://www.kler.cn/a/559419.html

相关文章:

  • 爬虫小案例csv写入
  • FreeRTOS-rust 编译分析
  • 从CNN到 Transformer:基于PyTorch的遥感影像、无人机影像的地物分类、目标检测、语义分割和点云分类
  • 深入理解TypeScript中的never类型
  • Caffeine:高性能的Java本地缓存库
  • 【Web开发】PythonAnyWhere免费部署Django项目
  • 解放大脑!用DeepSeek自动生成PPT!
  • Steam回退游戏版本
  • uniapp邪门事件
  • HTML之JavaScript DOM操作元素(1)
  • react路由总结
  • 2025保险与金融领域实战全解析:DeepSeek赋能细分领域深度指南(附全流程案例)
  • 波兰发布世界首个双足肌肉骨骼机器人,细节高度模拟人类生物特征
  • Jenkins 创建 Node 到 Windows
  • Qt 中集成mqtt协议
  • Linux 命令大全完整版(10)
  • 超级详细Spring AI运用Ollama大模型
  • 算法随笔_57 : 游戏中弱角色的数量
  • ES6 新特性,优势和用法?
  • 基于契约理论的竞争性组织数据共享安全激励机制matlab模拟与仿真