机器学习基础(7)- 决策树启发函数及剪枝方法介绍

本文用于记录决策树相关的启发函数及剪枝技巧,主要用于自我温习回顾基础。

基本目录如下:

  1. 启发函数的类型
    1.1 ID3 - 最大信息增益
    1.2 C4.5 - 最大信息增益比
    1.3 CART - 最大基尼指数
    1.4 总结

  2. 剪枝处理
    2.1 预剪枝
    2.2 后剪枝

------------------第一菇 - 启发函数的类型------------------

1.1 信息增益

决策树是一种十分常见的传统机器学习方法,而其最核心的部分即为如何选择最优划分属性。我们最后的期望肯定是其最后叶结点所包含的样本尽可能属于同一类别,即最后的“纯度”越来越高。而“信息熵(information entropy)”就是度量样本集合的一种指标。

假定当前样本集合D中第k类样本所占的比例为p_k(k = 1,2,...|y|),则D的信息熵定义为,

H(D) = \sum_{k=1}^{|y|}p_klog_{2}p_k

其中若p=0,则其对应的p_klog_{2}p_k=0

然后计算某个特征A对于数据集D的经验条件熵H(D|A)为,

H(D|A) = \sum_{i=1}^{n}\frac{|D_i|}{|D|}(-\sum_{k=1}^{k}\frac{|D_{ik}|}{|D_i|}log_2\frac{|D_{ik}|}{|D_i|})

其中,D_i表示D中特征A取第i个值的样本子集,D_{ik}表示D_i中属于第k类的样本子集。

于是用A特征作为划分结点的信息增益即可以计算为,

g(D,A) = H(D) - H(D|A)

公式看着很绕,但其实理解起来真的很简单。注意上式括号外的部分,其实计算的就是用特征A划分的数据集的占比,该值的作用其实就是加权求平均(指用A划分的每一个子集的信息熵)。而括号内计算的就是每一个小集合的信息熵。因此,该式子其实就想计算,当用A作为特征值,划分数据集以后,数据整体的信息熵是多少~而信息增益就是数据的“混乱”程度下降了多少(即俩者差值)!而每选取一个特征值,都选择能带来最大信息增益的特征值的决策树的启发函数,就是著名的ID3决策树学习算法。初学者可以找一个例子,手算走一遍流程,加深理解(似乎这应该是决策树课后必做习题😄)~

1.2 最大信息增益比

上面的最大信息增益算法看似完美,但其实还有很多不足的情况。举一个极端的例子,如果我们把样本的ID值作为特征值进行划分,则显然每一个样本都只会属于一个叶结点(类别),每一个分支结点的纯度都为0,显然是信息增益最大的一个特征值!但,实际上,没有人会直接拿这种特征进行类别划分,主要原因就是,完全过拟合了,不具有泛化能力,基本就是个废模型~而这也是信息增益的一个弊端,即他会对可取值数目较多的属性有所偏好,为减少这种偏好带来的不利影响,就有了C4.5决策树算法,即利用“增益率”来选择最优特征值。

增益率的定义如下,

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

其中,

H_A(D) = -\sum_{i=1}^{n}\frac{|D_i|}{|D|}log_2\frac{|D_i|}{|D|}

该式子可以理解为数据集D关于A的取值熵,大家显然可以发现,该增益率的算法会对取值数目较少的属性有所偏好哈哈~因此,C4.5算法并不是直接选择增益率最大的特征值,而是与最大信息增益相结合的一种启发式算法。即从信息增益大于一定阈值的特征值里面,再去挑选一个信息增益率最高的~

1.3 基尼指数

基尼(Gini)也是描述数据的纯度的另一种表示,与信息熵的含义类似,其可以定义为,

Gini(D) = 1 - \sum_{k=1}^{n}(\frac{|C_k|}{|D|})^{2}

其中,C_k指的是样本集合D中属于第k类的样本子集。简单来说,Gini(D)反映了从数据集D中随机抽取俩个样本,其类别标记不一致的概率。因此,其值越小,则表示数据集D的纯度越高。跟上面的熵增益一样,当选择特征值A时,其基尼指数定义为,

Gini(D|A) = \sum_{i=1}^{n}\frac{|D_i|}{|D|}Gini(D_i)

因此,每一次选择特征值划分的时候,我们都选基尼指数最小的那一个即可~值得注意的是,CART(Classification and Regression Tree)本身是一颗二叉树,采用的二元切割法,每一步将数据按照特征A的值切成两份,分别进入左右子树,因此,其天然也适用于连续型变量和回归任务。

1.4 总结

上面介绍的三种方法,在实际的应用场景中可以说各有千秋~上面也提到了,C4.5是对ID3的一个很好的补充,避免其过拟合,能提升泛化能力~

另外,从样本类型的角度看,ID3只能处理离散型变量,而C4.5和CART都可以处理连续型变量~C4.5就是将连续型变量转换为多个取值区间的离散型变量~

从应用角度来说,ID3和C4.5都只能用于分类任务(信息熵得有类别的概念才能计算把),而CART可以应用于回归任务(取特征值的时候,用最小平方误差准则)。

从定义上来理解,其实都很简单,但具体到实战中的时候,需要仔细琢磨选型,针对不同场景灵活变通~

------------------第二菇 - 剪枝技巧------------------
对于决策树而言,剪枝操作其实就是为了防止过拟合的,一般我们都会通过一些主动的剪枝手段来维持模型的鲁棒性~

2.1 预剪枝

西瓜书上的定义:预剪枝是指在决策树生成过程中,对每个结点在划分前先进行估计,若当前结点的划分不能带来决策树泛化性能的提升,则停止划分并将当前结点标记为叶结点。

预剪枝的思想比较直接暴力,一般比较依赖于经验判断(存在一定欠拟合的风险),其主要的几个方法包括,

1)当树达到一定深度的时候,停止树的生长。

2)当某一结点的样本数量小于一定阈值的时候,停止树的增长。

3)计算每一次分裂的准确率的提升,当小于一定阈值的时候,停止树的增长。

2.2 后剪枝

西瓜书上的定义:后剪枝是指从训练集生成一棵完整的决策树,然后自底向上地对非叶结点进行考察,若将该结点对应的子树替换为叶结点能带来决策树泛化性能的提升,则将该子树替换为叶结点。

相比于预剪枝,后剪枝的方法通常可以得到泛化能力更强的决策树(毕竟其事先已经先生成了一颗完全生长的决策树,避免了一些欠拟合的风险,代价就是时间开销更大)。因此具有更高的准确性,所以大量的研究都集中在这一块,想一口气全部讲完也是不可能的,比较著名的有错误率降低剪枝(REP),悲观剪枝(PEP),代价复杂度剪枝(CCP)等,其方法都各有利弊,优化的角度也各不相同。有兴趣的同学可以多多深入了解一些~这里就不具体展开了~

至此,涉及决策树中的一些核心概念已经全部回顾完成了~希望大家读完本文后对决策树的一些概念会有一个全新的认识。有说的不对的地方也请大家指出,多多交流,大家一起进步~😁

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

推荐阅读更多精彩内容