认真的聊一聊决策树和随机森林


随机森林是一种简单又实用的机器学习算法。

“随机“表示2种随机性,即每棵树的训练样本、训练特征随机选取。

多棵决策树组成了一片“森林”,计算时由每棵树投票或取均值的方式来决定最终结果,体现了三个臭皮匠顶个诸葛亮的中国传统民间智慧。

那我们该如何理解决策树和这种集成思想呢?

1、决策树

以分类任务为代表的决策树模型,是一种对样本特征构建不同分支的树形结构。

决策树由节点和有向边组成,其中节点包括内部节点(圆)和叶节点(方框)。内部节点表示一个特征或属性,叶节点表示一个具体类别。

预测时,从最顶端的根节点开始向下搜索,直到某一个叶子节点结束。下图的红线代表了一条搜索路线,决策树最终输出类别C。

决策树的特征选择

假如有为青年张三想创业,但是摸摸口袋空空如也,只好去银行贷款。

银行会综合考量多个因素来决定是否给他放贷。例如,可以考虑的因素有性别、年龄、工作、是否有房、信用情况、婚姻状况等等。

这么多因素,哪些是重要的呢?

这就是特征选择的工作。特征选择可以判别出哪些特征最具有区分力度(例如“信用情况”),哪些特征可以忽略(例如“性别”)。特征选择是构造决策树的理论依据。

不同的特征选择,生成了不同的决策树。

决策树的特征选择一般有3种量化方法:信息增益、信息增益率、基尼指数

信息增益

在信息论中,表示随机变量不确定性的度量。假设随机变量X有有限个取值,取值xi对应的概率为pi,则X的熵定义为:

如果某件事一定发生(太阳东升西落)或一定不发生(钓鱼岛是日本的),则概率为1或0,对应的熵均为0

如果某件事可能发生可能不发生(天要下雨,娘要嫁人),概率介于0到1之间,熵大于0。

由此可见,熵越大,随机性越大,结果越不确定

我们再来看一看条件熵表示引入随机变量Y对于消除X不确定性的程度。假如X、Y相互独立,则X的条件熵和熵有相同的值;否则条件熵一定小于熵。

明确了这两个概念,理解信息增益就比较方便了。现在我们有一份数据集D(例如贷款信息登记表)和特征A(例如年龄),则A的信息增益就是D本身的熵与特征A给定条件下D的条件熵之差,即:

数据集D的熵是一个常量。信息增益越大,表示条件熵越小,A消除D的不确定性的功劳越大。

所以要优先选择信息增益大的特征,它们具有更强的分类能力。由此生成决策树,称为ID3算法

信息增益率

当某个特征具有多种候选值时,信息增益容易偏大,造成误差。引入信息增益率可以校正这一问题。

信息增益率为信息增益与数据集D的熵之比:

同样,我们优先选择信息增益率最大的特征,由此生成决策树,称为C4.5算法。

基尼指数

基尼指数是另一种衡量不确定性的指标。

假设数据集D有K个类,样本属于第K类的概率为pk,则D的基尼指数定义为:

其中:

Ck是D中属于第k类的样本子集。

如果数据集D根据特征A是否取某一可能值a被分割成D1和D2两部分,则在给定特征A的条件下,D的基尼指数为:

容易证明基尼指数越大,样本的不确定性也越大,特征A的区分度越差。

我们优先选择基尼指数最小的特征,由此生成决策树,称为CART算法

决策树剪枝

决策树生成算法递归产生一棵决策树,直到结束划分。什么时候结束呢?

  • 样本属于同一种类型
  • 没有特征可以分割

这样得到的决策树往往对训练数据分类非常精准,但是对于未知数据表现比较差。

原因在于基于训练集构造的决策树过于复杂,产生过拟合。所以需要对决策树简化,砍掉多余的分支,提高泛化能力。

决策树剪枝一般有两种方法:

  • 预剪枝:在树的生成过程中剪枝。基于贪心策略,可能造成局部最优
  • 后剪枝:等树全部生成后剪枝。运算量较大,但是比较精准

决策树剪枝往往通过极小化决策树整体的损失函数实现

假设树T有|T|个叶子节点,某一个叶子节点t上有Nt个样本,其中k类的样本有 Ntk个,Ht(T)为叶子节点t的熵,alpha是参数,则决策树的损失函数定义为:

其中熵为:

损失函数第一项为训练误差,第二项为模型复杂度,用参数alpha来衡量二者的比重。

CART算法

CART表示分类回归决策树,同样由特征选择、树的生成及剪枝组成,可以处理分类和回归任务。

相比之下,ID3和C4.5算法只能处理分类任务

CART假设决策树是二叉树,内部结点特征的取值为“是”和“否”,依次递归地二分每个特征。

CART 对回归树采用平方误差最小化准则,对分类树用基尼指数最小化准则

2、bagging集成

机器学习算法中有两类典型的集成思想:bagging和bossting。

bagging是一种在原始数据集上,通过有放回抽样分别选出k个新数据集,来训练分类器的集成算法。分类器之间没有依赖关系。

随机森林属于bagging集成算法。通过组合多个弱分类器,集思广益,使得整体模型具有较高的精确度和泛化性能

3、随机森林

我们将使用CART决策树作为弱学习器的bagging方法称为随机森林

随机森林

由于随机性,随机森林对于降低模型方差效果显著。故随机森林一般不需要额外剪枝,就能取得较好的泛化性能。

相对而言,模型对于训练集的拟合程度就会差一些,相比于基于boosting的GBDT模型,偏差会大一些。

另外,随机森林中的树一般会比较深,以尽可能地降低偏差;而GBDT树的深度会比较浅,通过减少模型复杂度来降低方差(面试考点)

最后,我们总结一下随机森林都有哪些优点:

  • 采用了集成算法,精度优于大多数单模型算法
  • 在测试集上表现良好,两个随机性的引入降低了过拟合风险​
  • 树的组合可以让随机森林处理非线性数据
  • 训练过程中能检测特征重要性,是常见的特征筛选方法​
  • 每棵树可以同时生成,并行效率高,训练速度快
  • 可以自动处理缺省值​

如果您觉得这篇文章对您有帮助,欢迎点赞,让更多的人也能看到这篇内容 ❤️

关注公众号「NLP情报局」,第一时间阅读自然语言处理、机器学习算法热乎干货~

参考资料

[1] 随机森林原理介绍与适用情况(综述篇)

[2] 李航《统计学习方法》第二版,第五章 决策树.(p67-p88)

推荐阅读

[1] 从BERT、XLNet到MPNet,细看NLP预训练模型发展变迁史

[2] 文本匹配利器:从孪生网络到Sentence-BERT综述

[3] 万万没想到,BERT学会写SQL了

[4] 天池NLP赛道top指南

[5] 如何通俗易懂地让女朋友明白什么是语言模型?

[6] K近邻算法哪家强?KDTree、Annoy、HNSW原理和使用方法介绍

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

推荐阅读更多精彩内容