• 回答数

    2

  • 浏览数

    256

你真美呀?
首页 > 学术期刊 > 决策树研究博士论文下载

2个回答 默认排序
  • 默认排序
  • 按时间排序

安哥拉天使

已采纳

关于决策树算法,我打算分两篇来讲,一篇讲思想原理,另一篇直接撸码来分析算法。本篇为原理篇。 通过阅读这篇文章,你可以学到: 1、决策树的本质 2、决策树的构造过程 3、决策树的优化方向

决策树根据使用目的分为:分类树和回归树,其本质上是一样的。本文只讲分类树。

决策树,根据名字来解释就是,使用树型结构来模拟决策。 用图形表示就是下面这样。

其中椭圆形代表:特征或属性。长方形代表:类别结果。 面对一堆数据(含有特征和类别),决策树就是根据这些特征(椭圆形)来给数据归类(长方形) 例如,信用贷款问题,我根据《神奇动物在哪里》的剧情给银行造了个决策树模型,如下图:

然而,决定是否贷款可以根据很多特征,然麻鸡银行选择了:(1)是否房产价值>100w;(2)是否有其他值钱的抵押物;(3)月收入>10k;(4)是否结婚;这四个特征,来决定是否给予贷款。 先不管是否合理,但可以肯定的是,决策树做了特征选择工作,即选择出类别区分度高的特征。

由此可见, 决策树其实是一种特征选择方法。 (特征选择有多种,决策树属于嵌入型特征选择,以后或许会讲到,先给个图)即选择区分度高的特征子集。

那么, 从特征选择角度来看决策树,决策树就是嵌入型特征选择技术

同时,决策树也是机器学习中经典分类器算法,通过决策路径,最终能确定实例属于哪一类别。 那么, 从分类器角度来看决策树,决策树就是树型结构的分类模型

从人工智能知识表示法角度来看,决策树类似于if-then的产生式表示法。 那么, 从知识表示角度来看决策树,决策树就是if-then规则的集合

由上面的例子可知,麻鸡银行通过决策树模型来决定给哪些人贷款,这样决定贷款的流程就是固定的,而不由人的主观情感来决定。 那么, 从使用者角度来看决策树,决策树就是规范流程的方法

最后我们再来看看决策树的本质是什么已经不重要了。 决策树好像是一种思想,而通过应用在分类任务中从而成就了“决策树算法”。

下面内容还是继续讲解用于分类的“决策树算法”。

前面讲了决策树是一种 特征选择技术 。

既然决策树就是一种特征选择的方法,那么经典决策树算法其实就是使用了不同的特征选择方案。 如: (1)ID3:使用信息增益作为特征选择 (2):使用信息增益率作为特征选择 (3)CART:使用GINI系数作为特征选择 具体选择的方法网上一大把,在这里我提供几个链接,不细讲。

但,不仅仅如此。 决策树作为嵌入型特征选择技术结合了特征选择和分类算法,根据特征选择如何生成分类模型也是决策树的一部分。 其生成过程基本如下:

根据这三个步骤,可以确定决策树由:(1)特征选择;(2)生成方法;(3)剪枝,组成。 决策树中学习算法与特征选择的关系如下图所示:

原始特征集合T:就是包含收集到的原始数据所有的特征,例如:麻瓜银行收集到与是否具有偿还能力的所有特征,如:是否结婚、是否拥有100w的房产、是否拥有汽车、是否有小孩、月收入是否>10k等等。 中间的虚线框就是特征选择过程,例如:ID3使用信息增益、使用信息增益率、CART使用GINI系数。 其中评价指标(如:信息增益)就是对特征的要求,特征需要满足这种条件(一般是某个阈值),才能被选择,而这一选择过程嵌入在学习算法中,最终被选择的特征子集也归到学习算法中去。 这就是抽象的决策树生成过程,不论哪种算法都是将这一抽象过程的具体化。 其具体算法我将留在下一篇文章来讲解。

而决策树的剪枝,其实用得不是很多,因为很多情况下随机森林能解决决策树带来的过拟合问题,因此在这里也不讲了。

决策树的优化主要也是围绕决策树生成过程的三个步骤来进行优化的。 树型结构,可想而知,算法效率决定于树的深度,优化这方面主要从特征选择方向上优化。 提高分类性能是最重要的优化目标,其主要也是特征选择。 面对过拟合问题,一般使用剪枝来优化,如:李国和基于决策树生成及剪枝的数据集优化及其应用。 同时,决策树有很多不足,如:多值偏向、计算效率低下、对数据空缺较为敏感等,这方面的优化也有很多,大部分也是特征选择方向,如:陈沛玲使用粗糙集进行特征降维。 由此,决策树的优化方向大多都是特征选择方向,像ID3、、CART都是基于特征选择进行优化。

