ML-信息熵&交叉熵&条件熵&相对熵(KL散度)&互信息

  • 设随机变量X,有n个事件$x_i$ –> $x_n$,概率分布为$p(x)$

信息

  • 某随机变量X取值为xi的信息为 $I(X=xi)=log_2( 1 / p(x_i) ) = - log_2p(x_i)$
  • 某事件xi的信息代表这个事件能提供的信息,一个发生概率越小的事件能够提供的信息量越大。

信息熵

  • 信息代表一个事件的不确定性,信息熵是整个随机变量X不确定性的度量:信息的期望。
  • 信息熵只与变量X的分布有关,与其取值无关。例如二分类中,两取值的概率均为0.5时,其熵最大,也最难预测某时刻哪一类别会发生。
  • 如何通俗的解释交叉熵与相对熵?
  • 对于一个系统而言,若获知其真实分布,则我们能够找到一个最优策略,以最小的代价来消除系统的不确定性,而这个最小的代价(猜题次数、编码长度等)就是信息熵。

条件熵

  • 给定条件X下,Y的分布(Y|X)的熵对X的数学期望:$H(Y|X)=\sum_x p(x)H(Y|X=x)$, 即给定条件分布下的信息熵对某个条件的数学期望
  • 在ML中,即选定某个特征X(X有n类)后,label(Y)的条件概率熵求期望:给定X特征的条件下Y的信息熵。
  • 条件熵越小,代表在这个特征下,label的信息熵越小,也就是说要解决问题的代价越小。

信息增益 - ID3

  • $IG(Y|X)=H(Y)-H(Y|X)$ 信息熵-条件熵
  • 在决策树中作为选择特征的指标,IG越大,这个特征的选择性越好,也可以理解为:待分类的集合的熵和选定某个特征的条件熵之差越大,这个特征对整个集合的影响越大。
  • 对于条件熵来说,条件熵越小,分类后的纯度越高,但是问题是:X的取值越多,每个取值下Y的纯度越高,H(Y|X)越小,但此时并不有利于Y的区分。信息增益也是如此。–> 信息增益率。

信息增益率/信息增益比 — C4.5

  • 信息增益 / 条件的信息熵
  • 偏好取值少的特征。C4.5:先选择高于平均水平信息增益的特征,再在其中选择最高信息增益率的特征。见Decision Tree

基尼不纯度 — CART

  • GINI:先对特征分区,对每个区中的label求gini系数,pk(1-pk);然后对每个区的基尼系数求期望
  • 表示数据的不纯度。既有分类也有回归,既要确定特征,也要确定特征的分叉值。
  • Decision Tree

交叉熵

  • 前面提到:信息熵是最优策略下,消除系统不确定性的最小代价。这里的前提是:我们得到了系统的真实分布。
  • 实际中,一般难以获知系统真实分布,所以要以假设分布去近似。交叉熵:用来衡量在给定的真实分布下,使用非真实分布所指定的策略消除系统的不确定性所需要付出的努力的大小。$CEH(p,q)=\sum_{k=1}^np_k\log_2\frac{1}{q_k}$,注意这里log中是q,是基于非真实分布q的信息量对真实分布的期望。
    当假设分布$q_k$与真实分布$p_k$相同时,交叉熵最低,等于信息熵,所以得到的策略为最优策略。
  • 在机器学习中的分类算法中,我们总是最小化交叉熵,因为交叉熵越低,就证明由算法所产生的策略最接近最优策略,也间接证明我们算法所算出的非真实分布越接近真实分布。
    • 例如:在逻辑斯蒂回归或者神经网络中都有用到交叉熵作为评价指标,其中p即为真实分布的概率,而q为预测的分布,以此衡量两不同分布的相似性。
  • 如何衡量不同策略的差异:相对熵

相对熵/K-L散度

  • 用来衡量两个概率分布之间的差异。两者相同相对熵为0
  • 使用非真实分布q的交叉熵,与使用真实分布p的的信息熵的差值:相对熵,又称K-L散度。
  • KL(p, q) = 交叉熵(p, q) - 信息熵(p)
    $KL(p,q)=CEH(p,q)-H(p)=\sum_{i=1}^np(x_i)\log\frac{p(x_i)}{q(x_i)}$

联合熵

  • H(X,Y) 随机变量X,Y联合表示的信息熵

互信息

  • H(X;Y)俩变量交集,也记作I(X;Y)
  • H(X;Y) = H(X,Y)-H(Y|X)-H(X|Y)
  • I(X;Y)=KL(P(X,Y), P(X)P(Y))
  • 互信息越小,两变量独立性越强,P(X,Y)与P(X)P(Y)差异越小,P(X,Y)与P(X)P(Y)的相对熵越小