龙空技术网

机器学习理论入门-统计学习之决策树

通过技术看生活 152

前言:

眼前我们对“决策树分类算法综述”可能比较着重,同学们都需要了解一些“决策树分类算法综述”的相关知识。那么小编在网上搜集了一些关于“决策树分类算法综述””的相关知识,希望小伙伴们能喜欢,你们一起来了解一下吧!

朴素贝叶斯学完了,但是其公式还存在一点点问题:因为公式的分母有可能为0。怎么解决呢?看本篇要讲的模型-决策树

以挑苹果为例,从颜色、硬度、香味得出结论判定苹果的好坏

颜色

硬度

香味

结论

0

红色

好苹果

1

红色

无味

好苹果

2

红色

无味

坏苹果

3

绿色

好苹果

4

绿色

无味

坏苹果

5

绿色

无味

坏苹果

根据分类可以画出树状结构

看下图信用预测的例子

最顶端的叫根结点,所有样本的预测都是从根节点开始的。每一个圆形节点表示判断,每个节点只对样本的某个属性进行判断;矩形节点是标记节点,走到矩形节点表示判断结束,将矩形节点中的标签作为对应的预测结果

那么怎么构建决策树呢,是样本中按顺序把每个特征依次比较判断吗?

如果苹果的样本还有一个特征叫形状,再建立球形和立方形两个分支,显然所有的样本都会到球形分支里面去,这样的判断没有进行有效地划分

此外根据某个特征X,10个苹果中9个会进入A分支,1个进入B分支。而根据另一个特征Y,5个进入A分支,5个进入B分支,显然特征Y要好

决策树模型建立步骤

1.目前来看,决策树的预测阶段,每进来一个样本,根据判断节点实际情况,对对应的特征进行判断,直到走到标记节点

2.如何构建决策树?两种方式:1.按顺序对每一个特征进行判断;2.每个判断节点都尽可能让一半进入A分支,另一半进入B分支。显然,第二种方式比第一种方式更高效

信息熵

还是以上面举的挑苹果的例子来解释信息熵:1.每走一步,我们都在确定苹果的好坏;2.在根节点时,我们对苹果的好坏一无所知;3.经过对颜色的判断后,如果是红色,我们明白好坏的概率是1/2;4.如果苹果红色的前提下又硬,我们100%确定它是好苹果。此时不确定性坍塌为0;5.这是一个减少不确定的过程

信息熵就是减少信息的不确定性的过程(讲到过程,想到了之前微分的概念:求导的过程就是微分)。在信息论与概率统计中,熵是表示随机变量不确定性的度量,设X是一个去有限个值的离散随机变量,其概率分布为

P(X = ) = , i = 1,2,...n

则随机变量X的熵定义为 H(X) =

熵越大,则随机变量的不确定性越大,其中0 H(P)log n

注:1.log不标注的情况下底数默认为2

2.log n的由来见下图

例 有10个苹果,1个好苹果A,9个坏苹果B。熵的计算如下:

如果是5个好苹果5个坏苹果,熵是多少呢?

1个好苹果9个坏苹果时,我们可以认为大部分都是坏苹果。内部并不混乱,确定性很大,熵就小

5个坏苹果5个好苹果时,里面就有点乱了,我们并不太能确定随机的一个苹果是好苹果还是坏苹果,熵就大

信息熵

1.在根节点的最初,先假设信息熵为最大,表示对于这个苹果一无所知

2.到叶节点时假设信息熵为0,表示我们非常确定

3.我们希望尽可能少的次数就能判断出苹果的好坏。就就是希望每个判断节点都能让信息熵下降地快一点

信息增益

信息增益表示得知特征X的信息而使得类Y的信息的不确定性减少的程度

特征A对训练集D的信息增益g(D,A),定义为集合D的经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)之差,即 g(D|A) = H(D) - [H(| A) + H(| A)

好的模型选择,信息增益肯定是大于0的

信息增益算法

输入:训练数据集D和特征A

输出:特征A对训练数据集D的信息增益g(D,A)

1)计算数据集D的经验熵H(D)

2)计算特征A对数据集D的经验条件熵H(D|A)

3)计算信息增益

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

ID

年龄

有工作

有自己的房子

信贷情况

类别

1

青年

一般

2

青年

3

青年

4

青年

一般

5

青年

一般

6

中年

一般

7

中年

8

中年

9

中年

非常好

10

中年

非常好

11

老年

非常好

12

老年

13

老年

14

老年

非常好

15

老年

一般

对上表所给的训练数据集D,根据信息增益准则选择最优特征。首先计算经验熵H(D)

计算结果表明,“有自己的房子”的这个特征的信息增益最大

信息增益比

如果以信息增益为划分依据,存在偏向选择取值较多的特征,信息增益比是对这一问题进行矫正

什么是信息增益比呢? 特征A对训练数据集D的信息增益比(D,A)定义为其信息增益g(D,A)与训练数据集D关于特征A的经验熵H(D)之比:

决策树的构建

决策树的构建包括ID3算法和C4.5算法。两种算法的区别就在于ID3算法用信息增益选择最大特征,C4.5算法用信息增益比选择最大特征

ID3算法:输入:训练数据集D,特征A,阈值

输出:决策树T

(1)若D中所有实例属于同一类,则T为单结点树,并将作为该节点的类标记,返回T;

(2)若A = ,则T为单节点树,并将D中实例数最大的类 作为该结点的类标记,返回T;

(3)否则,计算A中各特征对D的信息增益,选择信息增益最大的特征;

(4)如果的信息增益小于阈值,则置T为单结点树,并将D中实例数最大的类作为该结点的类标记,返回T;

(5)否则,对的每一个可能值,依=将D分割为若干个非空子集,将中实例数最大的类作为标记,构建子结点,由结点及其子结点构成树T,返回T;

(6)对第i个子结点,以为训练集,以 A - {}为特征集,递归地调用步骤(1)和步骤(5),得到子树,返回

C4.5算法:

ID3算法:输入:训练数据集D,特征A,阈值

输出:决策树T

(1)若D中所有实例属于同一类,则T为单结点树,并将作为该节点的类标记,返回T;

(2)若A = ,则T为单节点树,并将D中实例数最大的类 作为该结点的类标记,返回T;

(3)否则,计算A中各特征对D的信息增益比,选择信息增益最大的特征;

(4)如果的信息增益小于阈值,则置T为单结点树,并将D中实例数最大的类作为该结点的类标记,返回T;

(5)否则,对的每一个可能值,依=将D分割为若干个非空子集,将中实例数最大的类作为标记,构建子结点,由结点及其子结点构成树T,返回T;

(6)对第i个子结点,以为训练集,以 A - {}为特征集,递归地调用步骤(1)和步骤(5),得到子树,返回

总结

1.决策树的核心思想:以树结构为基础,每个节点对某特征进行判断,进入分支,直到到达叶结点

2.决策树构造的核心思想:让信息熵快速下降,从而达到最少的判断次数获得标签

3.判断信息熵下降速度的方法:信息增益/信息增益比

4.构建决策树算法:ID3(使用信息增益)、C4.5(使用信息增益比)

5.信息增益会导致节点偏向选取取值较多的特征问题

视频学习链接:

#头条创作挑战赛#

标签: #决策树分类算法综述