决策树法属于系统分析方法_浅谈决策树(Decision Tree)

所谓决策树(Decision Tree)就是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。但由于这种决策分支画成图形很像一棵树的枝干,故称决策树。


在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。Entropy = 系统的凌乱程度,使用算法ID3,C4.5和C5.0生成树算法使用熵。这一度量是基于信息学理论中熵的概念。

  1. 决策树的含义及组成
  2. 常用算法
  3. 信息增益
  4. 损失函数

1.什么是决策树?决策树的组成是什么?

是什么:

决策树是一种基本的分类与回归方法。决策树模型呈树形结构,在分类问题中,表示基于特征对实例进行分类的过程,可以认为是if-then规则的集合, 也可以认为是定义在特征空间与类空间上的条件概率分布。主要优点是 模型具有可读性,分类速度快。学习时,利用训练数据,根据损失函数最小化的原则建立决策树模型。预测时,对新的数据,利用决策树模型进行分类。

组成:

所以通俗的讲,决策树其实是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。

其中,每个节点包括的样本集合通过属性测试被划分到子节点中,根节点包含样本全集。

而属性测试的目标是让各个划分出来的子节点尽可能的“纯”,即属于同一类别。

因此,我们的重点就是量化纯度的具体方法,即决策树最常用的三种算法:ID3,C4.5和CART。

2.常用的三种算法

1)ID3

首先,ID3算法的核心是在决策树各个节点上应用信息增益准则选择特征,递归的构建决策树。

其次,具体方法是:从根结点开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子结点;再对子结点递归的调用以上方法,构建决策树;直到所有特征的信息增益均很小或没有特征可以选择为止。所以ID3相当于用极大似然法进行概率模型的选择。

我们知道,ID3算法的做法是每次选取当前最佳的特征来分割数据,并按照该特征的所有可能取值来切分。也就是说,如果一个特征有4种取值,那么数据将被切分成4份。一旦按照某特征切分后,该特征在之后的算法执行过程中将不会再起作用;另一种方法是二元切分法,即每次把数据集切分成两份。如果数据的某特征值等于切分所要求的值,那么这些数据将进入左子树,反之则进入右子树。

那么,我们就可以得出:ID3算法还存在另一个问题,它不能直接出来连续型特征。只有事先将连续型特征转为离散型,才能在ID3中使用。 但这种转换过程会破坏连续型变量的内在性质。所以,使用二元切分法, 在特征值大于给定值时走左子树,否则就走右子树。另外二元切分法也节省了树的构建时间。 同时,ID3算法对于缺失值的情况没有考虑。

那么总结ID3算法的缺点就是:

1、能对连续数据进行处理,只能通过连续数据离散化进行处理;

2、采用信息增益进行数据分裂容易偏向取值较多的特征,准确性不如信息增益率;

3、缺失值不好处理。

4、没有采用剪枝,决策树的结构可能过于复杂,出现过拟合。即,ID3是单变量决策树(在分枝节点上只考虑单个属性),许多复杂概念的表达困难,属性相互关系强调不够,容易导致决策树中子树的重复或有些属性在决策树的某一路径上被检验多次。

这也就是ID3算法为什么倾向特征选项较多的特征。

于是Quilan改进了ID3,提出了C4.5算法。

2)C4.5(WEKA中称J48)

首先C4.5算法用信息增益率选择特征,由于ID3算法在实际应用中存在一些问题,于是Quilan提出了C4.5算法,所以严格上说C4.5只能是ID3的一个改进算法。

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

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

2、在树构造过程中进行剪枝;

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

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

那我们总结C4.5的优点有:产生的分类规则易于理解,准确率较高。

但其缺点是:在构造树的过程中,需要对数据集进行多次的顺序扫描和排序,因而导致算法的低效。此外,C4.5只适合于能够驻留于内存的数据集,当训练集大得无法在内存容纳时,程序很可能无法运行。

3)分类与回归树(CART,classification and regression tree)

CART是使用基尼系数作为数据纯度的量化指标构建决策树的,它既可以做分类算法,也可以做回归。即,CART算法使用基尼系数增长率作为分割属性选择的标准,选择基尼系数增长率最大的作为当前数据集的分割属性。

