首页 > 其他分享 >机器学习.周志华《4 决策树》

机器学习.周志华《4 决策树》

时间:2023-06-25 12:32:41浏览次数:35  
标签:周志华 机器 样本 划分 增益 决策树 节点 属性


决策树


 决策树学习是一种逼近离散值目标函数的方法,在这种方法中学习到的函数被表示为一棵决策树。

4.1 基本流程

决策树的生成是一个递归过程:

以下3种情况会导致递归返回

1) 当前节点包含的样本全属于同一类别;

2) 当前属性集为空或所有样本在所有的属性上取值心痛,无法划分;

3) 当前节点包含的样本集为空;

机器学习.周志华《4 决策树》_决策树

一般一颗决策树包含:一个根节点、若干个内部节点和若干个叶子节点:

* 每个非叶节点表示一个特征属性测试。
* 每个分支代表这个特征属性在某个值域上的输出。
* 每个叶子节点存放一个类别。
* 每个节点包含的样本集合通过属性测试被划分到子节点中,根节点包含样本全集。




4.2 划分选择

愿景:随着划分的进行,希望决策树的分支节点“纯度purity”越来越高!

1. 纯度(purity)

      对于一个分支结点,如果该结点所包含的样本都属于同一类,那么它的纯度为1,而我们总是希望纯度越高越好,也就是尽可能多的样本属于同一类别。

2. 信息熵(information entropy)

      假定当前样本集合D中第k类样本所占的比例为pk(k=1,,2,...,|y|),则D的信息熵定义为:

                

机器学习.周志华《4 决策树》_取值_02

      显然,Ent(D)值越小,D的纯度越高。因为0<=pk<= 1,故logpk<=0,Ent(D)>=0. 极限情况下,考虑D中样本同属于同一类,则此时的Ent(D)值为0(取到最小值)。当D中样本都分别属于不同类别时,Ent(D)取到最大值log2 |y|.

3. 信息增益(information gain)

信息增益准则对可取值数目较多的属性有所偏好;

      假定离散属性a有V个可能的取值{a1,a2,...,aV}. 若使用a对样本集D进行分类,则会产生V个分支结点,记Dv为第v个分支结点包含的D中所有在属性a上取值为av的样本。不同分支结点样本数不同,我们给予分支结点不同的权重:|Dv|/|D|, 该权重赋予样本数较多的分支结点更大的影响、由此,用属性a对样本集D进行划分所获得的信息增益定义为:

               

机器学习.周志华《4 决策树》_决策树_03

其中,Ent(D)是数据集D划分前的信息熵,∑v=1 |Dv|/|D|·Ent(Dv)可以表示为划分后的信息熵。“前-后”的结果表明了本次划分所获得的信息熵减少量,也就是纯度的提升度。显然,Gain(D,a) 越大,获得的纯度提升越大,此次划分的效果越好。

4. 增益率(gain ratio)


增益率准则对可取值数目较少的属性有所偏好;

      基于信息增益的最优属性划分原则——信息增益准则,对可取值数据较多的属性有所偏好。C4.5算法使用增益率替代信息增益来选择最优划分属性,增益率定义为:

         

机器学习.周志华《4 决策树》_取值_04

称为属性a的固有值。属性a的可能取值数目越多(即V越大),则IV(a)的值通常会越大。这在一定程度上消除了对可取值数据较多的属性的偏好。

      事实上,增益率准则对可取值数目较少的属性有所偏好,C4.5算法并不是直接使用增益率准则,而是先从候选划分属性中找出信息增益高于平均水平的属性,再从中选择增益率最高的。

5. 基尼指数(Gini index)

     CART决策树算法使用基尼指数来选择划分属性,基尼指数定义为:

             

机器学习.周志华《4 决策树》_决策树_05


      可以这样理解基尼指数:从数据集D中随机抽取两个样本,其类别标记不一致的概率。Gini(D)越小,纯度越高。

      属性a的基尼指数定义:

           

机器学习.周志华《4 决策树》_信息增益_06


4.3 剪枝处理

剪枝(pruning)是决策树算法对付过拟合(太依赖训练样本)的主要手段,剪枝的策略有两种如下:

* 预剪枝(prepruning):在构造的过程中先评估,再考虑是否分支。
* 后剪枝(post-pruning):在构造好一颗完整的决策树后,自底向上,评估分支的必要性。

一般情况下,后剪枝的欠拟合风险小,泛化能力优于预剪枝;

后剪枝开销比预剪枝大得多

4.4连续与缺失值

  • 1)连续值处理

对于连续值的属性,若每个取值作为一个分支则显得不可行,因此需要进行离散化处理,常用的方法为二分法,基本思想为:给定样本集D与连续属性α,二分法试图找到一个划分点t将样本集D在属性α上分为≤t与>t。

* 首先将α的所有取值按升序排列,所有相邻属性的均值作为候选划分点(n-1个,n为α所有的取值数目)。
* 计算每一个划分点划分集合D(即划分为两个分支)后的信息增益。
* 选择最大信息增益的划分点作为最优划分点。
  • 2)缺失值处理

假定为样本集中的每一个样本都赋予一个权重,根节点中的权重初始化为1,则定义:

机器学习.周志华《4 决策树》_决策树_07




在属性值缺失的情况下需要解决两个问题:

(1)如何选择划分属性。

解决方法:通过在样本集D中选取在属性α上没有缺失值的样本子集,计算在该样本子集上的信息增益,最终的信息增益等于该样本子集划分后信息增益乘以样本子集占样本集的比重:

机器学习.周志华《4 决策树》_取值_08

(2)给定划分属性,若某样本在该属性上缺失值,如何划分到具体的分支上。

解决方法:若该样本子集在属性α上的值缺失,则将该样本以不同的权重(即每个分支所含样本比例)划入到所有分支节点中。该样本在分支节点中的权重变为:

机器学习.周志华《4 决策树》_取值_09


4.5 多变量决策树

相比于ID3、C4.5、CART这种单变量决策树(分支时只用一个属性),多变量决策树在分支时用的是多个属性的加权组合,来个直观的图(以下),这个是单变量决策树学习出来的划分边界,这些边界都是与坐标轴平行的,多变量决策树的划分边界是倾斜于坐标轴的。


决策树算法:

机器学习.周志华《4 决策树》_信息增益_10

机器学习.周志华《4 决策树》_决策树_11


------*-*---------------------------------------------------------------------------------------------------------*-*----

更多详细内容请关注公众号:目标检测和深度学习

机器学习.周志华《4 决策树》_决策树_12

-------…^-^……----------------------------------------------------------------------------------------------------------…^-^……--





标签:周志华,机器,样本,划分,增益,决策树,节点,属性
From: https://blog.51cto.com/u_12667998/6544829

相关文章

  • 机器学习十大算法---1.线性回归
    1.线性回归的模型函数和损失函数线性回归遇到的问题一般是这样的。我们有m个样本,每个样本对应于n维特征和一个结果输出,如下:我们的问题是,对于一个新的,他所对应的是多少呢?如果这个问题里面的y是连续的,则是一个回归问题,否则是一个分类问题。对于n维特征的样......
  • 机器学习评价指标总结(二分类篇)
    目录疾病预测混淆矩阵基础指标准确率(Accuracy)精确率(Precision)召回率(Recall)精确率和召回率的关系综合指标F1分数(F1Score)P-R曲线平均精确率均值(AveragePrecision)ROC曲线AUC(ROC曲线下面积)对比P-R/AP和ROC/AUC疾病预测我们以疾病预测为例子来介绍分类的指标。疾病预测是一个......
  • 机器学习复习4
    机器学习复习1-在下面的训练集中,\(x_4^{(3)}\)是什么?输入数字(这是一个整数,如123,没有小数点)答案:302-以下哪些是矢量化的潜在好处?请选择最佳选项。A.它可以使你的代码运行得更快B.它可以使你的代码更短C.它可以使你的代码更容易在并行计算硬件上运行D.以上都是答......
  • 机器学习复习3
    机器学习复习1-哪一个是分类任务的例子?A.根据肿瘤的大小,判断是否是恶性肿瘤B.根据患者年龄和血压,判断应该给患者开多少血压药C.根据患者的血压,判断应该给患者开多少血压药答案:A2-回忆一下Sigmoid函数:\[g(z)=\frac{1}{1+e^{-z}}\]如果z是一个大的正值,那么:A.\(g(......
  • Python与TensorFlow:如何高效地构建和训练机器学习模型
    目录标题:《Python与TensorFlow:如何高效地构建和训练机器学习模型》一、引言随着人工智能的快速发展,机器学习作为其中的一个重要分支,受到了越来越多的关注和应用。而Python作为一门广泛应用于机器学习领域的编程语言,其与TensorFlow的结合也变得越来越重要。本文将介绍Python与......
  • 一大波特斯拉人形机器人上线,马斯克震撼官宣2款新车!
    【导读】这次特斯拉股东日,虽没有新车,但马斯克确定Cybertruck今年一定会来。特斯拉股东日,依旧没有新车。万众瞩目的马斯克登台继续画饼,「我不官宣新车,不过新车年销量会超过500万」。马斯克向所有人展示了特斯拉正在研发的2款新车,新车的样子在屏幕中一闪而过。具体配置,只字未提。从比......
  • 吴恩达-斯坦福CS229机器学习课程-2017(秋)最新课程分享
    吴恩达主讲的机器学习-2017年秋季课程已经开课啦,今天跟大家分享这套课程。课程介绍本课程主要介绍机器学习和统计模式识别相关的知识。内容主要包括:监督学习(生成/判别学习,参数/非参数学习,神经网络,支持向量机);无监督学习(聚类,维数规约,核方法);学习理论(偏差/方差权衡;VC理论;大边缘概率......
  • 840个最优的机器学习python开源项目整理分享
    本资源包含了840个很棒的机器学习开源项目,总共270万颗星分为32个类别。所有项目均按项目质量得分排名,该得分是根据从GitHub和不同程序包管理器自动收集的各种指标计算得出的。目录资源列表......
  • 机器学习从入门到进阶所需学习资料-包括书、视频、源码
    本文整理了一些入门到进阶机器学习所需要的一些免费的精品视频课程,一些优质的书籍和经典的代码实战项目。视频1.1吴恩达老师机器学习课程:•Coursera•网易云课堂•英文笔记•中文笔记、字幕1.2吴恩达深度学习课程•Coursera•网易云课堂•笔记1.3斯坦福CS231n:Co......
  • 2021年最新-可解释机器学习相关研究最新论文、书籍、博客、资源整理分享
        理解(interpret)表示用可被认知(understandable)的说法去解释(explain)或呈现(present)。在机器学习的场景中,可解释性(interpretability)就表示模型能够使用人类可认知的说法进行解释和呈现。[FinaleDoshi-Velez]    机器学习模型被许多人称为“黑盒”。这意味着虽然我们可以从......