参考文献 统计学习方法-李航 特征选择方法综述-李郅琴 决策树分类算法优化研究_陈沛玲 基于决策树生成及剪枝的数据集优化及其应用-李国和

124 评论

秀之美adahe

决策树(Decision Tree)是一种基本的分类与回归方法,其模型呈树状结构,在分类问题中,表示基于特征对实例进行分类的过程。本质上,决策树模型就是一个定义在特征空间与类空间上的条件概率分布。决策树学习通常包括三个步骤: 特征选择 、 决策树的生成 和 决策树的修剪 。

分类决策树模型是一种描述对实例进行分类的树形结构,决策树由节点(node)和有向边(directed edge)组成。节点有两种类型:内部节点(internal node)和叶节点(leaf node)。内部节点表示一个特征或属性,叶节点表示一个类。

利用决策树进行分类,从根节点开始,对实例的某一特征进行测试,根据测试结果将实例分配到其子节点;这时,每一个子节点对应着该特征的一个取值。如此递归地对实例进行测试并分配,直至达到叶节点。最后将实例分到叶节点的类中。

决策树是给定特征条件下类的条件概率分布,这一条件概率分布定义在特征区间的一个划分(partiton)上。将特征空间划分为互不相交的单元(cell)或区域(region),并在每个单元定义一个类的概率分布就构成了一个条件概率分布。决策树的一条路径对应划分中的一个单元,决策树所表示的条件概率分布由各个单元给定条件下类的条件概率分布组成。假设X为表示特征的随机变量,Y为表示类的随机变量,那么这个条件概率分布可以表示成P(Y|X)。X取值于给定划分下单元的集合,Y取值于类的集合,各叶节点(单元)上的条件概率往往偏向于某一个类,即属于某一类的概率较大,决策树分类时将该节点的实例分到条件概率大的那一类去。也就以为着决策树学习的过程其实也就是由数据集估计条件概率模型的过程,这些基于特征区间划分的类的条件概率模型由无穷多个,在进行选择时,不仅要考虑模型的拟合能力还要考虑其泛化能力。

为了使模型兼顾模型的拟合和泛化能力,决策树学习使用正则化的极大似然函数来作为损失函数,以最小化损失函数为目标,寻找最优的模型。显然从所有可能的决策树中选取最优决策树是NP完全问题,所以在实际中通常采用启发式的方法,近似求解这一最优化问题: 通过递归的选择最优特征,根据该特征对训练数据进行划分直到使得各个子数据集有一个最好的分类,最终生成特征树 。当然,这样得到的决策树实际上是次最优(sub-optimal)的。进一步的,由于决策树的算法特性,为了防止模型过拟合,需要对已生成的决策树自下而上进行剪枝,将树变得更简单,提升模型的泛化能力。具体来说,就是去掉过于细分的叶节点,使其退回到父节点,甚至更高的节点,然后将父节点或更高的节点改为新的叶节点。如果数据集的特征较多,也可以在进行决策树学习之前,对数据集进行特征筛选。

由于决策树是一个条件概率分布,所以深浅不同的决策树对应着不同复杂度的概率模型,决策树的生成对应模型的局部选择,决策树的剪枝对应着模型的全局选择。

熵(Entropy) 的概念最早起源于物理学,最初物理学家用这个概念度量一个热力学系统的无序程度。在1948年, 克劳德·艾尔伍德·香农 将热力学的熵,引入到 信息论 ,因此它又被称为 香农熵 。在信息论中,熵是对不确定性的量度,在一条信息的熵越高则能传输越多的信息,反之,则意味着传输的信息越少。

如果有一枚理想的硬币,其出现正面和反面的机会相等,则抛硬币事件的熵等于其能够达到的最大值。我们无法知道下一个硬币抛掷的结果是什么,因此每一次抛硬币都是不可预测的。因此,使用一枚正常硬币进行若干次抛掷,这个事件的熵是一 比特 ,因为结果不外乎两个——正面或者反面,可以表示为 0, 1 编码,而且两个结果彼此之间相互独立。若进行 n 次 独立实验 ,则熵为 n ,因为可以用长度为 n 的比特流表示。但是如果一枚硬币的两面完全相同,那个这个系列抛硬币事件的熵等于零,因为 结果能被准确预测 。现实世界里,我们收集到的数据的熵介于上面两种情况之间。

另一个稍微复杂的例子是假设一个 随机变量 X ,取三种可能值 ,概率分别为 ,那么编码平均比特长度是: 。其熵为 。因此熵实际是对随机变量的比特量和顺次发生概率相乘再总和的 数学期望 。

依据玻尔兹曼H定理,香农把随机变量X的熵 定义为:

其中 是随机变量X的信息量,当随机变量取自有限样本时,熵可以表示为:

若 ,则定义 。

