Decision Tree(面试准备)

1、谈谈对决策树的理解(定义&原理)

定义

决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程:

  1. 决策树可以被视为一组完备且互斥的 if-then 规则的集合,每个实例都被唯一的一条规则所覆盖

  2. 决策树也可以被视为定义在特征空间与类空间上的条件概率分布。这一条件概率分布定义在特征空间的一个划分上。对给定实例,我们首先找到它所属的叶结点(或者说特征单元),然后将该实例划分到该结点上条件概率最大的类。

原理

决策树的学习通常包括三个步骤:特征选择、决策树生成、剪枝

在定义好损失函数的前提下,一个全局最优决策树的求解是 NP 问题,因此常用的决策树算法无一例外都是启发式算法(所谓启发式算法就是依据直观和经验构造的对复杂最优化问题的求解方法,该方法不保证得到最优解,但可以在可接受的时间空间花费下找到一个较好的解,SMO算法就是启发式算法),即一步步寻找局部最优的划分特征并递归生成决策树,为防止过拟合,最后对生成的决策树进行剪枝。

2、决策树模型的优缺点

优点

  1. 模型可解释性强。便于理解数据特征对分类的影响,从而指导实践。

  2. 分类速度快。训练好的决策树模型在输入新数据点时,其分类过程就是在决策树中按分类规则划入叶子结点的过程,此过程非常快。

  3. 可以同时处理类别数据和数值数据。对于离散且无序的类别特征,其他分类模型未必有好的解决方案,通常使用独热编码进行处理,大大增加了特征维度。而决策树可以很自然地处理类别特征。

  4. 可以处理有缺失属性的样本。具体见下一问。

  5. 对离群值不敏感

缺点

  1. 容易发生过拟合。剪枝可以一定程度上避免过拟合。随机森林可以很大程度上减少过拟合。

  2. 忽略了特征之间的相关性。我们每次只选定一个最优属性进行结点划分,未考虑到各属性间的相关性(比如我们按长度和宽度分别划分,却不会考虑到按面积=长度*宽度来划分)。

  3. 当数据类别不平衡时可能表现较差。当某类数据占绝大多数的时候,决策树各结点的划分主要反映此类样本点的特性,从而使得决策树对其他小类学习效果欠佳。

3、决策树模型如何处理缺失数据

首先我们为每个样本赋予一个权重,这个权重衡量了将此样本划入当前结点的把握大小。

然后在面临最优特征选择时,我们首先计算在当前特征上无缺失值的属性的信息增益,然后将其乘上在当前属性上没有缺失的样本的权值和占所有样本权值和的比例(这个比例衡量了缺失值对信息增益的影响,即缺失越多,最终的信息增益就越少),得出此特征对应的信息增益。

在选定最优特征后,要将有缺失值的样本划入哪个结点呢?答案是按照没有缺失值的样本中各个属性取值的比例划入各个结点,并将权重乘上对应比例,这是一个让同一个样本以不同概率划入各个子结点的合理方法。

4、什么是信息增益(比)和基尼指数,为什么用这些指标进行特征选择

信息增益其实就是训练数据集中类与特征的互信息

特征 A 对训练集 D 的信息增益为 D 的经验熵减去给定特征 A 的条件下 D 的经验条件熵:

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

熵衡量分类的不确定性,这里的信息增益表示由于特征 A 使得对数据集 D 进行分类的不确定性减少的程度。因此信息增益大的特征具有更强的分类能力

信息增益比是信息增益与数据集 D 关于特征 A 的熵之比:

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}n是特征A取值的个数。

也就是说,信息增益比在信息增益的基础上对取值较多的特征增加了惩罚因子,从而起到了避免过拟合的作用。

基尼指数和熵类似,也是衡量不确定性的指标,对K类的分类问题,假设样本点属于第k类的概率为p_k,则概率分布的基尼指数为:

Gini(p)=\sum_{k=1}^K p_k(1-p_k)=1-\sum_{k=1}^K p_k^2

直观上看,基尼指数就是从数据中随机抽取两个样本其类别标记不同的概率,它衡量了数据集的纯度,基尼指数越小,数据集纯度越高。

因此我们在进行特征选择的时候,要寻找最大的信息增益(比)和最小的基尼指数。