其实,分类与回归树CART 模型最早由Breiman 等人提出,已经在统计领域和数据挖掘技术中普遍使用。它采用与传统统计学完全不同的方式构建预测准则,它是以二叉树的形式给出,易于理解、使用和解释。由CART 模型构建的预测树在很多情况下比常用的统计方法构建的代数学预测准则更加准确,且数据越复杂、变量越多,算法的优越性就越显著。且模型的关键是预测准则的构建,准确的。

而CART的优点就是:

1.可以生成可以理解的规则。

2.计算量相对来说不是很大。

3.可以处理连续和种类字段。

4.决策树可以清晰的显示哪些字段比较重要

但缺点是:

1. 依然对连续性的字段比较难预测。

2.对有时间顺序的数据,需要很多预处理的工作。

3.当类别太多时,错误可能就会增加的比较快。

4.一般的算法分类的时候,只是根据一个字段来分类。

3.信息增益

1)信息熵:

在信息论和概率统计中,熵(entropy) 是表示随机变量不确定性的度量(纯度)。是用来衡量一个随机变量出现的期望值。如果信息的不确定性越大,熵的值也就越大,出现的各种情况也就越多。 假设随机变量X的可能取值有x1,x2...,xn,对于每一个可能的取值xi,其概率 P(X=xi) = pi , ( i = 1,2, ... , n)

因此随机变量X的熵:

701fd7e1539163203f2065ffca8832f3.png

由定义可知,熵只依赖于X的分布,而与X的取值无关

对于样本集合D来说,随机变量X是样本的类别,即,假设样本有k个类别,每个类别的概率是

485d325292871313adb0bd2dd015481e.png

,其中|Ck|表示类别k的样本个数,|D|表示样本总数,则对于样本集合D来说熵(经验熵)为:

e341c6e18815814a622fe8cdd13264d5.png

2)条件熵:

假设有随机变量(X,Y),其联合概率分布为:P(X=xi,Y=yj)=pij,i=1,2,⋯,n;j=1,2,⋯,m

则条件熵(H(Y∣X))表示在已知随机变量X的条件下随机变量Y的不确定性,其定义为X在给定条件下Y的条件概率分布的熵对X的数学期望:

a9070e57dd54aa709ba0c3b04fd79b71.png

当嫡和条件嫡中的概率由数据估计(特别是极大似然估计)得到时,所对应的嫡与条件嫡分别称为经验熵( empirical entropy)和经验条件嫡(empirical conditional entropy )。

3)信息增益的定义:

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

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

划分前样本集合D的熵是一定的 ,entroy(前),使用某个特征A划分数据集D,计算划分后的数据子集的熵 entroy(后):

信息增益 = entroy(前) - entroy(后)

信息增益(information gain)表示由于特征A使得对数据集D的分类的不确定性减少的程度。

根据信息增益准则的特征选择方法是:对训练数据集D,计算其每个特征的信息增益,并比较它们的大小,选择信息增益最大的特征。

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

4.损失函数

从表面上来看:将每个叶节点的实例个数与其经验熵的乘积相加,这究竟代表个什么玩意呢?现在,我将利用该损失函数反向推导出极大似然函数,当我们看到极大似然函数时,便可以将损失函数看的透彻。

0eed3b602333f391fe38556dcf46038c.png

其中表示叶节点中类别为k的样本数。K表示样例类别总数。

至此,损失函数被化简为这样,可以看到它与我们所要求的极大似然函数仅一步之遥:将求极小转为求极大,即去掉上式的负号,我们得到对数极大似然函数:

4ab754219f8f5bfeef286adeeaf8eae8.png

其对应的极大似然函数是:

48239a46d824a2b08f75c3f0332110bc.png

至此,决策树模型的极大似然函数推导完毕。其意义个人理解为:先对各叶节点之间进行极大似然估计,再对各叶节点内部进行极大似然估计,由此得到决策树模型中的极大似然函数。

文章内容仅为个人理解,如有不当之处,欢迎指正,敬请见谅。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值