同理可以定义条件熵 :   很容易看出,条件熵(conditional entropy) 就是X给定条件下Y的条件概率分布的熵对X的数学期望。当熵和条件熵中的概率有极大似然估计得到时,所对应的熵和条件熵分别称为检验熵(empirical entropy)和经验条件熵(empirical conditional entropy).

熵越大,随机变量的不确定性就越大,从定义可以验证:   当底数 时,熵的单位是 ;当 时,熵的单位是 ;而当 时,熵的单位是 .

如英语有26个字母,假如每个字母在文章中出现的次数平均的话,每个字母的信息量 为:

同理常用汉字2500有个,假设每个汉字在文章中出现的次数平均的话,每个汉字的信息量 为:   事实上每个字母和汉字在文章中出现的次数并不平均,少见字母和罕见汉字具有相对较高的信息量,显然,由期望的定义,熵是整个消息系统的平均消息量。

熵可以用来表示数据集的不确定性,熵越大,则数据集的不确定性越大。因此使用 划分前后数据集熵的差值 量度使用当前特征对于数据集进行划分的效果(类似于深度学习的代价函数)。对于待划分的数据集 ,其划分前的数据集的熵 是一定的,但是划分之后的熵 是不定的, 越小说明使用此特征划分得到的子集的不确定性越小(也就是纯度越高)。因此 越大,说明使用当前特征划分数据集 时,纯度上升的更快。而我们在构建最优的决策树的时候总希望能更快速到达纯度更高的数据子集,这一点可以参考优化算法中的梯度下降算法,每一步沿着负梯度方法最小化损失函数的原因就是负梯度方向是函数值减小最快的方向。同理:在决策树构建的过程中我们总是希望集合往最快到达纯度更高的子集合方向发展,因此我们总是选择使得信息增益最大的特征来划分当前数据集 。

显然这种划分方式是存在弊端的,按信息增益准则的划分方式,当数据集的某个特征B取值较多时,依此特征进行划分更容易得到纯度更高的数据子集,使得 偏小,信息增益会偏大,最终导致信息增益偏向取值较多的特征。

设 是 个数据样本的集合,假定类别属性具有 个不同的值: ,设 是类 中的样本数。对于一个给定样本,它的信息熵为:   其中, 是任意样本属于 的概率,一般可以用 估计。

设一个属性A具有 个不同的值 ,利用属性A将集合 划分为 个子集 ,其中 包含了集合 中属性 取 值的样本。若选择属性A为测试属性,则这些子集就是从集合 的节点生长出来的新的叶节点。设 是子集 中类别为 的样本数,则根据属性A划分样本的信息熵为:

其中 , 是子集 中类别为 的样本的概率。最后,用属性A划分样本子集 后所得的 信息增益(Gain) 为:

即,属性A的信息增益=划分前数据的熵-按属性A划分后数据子集的熵。 信息增益(information gain)又称为互信息(matual information)表示得知特征X的信息而使得类Y的信息的不确定性减少的程度 。信息增益显然 越小, 的值越大,说明选择测试属性A对于分类提供的信息越多,选择A之后对分类的不确定程度越小。

经典算法 ID3 使用的信息增益特征选择准则会使得划分更偏相遇取值更多的特征,为了避免这种情况。ID3的提出者 Quinlan 提出了 ,它在ID3的基础上将特征选择准则由 信息增益 改为了 信息增益率 。在信息增益的基础之上乘上一个惩罚参数。特征个数较多时,惩罚参数较小;特征个数较少时,惩罚参数较大(类似于正则化)。这个惩罚参数就是 分裂信息度量 的倒数 。

不同于 ID3 和 , CART 使用基尼不纯度来作为特征选择准则。基尼不纯度也叫基尼指数 , 表示在样本集合中一个随机选中的样本被分错的概率 则基尼指数(基尼不纯度)= 样本被选中的概率 * 样本被分错的概率。Gini指数越小表示集合中被选中的样本被分错的概率越小,也就是说集合的纯度越高,反之,集合越不纯。

样本集合的基尼指数: 样本集合 有m个类别, 表示第 个类别的样本数量,则 的Gini指数为: 基于某个特征划分样本集合S之后的基尼指数:   CART是一个二叉树,也就是当使用某个特征划分样本集合后,得到两个集合:a.等于给定的特征值的样本集合 ;b.不等于给定特征值的样本集合 。实质上是对拥有多个取值的特征的二值处理。

对于上述的每一种划分,都可以计算出基于划分特=某个特征值将样本集合划分为两个子集的纯度: 因而对于一个具有多个取值(超过2个)的特征,需要计算以每个取值为划分点,对样本集合划分后子集的纯度 ( 表示特征 的可能取值)然后从所有的划分可能 中找出Gini指数最小的划分,这个划分的划分点,就是使用特征 对样本集合 进行划分的最佳划分点。

