这是技术文章模板

2022-03-30 15:20:49 浏览数 (1)

熵、信息量、KL散度、交叉熵、最大熵

如果两个模型的概率分布是不一样的,所以在衡量模型的差异的时候,不能直接定性衡量两个模型之间的差异,而是需要定量的衡量两个模型的差异(比如极大似然估计、最小二乘法和交叉熵

1.信息量

信息量可以理解成一个事件从不确定变成确定的难度程度(概率)(或者说事件对某个人带来的价值大小)。难度越大,信息量越大。比如,阿根廷进入8强到赢得决赛的难度为frac{1}{2^3},则信息量为3比特,再比如中国队从8强赢得决赛的难度为frac{1}{2^{10}},则信息量为10比特。

公式为:I(i)=-log_2p_i,log以2为底因为最后要以比特表示信息量

2.熵

衡量一个系统中的所有事件从不确定到确定的难度大小。对整体的概率模型进行一个衡量,衡量结果能反映出这个概率模型的不确定程度/混乱程度,熵是信息量的期望

事件的不确定性越高,则信息量越高,即信息量函数f与概率P成负相关,即f(P)=logfrac{1}{P}=-log(P)

两个独立事件所产生的信息量等于各自信息量之和,即f(P_1,P_2)=f(P_1) f(P_2)

信息熵表示的是信息量的期望,即H(P)=E[-log(P)]=displaystylesum_XP(X)f(X)=-displaystylesum_XP(X)logP(X)

可以证明:0 le H(P) le logabs{X},所以当且仅当X的分布为均匀分布时有H(P)=logabs{X},即P(X)=frac{1}{abs{X}}$时熵最大

2.1 最大熵原理
  1. 最大熵Max Entropy原理:学习概率模型时,在所有可能的概率分布(模型)中,熵最大的分布(模型)是最好的模型(概率最均匀)
    • 通常会有其他已知条件来确定概率模型的集合,因此最大熵的原理是:在满足已知条件的情况下,选取熵最大的模型
    • 在满足已知条件的前提下,如果没有其他信息,则不确定部分都是等可能的(均匀分布时,熵最大)。而这种等可能性就是由熵最大化得到的
  2. 最大熵原理选取熵最大的模型,而决策树的目的是得到熵最小的划分。原因在于:
    • 最大熵原理认为在满足已知条件之后,选择不确定性最大(即不确定部分都是等可能的)的模型。即不再施加已知条件之外的约束。这是求最大不确定性的过程
    • 决策树的划分目标是为了通过不断划分从而降低实例所属的类的不确定性,最终给实例一个合适的分类。这是一个不确定性不断减小的过程
2.2 在期望约束下的最大熵模型

期望的约束表示为:E[f(X)]=displaystylesum_XP(X)f(X)=tau,其中f(X)是约束条件,E(f(X))是一个常数。

假设有k个约束条件:

即求解约束最优化问题:

利用拉格朗日乘子法求解:

解得:

2.3 香农熵Shannon entropy

H(p)=-Ep[logp]=left{ begin{matrix} H(p)=-int_xP(x)logP(x)dx \ H(p)=-displaystylesum_xP(x)logP(x) end{matrix} right.

香农熵就是在连续分布和离散分布中,对信息量的期望

公式为:熵=事件的概率x事件信息量的和,即各事件对系统贡献的信息量H(x)=-displaystyle sum_{i=1}^nP(x_i)log{P(x_i)}

比如,对于二分类(或者是二项分布)的任务,H(x)=-P(x)logP(x)-(1-P(x))log(P(x))

3.相对熵(KL散度)

通信/编码角度的理解

  • H(P)为服从P(X)分布的信源X的信息熵,也表示对信源X编码所需的平均比特数
  • H(P,Q)称为交叉熵,表示对服从P(X)分布的信源X,按照分布Q(X)来进行编码所需的平均比特数,也表示利用分布Q(X)来表示服从P(X)分布的X的困难程度
  • D(P||Q)为相对熵,表示用Q(X)来对信源X编码平均所需要的额外比特数

对于同一随机变量x,有两个独立的概率分布,我们可以用KL散度来衡量两个分布的差异。机器学习中,当我们不知道一个模型时,没办法直接求熵,需要依靠相对熵来计算两个模型的差异,也就是loss值(P往往表示样本的真实分布,Q表示预测模型的分布)

则相对熵可以写成以下形式:

根据吉布斯不等式,D_{KL}H(P,Q)-H(P)≥0

仅当两个模型完全相等时D(P||Q)=0,有差异时D(P||Q)>0

交叉熵越小,表示两个模型越相近,或者说转码不会有过多冗余比特

因为P的熵是确定的,所以求KL散度(相对熵)变成了求交叉熵的问

上述讨论的相对熵是在事件数(样本量)一样的情况下,当模型事件数量(样本量)不一样的时候取事件数多的那个

4.交叉熵

在分类问题中,通常使用交叉熵损失度量标签的真实分布和由分类器预测的分布之间的差异。要找两个模型最优值,就是要找交叉熵最小的情况。

一般来说以P为样本数据分布,Q为待优化的预测分布

在机器学习当中,我们对模型的训练实际上就是一个参数估计的过程。我们对模型的参数进行调整的过程就是调整模型Q(X)来逼近真实数据P(X)的优化过程

4.1 交叉熵与极大似然估计

极大似然估计

等价于最小化负对数似然

这与逻辑回归中,用极大似然估计推出的损失函数在形式上是一样的,但是实际意义上是不一样的

  • 极大似然估计中的log是为了将连乘计算量简化为连加
  • 极大似然估计:
  • 极大对数似然估计:

log(xyz)=log(x) log(y) log(z);熵中则是为了计算概率对应的信息量引入-log

  • 而且一个是有量纲,一个是没有量纲的(交叉熵中的信息量是有量纲(比特)的,但是极大似然估计中是没有的)
  • 而且极大似然估计中求的是极大值,LR中强行加了一个负号,使其变成了最小值;熵中是为了计算困难程度对应的概率引入-log(如夺冠的概率为frac{1}{8},最后夺冠了,则信息量为-log_2(frac{1}{8})=3比特
sum

0 人点赞