1. 决策树概述
2. 决策树的原理
3. 决策树的特点
4. 决策树的构造和算法
1.决策树概述:
决策树算法是一种逼近离散函数值的方法。它是一种典型的分类方法,首先对数据进行处理,利用归纳算法生成可读的规则和决策树,然后使用决策对新数据进行分析。本质上决策树是通过一系列规则对数据进行分类的过程。决策树是常用的分类学习算法,当然也能用于处理回归问题,同时也适合集成学习比如随机森林.......
2. 决策树的原理:
决策树将所有样本数据放到根节点进行分类,没有子树的节点称之为叶节点,同时叶节点也会给出对应的分类(以少数服从多数),树上的每一个非叶子节点对进入该节点的数据集的属性值进行选择分类。根节点并没有实际意义。
上图是一个过滤邮件的决策树分类器,通过域名地址和是否包含单词“曲棍球”将文件分为三类,无聊时需要阅读的邮件和需要及时处理的文件,无需阅读的文件。
再举一个例子:它就像我们玩的猜谜底游戏。B向A提问,每次可以问不同的问题,而A只能回答是或不是,对或不对。通过多次发问,B越来越接近正确答案。这里,每个问题实际上就是非叶子节点的属性测试,是或者不是就是给出测试结果yes or no。如果一个谜底符合所有问题(属性),得到答案一致,那么你一定能肯定这个谜底是什么。
3. 决策树的特点:
优点:
决策树易于理解和实现。
对于决策树,数据的准备往往是简单或者是不必要的,而且能够同时处理数据型和常规型>属性,在相对短的时间内能够对大型数据源做出可行且效果良好的结果。
易于通过静态测试来对模型进行评测,可以测定模型可信度;如果给定一个观察的模型,那么根据所产生的决策树很容易推出相应的逻辑表达式。
缺点:
对连续性的字段比较难预测,需要对连续数据做分段处理。
对有时间顺序的数据,需要很多预处理的工作。
当类别太多时,错误可能就会增加的比较快。
一般的算法分类的时候,只是根据一个字段来分类。
4. 决策树的构造和算法:
在谈论决策树算法之前应该先了解信息熵、信息增益等概念
信息熵定于为信息的期望值,通俗的讲就是这个信息的信息量大不大,从概率的角度讲,概率越低的事件发生所包含的信息量就越大。例如太阳从东边升起,这件事发生的概率是非常高的,因此这件事就不具有很大的信息量。相反太阳从西边出来发生的概率极低,因此当它发生的时候所包含的信息量就很大。
计算信息期望值的公式: 其中 是选择该分类的概率。
为了计算熵,我们需要计算所有类别可能包含的信息期望值,计算公式:
信息增益这个概念,指的是信息熵的有效减少量,该量越高,表明经过该属性划分后的数据集失去的信息熵越多,即结点的纯度越高。
定义:以某特征划分数据集前后的熵的差值。
信息增益的理解:
对于待划分的数据集D,其 entroy(前)是一定的,但是划分之后的熵 entroy(后)是不定的,entroy(后)越小说明使用此特征划分得到的子集的不确定性越小(也就是纯度越高),因此 entroy(前)-entroy(后)差异越大,说明使用当前特征划分数据集D的话,其纯度上升的更快。而我们在构建最优的决策树的时候总希望能更快速到达纯度更高的集合,这一点可以参考优化算法中的梯度下降算法,每一步沿着负梯度方法最小化损失函数的原因就是负梯度方向是函数值减小最快的方向。同理:在决策树构建的过程中我们总是希望集合往最快到达纯度更高的子集合方向发展,因此我们总是选择使得信息增益最大的特征来划分当前数据集D。
划分数据集构造决策树,就是在每一个节点寻找能使信息增益最大的划分特征。
分类结束的标志:已经将所有的可分的特征使用完,或者某个分支下的所有实例已经归属到一个分类。
参考出处:https://www.jianshu.com/p/8e9af0fe08b8
《机器学习实战》