决策树在机器学习的理论学习与实践

决策树,是一种传统机器学习算法,也是机器学习的入门算法之一。在它的基础上,衍生了随机森林、GBDT、XGBOOST等在CTR领域效果极佳的算法,因此,对它的学习可视为通向高级算法的必经之路,同时,它具有极强的可解释性,可应对回归与分类问题,也视为商业应用展示的不二之选。对学习算法的入门者来说,了解决策树很有必要,为此,飞马网于3月27日晚,邀请到毕业于美国密苏里大学机器视觉实验室的黄楷老师进行线上直播,黄老师向大家分享了关于决策树的相关理论与实践应用。


以下是本次分享的主要内容:


一.简介

1.在看简介之前,我们先讨论几个基础问题:

机器学习包括有监督学习和无监督学习。有监督学习是明确地表明每个样本的类别或数值,在有监督学习之下,又分为分类和回归问题,分类问题表示预测每个样本的类别,而回归问题表示预测每个样本的具体数值。无监督学习并没有给出样本的类别或数值,它会通过一系列的算法进行聚类。

今天我们要学习的决策树属于有监督学习,它可以处理分类和回归两个问题。

2.决策树简介:


上面这张图片就是决策树的简介,大家可以先简单了解一下,后面会有深入的探索。


二.决策树的结构


我们可以看到上图左是一个非常基本的树形结构,学习数据结构的人对此一定很熟悉。我们重点看头部的根节点,下面的叶子节点代表分类后的结果,下面的分支代表数据的判定条件,例如第一层是大于0.99、大于1.20、大于3.20等。


三. 决策树使用的阶段


1.在我们使用决策树的时候,分为两个阶段:训练阶段和分类阶段。


训练阶段我们会通过已有的数据训练一个模型,分类阶段我们会通过模型进行数据的预测,通常我们会将数据随机分为十个部分,将八个部分进行训练,取两个进行测试,测试的数据不会出现在我们的训练数据中,我们最终的结果也是以测试的数据为准,最后通过一个交叉验证,得到准确率。


2.例子:

下面我们通过一个国外信用卡的例子来进行学习。


第一列表示数据的ID,第二列表示是否有退税,第三列表示婚姻状态(单身、离异、已婚),第四列表示纳税收入,第五列就是我们要预测的。

严重的话,可理解为这个人是否有过信用卡诈骗记录,不严重的话,可理解为是否信用卡有逾期等等。

我们可以称这里的数据有十个样本、三个属性,“categorical”表示数据是离散的,“continuous”表示数据是连续的,“class”表示我们要预测的类别。

通过一系列的感性认识,同学甲可能会构建出上图右的决策树,黄色的字指判定的是哪一列,箭头上的值指的是判别的值,蓝色的字指预测的结果。




对于同学甲这个模型,我们来看一看他是怎么判别的:





这时候同学乙可能会觉得不大满意,他认为婚姻可能是最重要的,就把婚姻放在决策树的第一位:

以上的这个例子是对决策树的感性理解,通过对每一步进行判别,来得到最终的目的。


四.如何理性地建立决策树

下面我们来进行理性的思考,到底如何去建立决策树?

1.建立决策树的基本步骤:


对于树的截止问题,从上图中我们得知,它有两个结束的条件,一是所有的叶子节点属于同一类别,二是所有的备选属性已经选完。当达不到结束条件时,我们就会选择一个最佳的属性来进行构建。


2.例子:








由于之前的最优节点都是想出来的,因此就会遇到另外的问题,“如何去选择最优节点?”和“选择节点时遇到连续性数据时,如何处理?”


3.如何去选择最优节点:

接下来,我们攻克一下这些问题。首先引入一个概念—信息熵。它是一个物理概念,主要描述信息的混乱程度,熵越大,信息越混乱,它的公式如下图所示。


下面是信息熵的一些特性:



在构建决策树时,我们会选择信息熵的一个差值来进行构建,我们来具体看一下例子:


在上图的例子中,我们有14个样本,5个是“No”,9个是“Yes”,属性有天气、温度、湿度、是否刮风。通过这四个维度,我们决定要不要去打网球。

选择第一个节点的时候,我们有四个备选方案:


到底如何选取最优属性呢?我们可以先计算一下原始的信息熵,在原始数据里面有14个样本,我们套进公式得出,原始的信息熵是0.94。


对于第一个备选项天气,我们可以分为三个值(晴天、多云、下雨):


得到天气各自熵的值之后,我们再通过各自熵的值乘以它发生的概率。按照天气属性我们得出熵的值是0.693:


同理,我们可以依次地计算温度、湿度、刮风的信息增益:


上图的值是说我们之前父节点的信息增益,5次不打球、9次打球的值减去按条件得出的信息增益,我们会发现,其实对于天气而言,它的信息增益是最大的,我们就会选择天气作为最佳的分裂节点。


其次,湿度的计算方式,就是我们之前讲的得到它的一个信息增益率,然后去挑选哪个是它的最优节点:


经过上面这些比较简单的构建方法,我们就能得到最终的决策树:


五.建立决策树后的思考

在构建完这棵决策树之后,事情并没有结束,大家可以思考一下,在建模型的时候,我们总是希望它的准确率越高越好,但这些是不是我们要的一个结果?

