机器学习笔记(参考吴恩达机器学习视频笔记)16_决策树

版权声明:博客内容都是对一些知识的整理,可能有些部分存在借鉴,如果存在侵权,请联系我删掉。 https://blog.csdn.net/cunxinlitian/article/details/83544905

16 决策树

决策树是一种监督学习算法,以树状图为基础,其输出结果为一系列简单实用的规则。它就是一系列的if-then语句,既可以用于分类问题,也可以用于回归问题。构建决策树之通常包括三个步骤:

       1)特征选择

       2)决策树生成

       3)决策树剪枝

在介绍具体步骤之前首先介绍信息熵的概念。

16.1 信息熵

信息熵,是一个与信息有关的概念,一般而言,是可以量化的。信息量的大小跟事情的不确定性有关。它应该满足以下4个特点:

  1. 不是负数。

  2. 信息量与信息量间可以相加。

  3. 信息量与概率有关,它连续依赖于概率。

  4. 信息量的大小与可能结果数有关。

-log(x)(0<x<1,底数大于1)满足以上四个特点。即一个事件的信息量就是这个事件发生的概率的负对数。信息熵是跟所有可能性有关系的。每个可能事件的发生都有个概率。信息熵就是平均而言发生一个事件我们得到的信息量大小。所以数学上,信息熵其实是信息量的期望。熵:度量随机变量的不确定性。(纯度)

定义:

假设随机变量X的可能取值有,对于每个可能的取值,其概率P(X=)=,因此随机变量X的熵为:

对于样本集合D来说,随机变量X是样本的类别,即,假设样本有K个类别,||表示类别k的样本个数,|D|表示样本总数,则对于样本集合D来说熵为:

熵越大,样本的不确定性就越大。

16.2 特征选择

特征选择指选择有较强分类能力的特征。而分类能力通过信息增益或者信息增益比来刻画。选择特征的标准是找出局部最优的特征作为判断进行切分,取决于切分后节点数据集合中类别的有序程度(纯度),划分后的分区数据越纯,切分规则越合适。衡量节点数据集合的纯度有:熵、基尼系数和方差。熵和基尼系数是针对分类的,方差是针对回归的。

16.2.1 信息增益(ID3算法)

信息增益是以某特征划分数据集前后的熵的差值。熵可以表示样本集合的不确定性,熵越大,样本的不确定性就越大。因此,可以用某特征划分数据集前后的熵的差值来衡量此特征对于样本集合D划分效果的好坏。给定特征A与训练数据集D,定义信息增益为:

信息增益的缺点是偏向取值较多的特征。特征的值较多时,根据此特征划分更容易得到纯度更高的子集,故划分之后的熵更低,因为划分前的熵是一定的,所以信息增益更大,更偏向取值较多的特征。

16.2.2 信息增益比(C4.5算法)

可以通过定义信息增益比来解决信息增益向取值较多的特征的问题。特征A对训练集D的信息增益比定义为:

其中,表示将当前特征A作为随机变量(取值为特征A的各个特征值)求得的经验熵。

16.3 决策树生成

基本的决策树的生成算法中,典型的有工。3生成算法和〔4.5生成算法,它们生成树的过程大致相似二ID3是采用的信息增益作为特征选择的度量,而C4.5则采用信息增益比。

两种算法的比较:

C4.5算法继承ID3算法的优点,并在以下几方面对ID3算法进行了改进:

  1. 用信息增益率来选择属性,克服了用信息增益选择属性时偏向选择取值多的属性的不足。

  2. 在树构造过程中进行剪枝。

  3. 能够完成对连续属性的离散化处理。

  4. 能够对不完整数据进行处理。

C4.5算法有如下优点:产生的分类规则易于理解,准确率较高。其缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。此外。C4.5只适合于能够驻留于内存的数据集,当训练集大得无法在内存容纳时程序无法运行。C4.5和ID3两个算法只有树的生成算法,生成的树容易产生过拟合。即对训练集匹配很好,但是预测测试集效果较差。

16.4 决策树剪枝

决策树需要剪枝的原因是:决策树生成算法生成的树对训练数据的预测很准确,但是对于末知的数据分类却很差,这就产生过拟合的现象。决策树剪枝过程是从已生成的决策树上裁掉一些子树或者叶节点。

16.5 CART模型

分类与回归树(CART)模型也是一种决策树模型。它即可以用于分类,也可以用于回归。回归生成树采用平方误差最小化策略,分类生成树采用基尼指数最小化策略。

16.5.1 基尼指数

基尼指数表示在样本中一个随机选中的样本被分错的概率。Gini指数越小表示集合中被选中的样本被分错的概率越小,也就是说集合的纯度越高,反之,集合越不纯。即:基尼指数(基尼不纯度)= 样本被选中的概率*样本被分错的概率。公式为:

     表示选中的样本属于k类别的概率,则这个样本被分错的概率是(1-)。样本集合中有K个类别,一个随机选中的样本可以属于这k个类别中的任意一个,因而对类别就加和。样本集合D的Gini指数(假设集合中有K个类别)则:

16.5.2 CART算法

猜你喜欢

转载自blog.csdn.net/cunxinlitian/article/details/83544905