美文网首页
决策树(一):信息熵

决策树(一):信息熵

作者: 哈劳斯军士 | 来源:发表于2017-05-10 23:35 被阅读402次

信息是我们一直在谈论的东西,但信息这个概念本身依然比较抽象。但信息可不可以被量化,怎样量化?
答案当然是有的,那就是“信息熵”。早在1948年,香农(Shannon)在他著名的《通信的数学原理》论文中指出:“信息是用来消除随机不确定性的东西”,并提出了“信息熵”的概念(据说是冯诺依曼建议他借用了热力学中熵的概念),来解决信息的度量问题。

概率和“信息量”

首先我们可以简单地认为,一个事件发生的概率越小,“信息量”就越大(这里的信息量的定义非常不严谨,实际上不同于机器学习中信息量的概念,但便于理解先这样认为)。例如:“太阳从东边升起”,几乎是一件确定的事,包含的信息量很小;“2018中国队勇夺世界杯”则包含的信息量很大。当一件事确定会发生的话,则这件事的信息量为0,反之信息量则很大。
基于这种假设,我们可以认为,“信息量”的大小和概率负相关。

其次我们假设两个独立事件同时发生的概率:
![][equtation1]
[equtation1]: http://latex.codecogs.com/svg.latex?p(x,y)=p(x)*p(y)

两个事件分别发生的概率之积,但是同时发生的信息量则是两者信息量之和。从这个角度出发,我们可以认为:

![][equtation2]
[equtation2]: http://latex.codecogs.com/svg.latex?-ln(p(x,y))=-log(p(x))-log(p(y))

现在我们考虑随机事件X,假设存在这样的情况:

X 0 1
P 1-p p
“信息量” -log(1-p) -log(p)

那么我们如果要求“信息量”的期望的话:

![][equtation3]
[equtation3]: http://latex.codecogs.com/svg.latex?E(info)=-plog(p)-(1-p)log(1-p)=-\sum_{i=1}^{n}p_{i}logp_{i}

这样一来我们就导出了信息熵的定义:

![][equtation4]
[equtation4]: http://latex.codecogs.com/svg.latex?H(X)=-\sum_{i=1}^{n}p(x_{i})logp(x_{i})

而且对于一个二元信源(Bernoulli事件):

也就是说,一个事情“确定不发生”,和“确定发生”包含的“信息量”的期望都很小,而当发生的概率为0.5时,包含的“信息量”的期望最大。

对于离散型变量信息熵永远是非负数,它的单位为(bit);对于连续型变量,信息熵有可能是负数(在微分意义上),但这里我们暂不考虑。

联合熵 H(X,Y)

联合熵的概念很好理解,结合联合概率密度分布,有:
![][equtation7]
[equtation7]: http://latex.codecogs.com/svg.latex?H(X,Y)=-\sum_{j=1}{m}\sum_{i=1}{n}p(x_{i},y_{j})logp(x_{i},y_{j})

条件殇 H(Y|X)

首先我们定义:在X给定条件下,Y的平均不确定性

设有随机变量(X,Y),其联合概率分布为:
![][equtation5]
[equtation5]: http://latex.codecogs.com/svg.latex?p(X=x_{i},Y=y_{j})=p_{ij}

对应条件概率公式:
![][equtation6]
[equtation6]: http://latex.codecogs.com/svg.latex?P(X|Y)=\frac{P(XY)}{P(Y)}

有链规则
![][equtation9]
[equtation9]: http://latex.codecogs.com/svg.latex?H(Y|X)=H(X,Y)-H(X)
我们可以得到条件熵的定义:

根据定义我们可以得到:

举个例子:

设随机变量Y={嫁,不嫁},我们可以统计出,嫁的概率为6/12 = 1/2,那么Y的熵,根据熵的公式来算,可以得到H(Y) = -1/2log1/2 -1/2log1/2 = 0.69。

我们现在还有一个变量X,代表长相是帅还是帅,当长相是不帅的时候,统计如下红色所示:

可以得出,当已知不帅的条件下,满足条件的只有4个数据了,这四个数据中,不嫁的个数为1个,占1/4;嫁的个数为3个,占3/4。
那么此时的H(Y|X = 不帅) = -1/4log1/4-3/4log3/4 = 0.56
同理我们可以得到:H(Y|X = 帅) = -5/8log5/8-3/8log3/8 = 0.66
p(X = 帅) = 8/12 = 2/3

有了上面的铺垫之后,我们终于可以计算我们的条件熵了(其实我觉得挺奇怪的,这种写法非常类似于边缘条件概率):