1.在机器学习中,有一个词叫做“过拟合”。它表示我们的模型在训练数据时表现地很棒,但在面临外部数据的时候,它又显得不堪一击,我们一起来看下图:


图左是训练数据的一个分布,理想状态下图右是我们要得到的一个模型,但机器却不这样认为,机器觉得画个猫更适合,新来的数据通过这只猫会划分什么结果,我们不知道,这叫做Overfitting,就是过拟合。


2.决策树在训练集当中,的确有非常好的分类能力,但它对未知的测试数据而言,不是特别适应,产生过拟合现象,这时我们就需要剪枝。


决策树分为预剪枝和后剪枝。预剪枝就是通过人为的知识,确定节点样本数目以及树的高度和深度等,操作起来非常方便。但在实际应用中,我们会选择后剪枝。

决策树的剪枝通常会做以下这几个点:


我们比较常用的是悲观错误剪枝和代价复杂度剪枝。悲观错误剪枝,假设说决策树的精度在剪枝的前后并无变化,则进行剪枝,精度不等于错误度,如果说决策树剪枝后的误差小于剪枝前精度的上限,效果性是一致的,就进行剪枝。我们认为数越大越容易过拟合,代价复杂度剪枝融合了错误率和数的大小,形成新的值平衡两个因数,然后选择比较大的,剪枝处理掉。


六.决策树+

1.决策树差异:

构建一棵树的步骤我们已经清晰,上面所讲的方法比较传统,我们称之为ID3,除此之外还有其它的一些方法,我们来比较一下:


在ID3中,我们使用的是信息增益来进行判断,信息增益是父节点的熵减去子节点的熵的一个最大值。一个ID对应唯一的一个类,这样的话,它的信息增益值是最大的,它优先选择ID作为它分裂的节点,所以,我们的树只有两层,一层是判断ID,,一层是判定分类,并没有什么意义,人们就会开发出新算法来解决这些问题。

第一个新算法是C4.5,它不再使用信息增益的差值,而是使用信息增益率,信息增益率是子节点的熵除以父节点的熵,就可以很好地避免ID的问题。同时C4.5也可以处理连续性数据和缺失性数据,达到三赢的效果,其次C4.5可以解决回归问题,通过估算某一个具体的值。对于大数据而言,计算熵会涉及取对数的问题,速度并不是特别好。

人们又开发了一个新的算法,叫做CART,它使用基尼系数去代表信息熵,它不仅可以很好地去表示信息的存进度,而且抛弃了用对数计算,速度快、更靠谱。二叉树的处理避免了树的碎片化。


2.例子:

下面我们来看例子,加深一下理解。


这个数据集叫做Iris数据集,在入门学习阶段是一个非常常用的分类实验数据集,中文名叫做鸢尾花卉数据集,属于多重分类,包括150个样本,分为3类,每一列的花50个数据,每个数据包含4个属性,去预测鸢尾花属于哪一种。

下图是具体演示过程:


下面这张图就是最后决策树的一个值,我们简单看一下:


在我们实际应用中,比较常用的其实是随机森林,它速度快、不易过拟合。之后决策树还发展出GBDT梯度下降树,融合了“森林”的思想,增强错误样本的权重,它可以做特征处理。


在直播最后,黄楷老师还针对大家的提问进行了耐心讲解,我们一起来看一下:

1.自己动手实现这个计算过程,还是自己调用内建函数?

黄老师:我建议初学者自己先动手写一下整个计算过程,调包的话,工作中可以使用,但并不适合加深学习印象。

2.决策树要大量数学公式吗?

黄老师:决策树的数学公式主要体现在节点计算,包括信息增益怎么计算和剪枝理论,公式不大多,刚开始做的时候,可以先抛弃剪枝部分,只计算它的分裂节点、信息熵,这样的话,数学公式就不是特别多。

3.决策树的应用场景?

黄老师:其实在工作当中,我们已经很少单纯地只使用决策树,通常会使用随机森林和其它的一些算法。在数据展现方面,决策树会给人非常直观的理解,有着独一无二的优势。


以上六部分就是本次线上直播的主要内容,想了解更多更详细内容的小伙伴们,可以关注服务号:FMI飞马网,点击菜单栏飞马直播,即可进行学习。



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

推荐阅读更多精彩内容

  • 决策树理论在决策树理论中,有这样一句话,“用较少的东西,照样可以做很好的事情。越是小的决策树,越优于大的决策树”。...
    制杖灶灶阅读 5,754评论 0 25
  • 目录: 1.决策树简介 2.决策树生成 a) 选择标准——熵 b) 信息增益——ID3算法 c) 信息增益率——C...
    最会设计的科研狗阅读 5,666评论 1 4
  • 前言: 通过第前面的学习介绍了机器学习回归模型创建的流程,并且知道了机器学习要做的事情是找到目标函数,优化它,通过...
    飘涯阅读 6,283评论 4 83
  • 一.朴素贝叶斯 1.分类理论 朴素贝叶斯是一种基于贝叶斯定理和特征条件独立性假设的多分类的机器学习方法,所...
    wlj1107阅读 2,992评论 0 5
  • 不能将计划付诸实践,将其归因为效率太低,然后把计划制定得更精细,花费更多的精力自我监督,这是我以前常常犯的错...
    kelinda阅读 459评论 0 1