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

机器学习中的熵(Entropy)是什么?

在机器学习和信息理论中,熵(Entropy)是衡量不确定性和信息量的一个重要概念。熵最初由信息论的奠基人克劳德·香农(Claude Shannon)在1948年提出,用来衡量信息源的信息不确定性。在机器学习中,熵被用于许多场景,例如分类任务中的决策树构建,用来衡量一个属性对分类的贡献。下面详细介绍熵的定义和推导过程。

1. 熵的定义

熵衡量的是一个随机变量的不确定性。对于一个离散的概率分布 ( P ) ,其熵(Entropy)定义为:

H ( X ) = − ∑ i = 1 n P ( x i ) log ⁡ P ( x i ) H(X) = - \sum_{i=1}^{n} P(x_i) \log P(x_i) H(X)=i=1nP(xi)logP(xi)
其中:

  • ( H(X) ) 表示随机变量 ( X ) 的熵;
  • ( x_i ) 表示随机变量 ( X ) 可能取的第 ( i ) 个值;
  • ( P(x_i) ) 是 ( X ) 取值 ( x_i ) 的概率;
  • 对数 ( \log ) 通常以 2 为底(对应单位为“比特”),但也可以使用自然对数(对应单位为“纳特”)。

熵反映的是从信息源中获得的信息的平均量。假如某个事件的概率越低(即它越不确定),一旦发生,就提供了更多的信息,因此熵越大。

2. 熵的推导

熵的推导可以从几个基本信息论概念入手:

a. 自信息量(Self-Information)

自信息量是衡量某个特定事件发生时,它为我们带来的信息量。对于某个事件 ( x_i ) 发生,它的自信息量定义为:

I ( x i ) = − log ⁡ P ( x i ) I(x_i) = -\log P(x_i) I(xi)=logP(xi)

  • 当事件发生的概率 P ( x i ) P(x_i) P(xi) 越小,它的不确定性越高,因此提供的“信息量”越大。
  • P ( x i ) P(x_i) P(xi) 为 1 时,自信息量为 0,因为这种事件是确定的,不带来额外信息。
  • 加上log,可以把非线性的概率转换为线性空间。
b. 熵是期望自信息量

熵的定义可以被理解为所有可能事件自信息量的期望值。对于一个离散随机变量 ( X ),它的熵表示为每个可能事件自信息量的期望:

H ( X ) = E [ I ( X ) ] = ∑ i = 1 n P ( x i ) I ( x i ) = − ∑ i = 1 n P ( x i ) log ⁡ P ( x i ) H(X) = \mathbb{E}[I(X)] = \sum_{i=1}^{n} P(x_i) I(x_i) = - \sum_{i=1}^{n} P(x_i) \log P(x_i) H(X)=E[I(X)]=i=1nP(xi)I(xi)=i=1nP(xi)logP(xi)

因此,熵是每个可能事件的概率与其自信息量乘积的加权和,反映了整个系统的平均不确定性。

3. 熵的性质

熵有以下一些重要性质:

  • 非负性:熵总是大于等于 0。对于确定事件(即 ( P(x_i) = 1 )),熵为 0;对于不确定性较大的分布,熵更高。

  • 均匀分布的熵最大:对于均匀分布,熵最大。例如,对于一个有 ( n ) 种可能事件且每个事件的概率都相等的系统,熵为:

    H ( X ) = log ⁡ n H(X) = \log n H(X)=logn

    这是因为均匀分布下不确定性最大,每个事件发生的概率一样,不提供更多信息。

  • 熵和概率的关系:熵的值取决于概率分布。若一个系统中所有事件的概率都接近 1,熵较小;若系统的事件概率分布接近均匀,熵较大。

4. 熵在机器学习中的应用

总结

熵作为信息论中的核心概念,衡量了系统的不确定性。通过从自信息量推导出的熵公式,我们能够量化一个系统中信息的平均量。在机器学习中,熵广泛用于决策树构造和其他分类任务中,以帮助衡量数据集的纯度或不确定性。


http://www.kler.cn/news/341806.html

相关文章:

  • 修改 antd a-popover气泡卡片弹窗背景颜色
  • 代码随想录算法训练营第四十六天 | 647. 回文子串,516.最长回文子序列
  • Python 工具库每日推荐 【Matplotlib】
  • 需求9——通过一个小需求来体会service层的作用
  • ubuntu下载gitee库源码
  • 代码随想录day29:动态规划part2
  • 备份python运行环境
  • vue3中使用live2D
  • Echarts 图表导出为 SVG矢量图
  • 毕设 大数据电影数据分析与可视化系统(源码+论文)
  • RabbitMQ入门5—exchange参数之durability
  • 前端背景图裁剪
  • 【kubernetes】环境准备及K8S二进制安装【最新最全】
  • 古典舞在线交流:SpringBoot平台实现与优化
  • Leetcode 3312. Sorted GCD Pair Queries
  • 移动电源自动化测试中有哪些关键步骤,如何对这些步骤进行优化-天宇微纳
  • 大数据新视界 --大数据大厂之大数据如何重塑金融风险管理:精准预测与防控
  • finereport制作带刷新和滚动的明细表
  • Windows10如何关闭自动更新
  • 深度学习:循环神经网络——LSTM