信息熵 条件熵 信息增益 信息增益比 GINI系数


此文是一些机器学习常用概念的整理,搬运过来的。
另外,细节才是

在信息论与概率统计学中,熵(entropy)是一个很重要的概念。在机器学习与特征工程中,熵的概念也用得很多。

数据(Data)

“承载了信息的东西”才是数据

信息(Information)

信息熵 条件熵 信息增益 信息增益比 GINI系数
信息熵 条件熵 信息增益 信息增益比 GINI系数

  • 信息是用来消除不确定性的东西

信息量(Quantity Of Information)

信息熵 条件熵 信息增益 信息增益比 GINI系数
信息熵 条件熵 信息增益 信息增益比 GINI系数信息熵 条件熵 信息增益 信息增益比 GINI系数
这一大段话主要说了,信息量的计算就是 负的老哥二 P,这个P就是事件发生的概率。

香农公式(Shannon Formula)

信息熵 条件熵 信息增益 信息增益比 GINI系数

信息熵(Information Entropy)

熵是神马东东?信息论的开山祖师爷Shannon说,信息的不确定性可以用熵来表示,即信息熵是信息杂乱程度的描述:
对于一个取有限个值的随机变量X,如果其概率分布为:

信息熵 条件熵 信息增益 信息增益比 GINI系数
那么随机变量X的熵可以用以下公式描述:
信息熵 条件熵 信息增益 信息增益比 GINI系数
Shannon用最简洁美妙的方式,告诉了整个世界信息到底应该怎么去衡量去计算。
今天每个互联网人都知道,这个衡量的标准就是bit。正是由于bit的出现,才引领了我们今天信息时代的到来。所以即使把Shannon跟世界上最伟大的那些科学家相提并论,我觉得也丝毫不为过。
举个例子,如果一个分类系统中,类别的标识是cc,取值情况是c1,c2,⋯,cn,n为类别的总数。
那么此分类系统的熵为:
信息熵 条件熵 信息增益 信息增益比 GINI系数
更特别一点,如果是个二分类系统,那么此系统的熵为:
信息熵 条件熵 信息增益 信息增益比 GINI系数
其中p(c0)、p(c1)分别为正负样本出现的概率。
信息熵 条件熵 信息增益 信息增益比 GINI系数
信息熵 条件熵 信息增益 信息增益比 GINI系数信息熵 条件熵 信息增益 信息增益比 GINI系数
信息熵 条件熵 信息增益 信息增益比 GINI系数
信息熵 条件熵 信息增益 信息增益比 GINI系数

条件熵(Conditional Entropy)

前面我们谈到,信息的不确定性我们用熵来进行描述。很多时候,我们渴望不确定性,渴望明天又是新的一天,希望寻找新的刺激与冒险,所谓的七年之庠就是最好的例子。但是又有很多时候,我们也讨厌不确定性,比如现在的RTB广告,很多时候广告主其实希望不管什么情况下,这个广告位都是归我所有来投广告,别人都别跟我来抢,我把广告素材准备好以后,媒体按排期给我播就行了。所以在这种情况下,我们又要竭力去消除系统的不确定性。
那怎么样去消除系统的不确定性呢?当我们知道的信息越多的时候,自然随机事件的不确定性就越小。举个简单的例子:
如果投掷一枚均匀的筛子,那么筛子出现1-6的概率是相等的,此时,整个系统的熵可以表述为:
信息熵 条件熵 信息增益 信息增益比 GINI系数
如果我们加一个特征,告诉你掷筛子的结果出来是偶数,因为掷筛子出来为偶数的结果只可能为2,4,6,那么此时系统的熵为:
信息熵 条件熵 信息增益 信息增益比 GINI系数
因为我们加了一个特征x:结果为偶数,所以整个系统的熵减小,不确定性降低。
来看下条件熵的表达式:
1.当特征x被固定为值xi时,条件熵为: H(c|x=xi)
2.当特征X的整体分布情况被固定时,条件熵为:H(c|X)
应该不难看出:
信息熵 条件熵 信息增益 信息增益比 GINI系数
其中,n为特征X所出现所有种类的数量。
那么因为特征X被固定以后,给系统带来的增益(或者说为系统减小的不确定度)为:
信息熵 条件熵 信息增益 信息增益比 GINI系数
举个别人文章中例子:文本分类系统中的特征X,那么X有几个可能的值呢?注意X是一个固定的特征,比如关键词”经济”,当我们说特征”经济”可能的取值时,实际上只有两个,要么出现,要么不出现。假设x代表x出现,而x¯表示x不出现。注意系统包含x但x不出现与系统根本不包含xx可是两回事。
因此固定X时系统的条件熵为:
信息熵 条件熵 信息增益 信息增益比 GINI系数
特征X给系统带来的信息增益(IG)为:
信息熵 条件熵 信息增益 信息增益比 GINI系数
式子看上去很长,其实计算起来很简单,都是一些count的操作。
信息熵 条件熵 信息增益 信息增益比 GINI系数
这一项不用多说,就是统计各个类别的概率,将每个类别的样本数量除以总样本量即可。
信息熵 条件熵 信息增益 信息增益比 GINI系数
这一项,p(x)p(x)表示特征在样本中出现的概率,将特征出现的次数除以样本总量即可。
p(ci|x)表示特征出现的情况下,每个类别的概率分别为多少,也全是count操作。p(ci|x¯)操作以此类推。

