Machine Learning
  • Introduction
  • 机器学习
    • 前言
      • 符号表
    • 监督式学习
      • 感知机
        • 感知机模型
        • 感知机学习算法
        • 算法python实现
      • Logistic回归
        • Logistic分布
        • Logistic回归模型
        • 算法python实现
      • 线性回归
        • 线性回归模型
        • 算法python实现
      • K近邻法
        • k近邻模型
        • kd树方法
        • kd树python实现
        • knn实例
      • 朴素贝叶斯法
        • 模型和原理
        • 参数估计
        • 算法和实现
      • 决策树
        • 模型与学习
        • 特征选择
        • 生成算法和剪枝
        • python实现
      • 支持向量机
    • 神经网络
      • 神经元模型和感知机
      • 神经网络
      • 神经网络的矩阵表达
      • 反向传播算法
        • 算法证明
        • 算法代码
        • 基于矩阵的计算
      • 改进神经网络的学习方法
        • 交叉熵代价函数
        • softmax
        • regularization
        • 权重初始化
      • 卷积神经网络
        • 基本介绍
    • 数学基础
      • 线性代数
        • 特征值和特征向量
      • 概率统计
        • 随机变量的特征
        • 样本统计量
        • 先验后验概率
      • 微积分
        • 向量内积
        • 方向导数和梯度
        • 梯度下降法
      • 信息论
        • 熵
        • 相对熵和交叉熵
        • 条件熵
        • 互信息
Powered by GitBook
On this page
  1. 机器学习
  2. 数学基础
  3. 信息论

熵

Previous信息论Next相对熵和交叉熵

Last updated 7 years ago

参考:

在信息论中熵(entropy)是接收的每条消息中包含的信息的平均量,又被称为信息熵、信源熵、平均自信息量。

熵也可以理解为不确定性的量度,因为越随机的信源的熵越大。这里的想法是,比较不可能发生的事情,当它发生了,会提供更多的信息。

如果有一个系统SSS内存在多个事件S={E1,E2,...,En}S = \{E_1,E_2,...,E_n\}S={E1​,E2​,...,En​},每个事件的概率分布P={p1,p2,...,pn}P = \{p_1,p_2, ..., p_n\}P={p1​,p2​,...,pn​},则每个事件本身的讯息(自信息)为:

Ie=−log2piI_e=- \mathrm{log}_2 {p_i}Ie​=−log2​pi​(对数以2为底,单位是比特(bit))

Ie=−lnpiI_e=- \mathrm{ln} {p_i}Ie​=−lnpi​(对数以eee为底,单位是纳特/nats)

如英语有26个字母,假如每个字母在文章中出现次数平均的话,每个字母的信息量为:

Ie=−log2126=4.7I_e=- \mathrm{log}_2 {\dfrac{1}{26}}=4.7Ie​=−log2​261​=4.7

而汉字常用的有2500个,假如每个汉字在文章中出现次数平均的话,每个汉字的信息量为:

Ie=−log212500=11.3I_e=- \mathrm{log}_2 {\dfrac{1}{2500}}=11.3Ie​=−log2​25001​=11.3

实际上每个字母和每个汉字在文章中出现的次数并不平均,比方说较少见字母(如z)和罕用汉字就具有相对高的信息量。但上述计算提供了以下概念:使用书写单元越多的文字,每个单元所包含的讯息量越大。

熵是整个系统的平均信息量:

Hs=−∑i=1npilog2piH_s=\displaystyle-\sum_{i=1}^np_i\mathrm{log}_2p_iHs​=−i=1∑n​pi​log2​pi​

若pi=0p_i=0pi​=0,则定义0log0=00log0=00log0=0。通常对数以2为底或以eee为底,这时熵的单位分别作为比特(bit)或奈特(nat)。

熵越大,随机变量的不确定性越大。

极值性

当所有事件有相同机会出现的情况下,熵达到最大值(所有可能的事件同等概率时不确定性最高)

0⩽Hn(p1,p2,...,pn)⩽Hn(1n,1n,...,1n)=logn0\leqslant H_n(p_1,p_2,...,p_n)\leqslant H_n(\dfrac{1}{n},\dfrac{1}{n},...,\dfrac{1}{n})=\mathrm{log}n0⩽Hn​(p1​,p2​,...,pn​)⩽Hn​(n1​,n1​,...,n1​)=logn

举例来说,当随机变量只取两个值时,例如1和0,则随机变量XXX的分布为

P(X=1)=pP(X=1)=pP(X=1)=p,P(X=0)=1−pP(X=0)=1-pP(X=0)=1−p,0⩽p⩽10\leqslant p \leqslant 10⩽p⩽1

熵为H(p)=−plog2p−(1−p)log2(1−p)H(p)=-p\mathrm{log}_2p-(1-p)\mathrm{log}_2(1-p)H(p)=−plog2​p−(1−p)log2​(1−p)

这时熵随着概率ppp变化的曲线如图,当p=0.5p=0.5p=0.5时熵取值最大,系统的不确定性最大。

https://zh.wikipedia.org/wiki/熵_(信息论\