5、简述几种主要的决策树模型及其区别

  1. ID3:从根结点开始对结点计算所有可能特征对信息增益,选择信息增益最大的特征作为划分特征,由该特征不同取值建立子结点,然后对子结点递归调用上述方法,直到所有特征信息增益均很小或没有特征对时候可以选择停止。ID3相当于用极大似然法进行概率模型的选择。注意 ID3 只有树的生成,没有剪枝过程,因此容易过拟合。

  2. C4.5:和 ID3 相似,只是把信息增益换成了信息增益比。

  3. CART:

    (1) CART 假设决策树是二叉树,内部结点特征取值均为“是”或“否”。

    (1) CART 可应用于分类,也可应用于回归。分类树采用基尼系数最小化准则,回归树采用平方误差最小化准则。

    (2) CART 包括决策树的生成和剪枝,一定程度上避免了过拟合。

6、简述决策树的剪枝方法

决策树的剪枝分为欲剪枝后剪枝

欲剪枝:在决策树生成过程中,对每个结点在划分前,先采用验证集的数据来验证如果划分是否能提高划分的准确性。若当前结点的划分不能带来决策树泛化性能的提高,则停止划分并将当前结点标记为叶结点。

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

不管是哪种剪枝方式,其实我们做的事情都是通过模型在验证集上的表现来调整超参,这里的超参可以看作树高或各个分支的大小

两者优劣对比如下:

7、CART 剪枝算法比传统剪枝算法好在哪里

所有剪枝算法都是由如下带正则项的损失函数定义的:

C_{\alpha}(T)=C(T)+\alpha|T|

这里C_{\alpha}(T)=\sum_{t=1}^T N_t H_t(T)。其中N_t表示叶子结点t的样本个数,H_t(T)表示叶子结点t的经验熵,|T|表示叶子结点个数。

传统剪枝算法计算各个结点的经验熵,递归的从叶结点向上回缩,若叶结点回缩到父结点后的树对应的损失小于回缩前,则剪枝,重复此过程直至不能继续为止。注意,这里\alpha是超参数,是需要人为给定的

CART 剪枝算法则是自下而上对各个内部结点t计算以t为根结点的子树和此子树回缩成结点t对应的损失相等时\alpha的取值,从中挑选最小的\alpha进行剪枝,得到一个树的序列,最后对这些剪枝过程中产生的树进行交叉验证。注意,这里的\alpha是通过计算产生的

CART剪枝算法的优点是:

  1. 不显式需要指定正则化系数\alpha。CART 剪枝算法自动生成了一系列良好的超参数\{\alpha_1,\alpha_2,\dots,\alpha_n\},然后利用验证集进行超参数选择。

  2. CART 剪枝算法的效率更高。因为CART 剪枝算法只需要搜索超参数\alpha的有限数量的区间即可,而传统剪枝算法需要搜索整个数域 。

8、树形结构为什么不需要归一化

因为数值缩放不影响分裂点位置,对树模型的结构不造成影响。特征值排序的顺序不变,那么所属的分支以及分裂点就不会有不同。而且,树模型是不能进行梯度下降的,因为构建树模型(回归树)寻找最优点时是通过寻找最优分裂点完成的,因此树模型是阶跃的,阶跃点是不可导的,并且求导没意义,也就不需要归一化。策树、RF)不需要归一化,那为何非树形结构比如Adaboost、SVM、LR、KNN、KMeans之类则需要归一化呢?因为对于线性模型,特征值差别很大时,运用梯度下降的时候,损失等高线是椭圆形,需要进行多次迭代才能到达最优点。但是如果进行了归一化,那么等高线就是圆形的,促使 SGD 往原点迭代,从而导致需要的迭代次数较少。

Reference

https://juejin.im/post/5d2051dae51d454fbe24a6f7

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

推荐阅读更多精彩内容

  • 1.前言 决策树是一种基本的分类和回归方法。决策树呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程。采用...
    胜利主义章北海阅读 2,644评论 0 0
  • 1 概述 决策树(decision tree)是一种基本的分类与回归方法。在分类问题中,表示基于特征对实例进行分类...
    豪_34bf阅读 926评论 0 0
  • 决策树理论在决策树理论中,有这样一句话,“用较少的东西,照样可以做很好的事情。越是小的决策树,越优于大的决策树”。...
    制杖灶灶阅读 5,857评论 0 25
  • 1、模型原理 (一)原理 1、原理:引入信息熵(不确定程度)的概念,通过计算各属性下的信息增益程度(信息增益越大,...
    Python_Franklin阅读 12,366评论 0 17
  • 以西瓜书为主线,以其他书籍作为参考进行补充,例如《统计学习方法》,《PRML》等 第一章 绪论 1.2 基本术语 ...
    danielAck阅读 4,529评论 0 6