信息增益(Information Gain)

信息熵 条件熵 信息增益 信息增益比 GINI系数

信息增益做特征选择的优缺点

优点:

  • 1.信息增益考虑了特征出现与不出现的两种情况,比较全面,一般而言效果不错。
  • 2.使用了所有样例的统计属性,减小了对噪声的敏感度。
  • 3.容易理解,计算简单。

缺陷:

  • 1.信息增益考察的是特征对整个系统的贡献,没有到具体的类别上,所以一般只能用来做全局的特征选择,而没法针对单个类别做特征选择。
  • 2.只能处理连续型的属性值,没法处理连续值的特征。
  • 3.算法天生偏向选择分支多的属性,容易导致overfitting。

信息增益比(Infomation Gain Ratio)

前面提到,信息增益的一个大问题就是偏向选择分支多的属性导致overfitting,那么我们能想到的解决办法自然就是对分支过多的情况进行惩罚(penalty)了。
信息增益比主要用在决策树当中,作用是消除多个取值的特征导致的偏差,因为多值特征的信息增益很大,但泛化性能却很差。比如,使用姓名作为特征可以得到较大的信息增益,因为它基本可以把每个人区分开来,但这种区分对于分类显然没什么帮助。这时就可以用信息增益比来一定程度上消除对多值属性的偏向性,但也不能完全消除。
于是我们有了信息增益比,或者说信息增益率:
特征X的熵:
信息熵 条件熵 信息增益 信息增益比 GINI系数
特征X的信息增益 :
信息熵 条件熵 信息增益 信息增益比 GINI系数
那么信息增益比为:
信息熵 条件熵 信息增益 信息增益比 GINI系数
在决策树算法中,ID3使用信息增益,c4.5使用信息增益比。

基尼系数(Gini Coefficient )

https://blog.****.net/yeziand01/article/details/80731078
信息熵 条件熵 信息增益 信息增益比 GINI系数
Gini系数是一种与信息熵类似的做特征选择的方式,可以用来衡量数据的不纯度。在CART(Classification and Regression Tree)算法中利用基尼指数构造二叉决策树。
Gini系数的计算方式如下:
信息熵 条件熵 信息增益 信息增益比 GINI系数
其中,D表示数据集全体样本,pipi表示每种类别出现的概率。取个极端情况,如果数据集中所有的样本都为同一类,那么有p0=1,p0=1,Gini(D)=0,Gini(D)=0,显然此时数据的不纯度最低。
信息熵 条件熵 信息增益 信息增益比 GINI系数
与信息增益类似,我们可以计算如下表达式: 信息熵 条件熵 信息增益 信息增益比 GINI系数
上面式子表述的意思就是,加入特征XX以后,数据不纯度减小的程度。很明显,在做特征选择的时候,我们可以取ΔGini(X),ΔGini(X)最大的那个