H(Y|X=长相)= p(X =帅)*H(Y|X=帅)+ p(X =不帅)*H(Y|X=不帅) = 0.62

相对熵

相对熵又称互熵,交叉熵,鉴别信息,Kullback熵,Kullback-Leible散度(即KL散度)等。设p(x)和q(x)是X的两个概率密度分布,则p对q的相对熵为:


在一定程度上,熵可以度量两个随机变量的距离。KL散度是两个概率分布P和Q差别的非对称性的度量。KL散度是用来度量使用基于Q的编码来编码来自P的样本平均所需的额外的位元数。 典型情况下,P表示数据的真实分布,Q表示数据的理论分布,模型分布,或P的近似分布,所以相对殇可以用来表征模型的损失函数。

相对熵的性质

  1. 尽管KL散度从直观上是个度量或距离函数,但它并不是一个真正的度量或者距离,因为它不具有对称性,即:
  2. 相对熵的值为非负值,即:



    上述不等式可以通过吉布斯不等式(是不是Gibbs自由能那个吉布斯?)证明,这里就不再赘述了。

  3. 某些情形下,min(KL散度)作为目标函数,和最大似然估计MLE,是等价的,证明略。

相对熵的应用

相对熵可以衡量两个随机分布之间的距离,当两个随机分布相同时,它们的相对熵为零;当两个随机分布的差别增大时,它们的相对熵也会增大。所以相对熵(KL散度)可以用于比较文本的相似度,先统计出词的频率,然后计算KL散度就行了。另外,在多指标系统评估中,指标权重分配是一个重点和难点,通过相对熵可以处理。

互信息

定义:两个随机变量X,Y的互信息,就是X,Y的联合分布和独立分布乘积的相对熵。
![][equtation10]
[equtation10]: http://latex.codecogs.com/svg.latex?I(X,Y)=D(P(X,Y)||P(X)P(Y))
![][equtation11]
[equtation11]: http://latex.codecogs.com/svg.latex?I(X,Y)=\sum_{x,y}p(x,y)log\frac{p(x,y)}{p(x)p(y)}

不难发现如果X,Y完全独立,则互信息I(X,Y)为0,不独立,则大于零。

互信息的物理意义:

这一节的内容比较简单,主要围绕信息熵,很明显它可以构建分类器的目标函数或是损失函数,下一节我们将会具体介绍决策树的概念和几种实现方案。

相关文章

  • 机器学习之决策树

    决策树 通过构造决策树来区分鸢尾花 须知概念 信息熵 -- 表示信息混乱程度,信息越杂乱,熵值越大,信息越有序,熵...

  • 决策树(Decision Tree)算法

    1 理论部分 需要弄清楚几个概念信息熵,决策树,决策树优化, 剪枝 ,决策树可视化 1 信息熵(Entropy 单...

  • 决策树及ID3算法实现

    什么是决策树 决策树和if-else的不同 节点的划分 信息增益(ID3)熵条件熵经验熵和经验条件熵信息增益算法描...

  • ID3与C4.5算法

    写在开始 在开始决策树算法之前,我们需要准备一些信息论的知识: 信息熵 条件熵 信息增益 交叉熵 相对熵 信息熵 ...

  • 2 决策树理论细节

    1 信息熵 1.1 条件熵 1.2 信息增益 1.3 信息增益率和基尼系数 2 决策树 3 决策树的评价、剪枝和过...

  • 决策树算法梳理

    决策树算法梳理 1. 信息论基础(熵 联合熵 条件熵 信息增益 基尼不纯度) 1.1 熵 (entropy)...

  • 【数据科学家学习小组】之机器学习第一期第七周作业

    决策树分析是一种什么算法? 决策树算法利用了信息熵和决策树思维: 信息熵越小的数据集,样本的确定性越高,当数据集的...

  • 决策树与随机森林(一)

    转自小象学院 我的学习笔记 1. 复习信息熵:熵,联合熵、条件熵、互信息 2. 决策树学习算法:信息增益 | ID...

  • 信息熵相关知识总结

    前言 学习决策树时会接触到一些信息熵,条件熵和信息增益的知识,此外还有互信息,相对熵,交叉熵和互信息,KL散度等等...

  • 02 决策树 - 初识与构建

    在讲决策树之前补充了一些基本概念:比特化、信息熵、条件熵,重点理解熵的概念。本章开始正式进入机器学习模型-决策树。...

网友评论

      本文标题:决策树(一):信息熵

      本文链接:https://www.haomeiwen.com/subject/hxagzttx.html