熵Entorpy和信息增益InformationGain

本文内容是机器学习中决策树的基础知识,当然如果你有兴趣了解并且具备简单的概率知识,也可以看懂,不妨先看看能赢100元的小球问题。阅读本文共需10秒或十分钟或n小时?

包括以下内容

  • 什么是熵
  • 熵的计算方法
  • 熵的范围
  • 什么是IG
  • IG的计算方法

从小球问题开始

做个游戏,用时半分钟,获胜可得100元钱。三个盒子,初始设置如下图所示,box1中4红,box2中3红1蓝,box3中2红2蓝
游戏规则:随机取出并放回小球四次
获胜条件:取出的组合恰好等于小球的初始设置。
求获胜概率是多少?
如:
四红球,全部抽中红球的概率;
3红1蓝的组合中,抽4次,抽出3红1蓝的概率(顺序不重要)

先只看左侧三列

我们所求的结果就是上图中的Pwinning列。三种情况的结果分别是1、0.105、0.0625。你算对了么?

问题来了,当我们有很多的小球(成千上万)时,计算概率将会非常困难,因为一堆小数相乘结果就太小了。所以我们用高级一点的方法,用概率p的负对数(底为2),上图蓝色Pwinning列,再求一下平均值,看下结果,是不是直观多了。熵Entropy和概率P似乎成反比,出现的概率越小熵越大,一定出现的组合E4red=0
使用计算器,如在python中,log要调用math包

#python
import math
math.log(8,2) #这个就是log2底8,底数写后面

我们当前使用的熵定义为:以我们赢得游戏的概率的负对数的平均值。

目前的熵Entropy公式

你也许会疑惑,怎么忽然变成系数p1和p2了?其实他们的用处就相当于上面的案例中求均值用到的权重。我们看上图1中3红1蓝行的最后一列0.81,计算过程如下

3/4*0.415+1/4*2=0.81125

quiz:计算5红3蓝的熵

计算5红3蓝的熵

红球出现的概率是5/8,蓝球出现的概率是3/8,对两个负对数取平均值,就是上面的0.9544


拓展到m和n来表示概率P

再考虑到可能不止两种情况,更进一步拓展到多分类,于是我们可以计算任意数量n组合的熵


这才是正儿八经的熵公式,其实和之前的也差不多

Quiz:三种情况的分类熵计算,8红3蓝2黄求熵?

-8/13*math.log(8/13,2)-3/13*math.log(3/13,2)-2/13*math.log(2/13,2)
1.3346791410515946

熵的取值范围?

当所有元素都相同时,熵最小,当所有元素都彼此不同,熵最大
例如,4球4色,每一种的概率为0.25,代入上面的公式,经过计算此时最大熵为2;5球5色,E=2.3219

所以熵的范围=[0,logN]

  • 0:所有元素都具有相同的情况;
  • logN,共有N个元素,所有元素均不相同

到这里都没放弃,那你已经会计算熵了,我们向下推进。当我们把4红4蓝8个小球分开(此时混在一起的状态我们称它为父节点,父节点的熵是多少?Eparent=1),我们根据颜色分成两个子组, 组child_A 4红,组child_B 4蓝,此时每一子组的熵是多少?Echild_A=Echild_B=0.
可以看到,小球根据 颜色 分开,从充分混合的一组4红4蓝,变成了颜色统一的两组。这一过程熵从1变成0。颜色就是十分有用的信息。熵的变化Change in Entropy就是信息增益Information Gain

信息增益information Gain

informationGain=Change in Entropy
可以简单地理解为信息产生的价值,体现在熵产生了变化,当熵从一个较大值变成一个较小值,那中间的过程就是有价值的。

  • 完全没价值IG=0
  • 有价值IG>0
IG公式

Eparent-Echild(就是公式中[]内的内容,每个子节点熵的加权平均值)

举个例子:下图是的性别、职业、下载软件的数据,根据那个条件预测下载软件更合理?性别还是职业?


父节点的熵Eparent=1.46
子节点熵Echlid=0.92,按性别划分IG=0.54
根据职业信息增益IGocc=1

如果按occupation职业划分,则IG=1,是非常有效的划分方法


IG的取值范围?自己想想看

IG最小值,我们知道,当划分的信息完全没有产生作用,完全没有价值,此时的IG=0,所以最小值是已知的。
IG的最大值,根据上面的公式我们可以知道,当Ep最大,并且Echild的加权平均数最小,这就是IG的最大值。已知Echild最小就是0,那剩下的问题就是Ep最大。问题就变成了熵的最大值,也就是logN。

Quiz:求下图中职业的信息增益IGocc


quiz

数量:Np=5 Nw=3 Ns=3
概率:Pp=5/11 Pw=3/11 Ps=3/11
数量:Nstudy=4 Nwork=7
Nstudy_pok=4 Nwork_whats=3 Nwork_sn=3 Nwork_pg=1
概率:Pww=3/7 Pws=3/7 Pwp=1/7 Pstudy=4/11 Pwork=7/11

Eparent = -Pp*math.log(Pp,2)-Pw*math.log(Pw,2)-Ps*math.log(Ps,2)=1.539
Estudy = 0 # 因为全是pok
Ework = -Pww*math.log(Pww,2)-Pws*math.log(Pws,2)-Pwp*math.log(Pwp,2)=1.449

### 注意此处的Pstudy和Pwork是子节点的权重,为了求子节点的加权平均值
IG=Eparent-(Pstudy*Estudy+ Pwork*Ework)=1.539-(4/11*0+7/11*1.449)=0.617

此题总结一下,计算IG的方法:

  1. 要有两个层级的熵,父节点 和 子节点
  2. 子节点的熵的平均值权重要注意,m/(m+n)。Pstudy=4/(4+3+3+1)=4/11,Pwork=(3+3+1)/(3+3+1+4)=7/11

全文总结

决策树进行决策的一种依据是信息增益IG,而IG的计算离不开熵Entropy。熵就是用来描述组合混乱程度的概率P的升级版(案例:小球)。就是这样的环环相扣,用来帮助决策树最终做出决策。

Quiz for Maximizing Information Gain

For the following quiz, consider the data found in this file, consisting of twenty-four made-up insects measured on their length and color.

哪种分割为区分Mobugs和Lobugs提供了最高的IG?

最高的IG值是多少?

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,686评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,668评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,160评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,736评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,847评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,043评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,129评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,872评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,318评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,645评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,777评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,861评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,589评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,687评论 2 351