机器学习入门(十三)——决策树(2)

       构建决策树的关键步骤在于特征的选择和划分,那么究竟如何选择最优的划分特征?又如何确定最合适的分割阈值?这些问题是基于信息论中的几个概念解决的,信息熵(information entropy),条件熵(conditional entropy),信息增益(information gain),信息增益率(information gain ratio),基尼指数(Gini index)。

1.0 信息熵(information entropy)

        熵是热力学中的概念,表示混乱程度。熵越大,热力系统中粒子无规则的运动越剧烈;熵越小,粒子越趋近于静止的状态。信息熵是将熵的概念引如到信息论和概率统计中,表示随机变量的不确定度。对于一组数据来说,越随机、不确定性越高,信息熵越大;不确定性越低,信息熵越小

         计算熵,我们需要计算所有类别所有可能值所包含的信息期望值。在一个系统中,有n类的信息,选择第i类信息的概率为p_{i}。基于概率得到信息熵的香农公式:H=-\sum_{i=1}^n p_{i}log(p_{i})。规定0·log(0)=0

       如果是二分类的情况下,则信息熵的计算公式为:H_B=-plog(p)-(1-p)log(1-p)

       举例来看,对于三组数据\left\{ \frac{1}{3}, \frac{1}{3},\frac{1}{3}  \right\} \left\{ \frac{1}{10}, \frac{2}{10},\frac{7}{10}  \right\} \left\{1,0,0 \right\} ,信息熵分别为1.0986,0.8018,0。第一组数据中,概率平均为1/3,是最为混乱的,第三组数据中,概率集中在一类上,是最为确定的。

2.0 条件熵(conditional entropy)

2.1 条件熵的定义

        设有一组随机变量(A,D),条件熵 H(D|A)表示在已知随机变量A的条件下随机变量D的不确定性,即随机变量A有n类信息,此时已经在A中选择了第i类信息,概率为p_{i},那么在此前提条件下D的信息熵就为条件概率分布的熵

H(D|A)=-\sum_{i=1}^n p_{i}H(D|A=i)

2.2 信息熵和条件熵的区别

       通过相亲的例子看一下信息熵和条件熵的区别:

       在上面这个相亲决策树中,特征变量有四个,即A={年龄,长相,收入,公务员},类结果共有两类“见”和“不见”,即D = {见,不见},其中“见”的数量有2个,“不见”的数量有4个,因此“见”发生的概率为1/3,“不见”的发生概率为2/3。那么类的信息熵为:H(D)=-p(见)logp(见)-p(不见)logp(不见)=-\frac{1}{3} log\frac{1}{3}-\frac{2}{3}log\frac{2}{3}=0.6365

       根节点向下,首先在年龄特征上进行判断,得到了一个包含两个子集的结果集 {<=30岁,>30岁}。那么,在“<=30岁”的条件下,“见”的概率为2/5,“不见”的概率变为3/5;在“>30岁”的条件下,“见”的概率为0,“不见”的概率变为1,据此计算条件熵为:H(D|A)=p(A\leq 30)H(D|A\leq 30)+p(A> 30)H(D|A> 30)

                   =\frac{5}{6}(-\frac{2}{5}log\frac{2}{5}-\frac{3}{5}log\frac{3}{5})+\frac{1}{6}(-0log0-1log1)=0.5608

3.0 信息增益(information gain)

        从上例的相亲树可以看出,数据集经过划分前后其熵的值发生了变化,这一变化就称为信息增益。当通过某一特征能够获得最大信息增益,那么这个特征就是最好的选择。

       划分前,类结果集合D的熵(也称经验熵)是为H(D);使用某个特征A划分数据集,划分后的数据子集的条件熵(也称经验条件熵)H(D|A)。则信息增益的表达公式为:g(A,D)=H(D)-H(D|A)

        在决策树的构建过程中,会尝试所有特征划分数据集D,获得所有特征划分数据集D的信息增益汇总(表),从这些信息增益中选择最大的特征作为当前结点的划分特征。但是可以发现,对于待划分的数据集D,其经验熵H(D)是固定的,为找到使得信息增益最大的划分维度只要关注条件熵H(D|A)最小的维度即可。因此,可以判断,为了是信息增益最大,划分特征就会趋于选择取值较多的特征。因为取值多就意味着信息越杂乱,对其划分后得到的信息则确定性越高(条件熵小),则信息增益越大。

4.0 信息增益率

       上一节已经知道信息增益已经可以帮助选择最优划分特征。那么信息增益率有何作用?原因在于,信息增益偏向于选择取值较多的特征,容易造成过拟合,会减弱模型整体的泛化能力,因此采用信息增益率作为划分特征选择的依据。

       信息增益率的定义:特征A对数据集D的信息增益比定义为:其信息增益g(A,D)与类结果D关于特征A的值的熵H_A(D)之比:

g_R(A,D)=\frac{g(A,D)}{H_A(D)}

       注意,这里的H_A(D)是D将当前特征A作为随机变量(取值是特征A的各个特征值),所得的经验熵,H(D|A)是完全不一样。假设变量的A的取值有k类,则选择变量A中第i类信息的概率为p_{A=i},则有:H_A(D)=-\sum_{i=1}^{k}p_{A=i}log(p_{A=i})

       信息增益率的本质是在信息增益的基础之上除以一个惩罚参数。该惩罚参数,是数据集D以特征A作为随机变量的熵,即将特征A取值相同的样本划分到同一个子集中(之前的经验熵均以类结果作为随机变量)。因此,当特征取值个数较多时,特征的经验熵越大,信息增益除以较大的值后会相对变小;反之,特征个数较少时,特征的经验熵越小,信息增益除以较小的值后相对增大。

       信息增益率的特点使其会偏向取值较少的特征。原因在于当特征取值较少时H_A(D)的值较小,因此其倒数较大,使得信息增益比较大,进而偏向取值较少的特征。因此在实际情况中,常常综合信息增益和信息增益率来使用:先在所有特征中找出信息增益高于平均增益水平的特征,然后在这些特征中再选择信息增益率最高的特征。

5.0 基尼系数

       基尼系数(Gini),也被称为基尼不纯度,表示在样本集合中一个随机选中的样本被分错的概率。

       Gini系数越小表示集合中被选中的样本被分错的概率越小,也就是说集合的纯度越高,反之,基尼指数集合越不纯。即:基尼指数(基尼不纯度)= 样本被选中的概率 * 样本被分错的概率Gini=\sum_{i=1}^n p_i(1-p_i)=1-\sum_{i=1}^np_i^2

       当数据集为二分类时,基尼系数Gini=2p(1-p)

       那么对于数据集{A,D},A为特征,D为类结果。按照特征A分类为子集D1,D2...Dn,那么:Gini(A,D)=\sum_{i=i}^n p _{Di}Gini(Di)

       基于A的取值的特征,需要计算以每一个取值作为划分点,所得到的划分后子集(D1,D2...Dn)的纯度Gini(A_i,D),(其中Ai表示特征A的可能取值)。然后从所有可能的Gini(A_i,D)中找出基尼系数最小的划分,这个划分点,便是使用特征A对数据集D进行划分的最佳划分点。

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

推荐阅读更多精彩内容