参考文献 :

决策树--信息增益,信息增益比,Geni指数的理解

【机器学习】深入理解--信息熵(Information Entropy)

统计学习方法 (李航)

为了便于理解,利用以下数据集分别使用三种方法进行分类:

在进行具体分析之前,考虑到收入是数值类型,要使用决策树算法,需要先对该属性进行离散化。   在机器学习算法中,一些分类算法(ID3、Apriori等)要求数据是分类属性形式,因此在处理分类问题时经常需要将一些连续属性变换为分类属性。一般来说,连续属性的离散化都是通过在数据集的值域内设定若干个离散的划分点,将值域划分为若干区间,然后用不同的符号或整数数值代表落在每个子区间中的数据值。所以,离散化最核心的两个问题是:如何确定分类数以及如何将连续属性映射到这些分类值。常用的离散化方法有 等宽法 , 等频法 以及 一维聚类法 等。

在实际使用时往往使用Pandas的 cut() 函数实现等宽离散化:

可以看到与手工计算的离散化结果相同,需要注意的是, 等宽法对于离群点比较敏感,倾向于不均匀地把属性值分布到各个区间,导致某些区间数据较多,某些区间数据很少,这显然不利用决策模型的建立。

使用四个分位数作为边界点,对区间进行划分:

等频率离散化虽然避免了等宽离散化的数据分布不均匀的问题,却可能将相同的数据值分到不同的区间以满足每个区间具有相同数量的属性取值的要求。

使用一维聚类的离散化方法后得到数据集为:

在本次实例中选择使用基于聚类的离散化方法后得到的数据集进行指标计算。为了预测客户能否偿还债务,使用A(拥有房产)、B(婚姻情况)、C(年收入)等属性来进行数据集的划分最终构建决策树。

单身 :

离婚 :

已婚 :

显然,由B属性取值'已婚'划分得到的子数据集属于同一个叶节点,无法再进行分类。 接下来,对由B属性取值'单身'划分得到的子数据集 再进行最优特征选择:

1)计算数据集 总的信息熵,其中4个数据中,能否偿还债务为'是'数据有3,'否'数据有1,则总的信息熵:

2)对于A(拥有房产)属性,其属性值有'是'和'否'两种。其中,在A为'是'的前提下,能否偿还债务为'是'的有1、'否'的有0;在A为'否'的前提下,能否偿还债务为'是'的有2、为'否'的有1,则A属性的信息熵为:

3)对于B(婚姻情况)属性,由于已被确定,在这个数据子集信息熵为0

4)对于C(年收入)属性,其属性值有'中等输入'、'低收入'两种。在C为'中等收入'的前提下,能否偿还作为为'是'的有1,为'否'的有0;在C为'低收入'的前提下,能否偿还作为为'是'的有2,为'否'的有1;则C属性的信息熵为:

5)最后分别计算两个属性的信息增益值: 信息增益值相同,说明以两个属性对数据子集进行划分后决策树的纯度上升是相同的,此时任选其一成为叶节点即可。 同理,对数据子集 进行最优特征选择,发现信息熵为0: 整理得到最终的决策树:

302 评论

相关问答

  • 人工智能围棋博弈决策研究论文

    围棋博弈的人机大战,以机器的获胜而落下帷幕,而人工智能的利弊,再度引发了争议, 有关人工智能利弊分析的作文 但我想的更多的是,科技背后的那份渐行渐远的人文情怀。

    吃货kumiko 2人参与回答 2023-12-10
  • 知网博士论文pdf下载

    下载知网论文步骤: 我是在家使用的知网,用的是文献党下载器(wxdown.org),在文献党下载器资源库,双击“知网”名称进入知网首页,首页有很多检索项,可以根

    酒酿圆子珺 5人参与回答 2023-12-11
  • 龟博士知网论文下载

    以下是我在中国知网查找的研究论文,很具有研究意义:在动物世界里,母子之间、父子之间、雌雄之间许多行为是很可贵的。有的被用在人类社会的一些艺术中进行形象比喻,从而

    美食大卡 7人参与回答 2023-12-08
  • 博士论文答辩决

    论文答辩决议(通用6篇) 论文的答辩决议是决定学生的论文通过的关键点,这也取决于老师的评价。以下是我为大家带来的论文答辩决议,希望大家喜欢。 本文对分级进风燃烧

    君绮罗222 3人参与回答 2023-12-06
  • 硕士论文答辩决议书下载

    答辩决议是答辩完用的一份对你论文工作高度总结、对答辩意见的总结以及同意授予硕士学位的文书,大概几百字,简短明了。 根本不是什么表格,估计说表格的是想说答辩表决票

    周大侠go 4人参与回答 2023-12-11