监督式学习--分类决策树

wzjhoutai wzjhoutai     2022-09-05     590

关键词:

决策树(decision tree)是一种基本的分类与回归方法。

其表示的树型结构,能够觉得是if-else规则的集合。基本的长处是分类可读性好,速度快。

一般会有三个步骤:特征选择、决策树的生成和决策树的修剪

技术分享

决策树由结点(node)和有向边(directed edge)组成。结点有两类:内部结点(表示一个特征或者属性)和叶节点(表示一个类或者决策结果)。决策树学习样本集,学习的目标是依据给定的训练数据集构建决策树模型。可以对測试集以及实例进行正确的分类。通常默认。训练集和測试集拥有同样或近似的分布概率模型。

技术分享

从全部可能的决策树中选取最优决策树是NP全然问题,所以通常採用启示式方法。近似求解这一最优问题。得到的决策树是次最优(sub-optimal)。

因为决策树表示一个条件概率分布,所以深浅不同的决策树相应复杂度不同的概率模型。决策树的生成仅仅考虑局部最优(贪心算法),决策树的剪枝则考虑全局最优。


信息增益和信息增益率

特征选取在于选择对训练数据集具有分类能力的特征,这样能够提高决策树的学习效率。

假设一个特征进行分类的结果与随机分类的结果没有非常大的差别,那这个特征的分类能力非常差或者差点儿没有。

1)信息熵

信息熵是信息论中的基本概念。信息论由Shannon于1948年提出并发展起来,用于解决信息传递过程中的问题,也称统计通信理论。它觉得:

1、信息传递由信源、信道和信宿组成。

2、传递系统存在于一个随机干扰环境中,因此传递系统对信息的传递是随机误差的。假设把发送信息记为U而接收到信息记 V,由信道可记为通信模型。为P(U|V)。

信道模型是一个条件概率矩阵P(U|V)。

在实际通信前。信宿信源会发出什么信息不可能知道。称为信宿对信源状态具有不确定性,因为这样的不确定性是发生在通信之前的。故称为先验不确定性

在收到信息后的不确定性。称为后验不确定性

技术分享

技术分享

信息是指对不确定性的消除。

Shannon 借鉴了热力学的概念,把信息中排除了冗余后的平均信息量称为“信息熵”。并给出了计算信息熵的数学表达式。变量的不确定性越大,熵也就越大,把它搞清楚所须要的信息量也就越大。

技术分享

信息熵是信息论中度量信息量的一个概念。

一个系统越有序,它的信息熵越小;反之。一个混乱的系统信息熵越大。能够觉得,信息熵是系统有序化程度的一个度量。

技术分享

2)信息增益

信息熵又称为先验熵,是在信息发送前信息量的数学期望。后验熵指在信息发送后,从信宿角度对信息量的数学期望。一般先验熵大于后验熵,先验熵与后验熵估差,即所谓的信息增益,反映的是信息消除随机不确定性的程度。

决策树学习中的信息增益等价于训练集中类与特征的互信息。

表示因为特征A而导致训练集不确定性的降低量。信息增益也。特征A对训练集D的信息增益g(D, A)。定义为集合D的经验熵H(D)与特征A给定条件下的经验条件熵H(D|A)之差:技术分享

技术分享

3)信息增益率

信息增益值得大小是相对训练集而言。并没有绝对的意义。

举一个样例。火车的速度能在9s内从10m/s加速到100m/s,可是如今有一辆摩托车能在1s内从1m/s加速到11m/s,尽管加速后摩托车的速度不如火车,可是它拥有和火车等同的加速能力!

在训练集的经验熵大的时候,信息增益值也会偏大,反之信息增益值会偏小。不能反映真实的不确定改善能力。使用信息增益率(information gain ratio)能够对这一问题进行校正。

特征A对训练集D的信息增益率gainRatio(D, A)。定义为其信息增益g(D, A)与训练数据集D的经验熵H(D)之比:

技术分享

技术分享


决策树学习之ID3算法

ID3算法是决策树算法的一种。想了解什么是ID3算法之前。我们得先明确一个概念:奥卡姆剃刀(Occam‘sRazor, Ockham‘s Razor),是由14世纪逻辑学家、圣方济各会修士奥卡姆的威廉(William of Occam,约1285年至1349年)提出。他在《箴言书注》2卷15题说“切勿浪费较多东西。去做‘用较少的东西,相同能够做好的事情’。简单点说。便是:be simple。因此。越是小型的决策树越优于大的决策树(be simple简单理论)。

ID3算法的实现思想:

1)自顶向下贪婪遍历决策树空间以构造决策树。

2)计算单独特征属性分类训练样本集的能力,选取分类能力最好的一个属性(最佳属性)作为决策树的根节点,以此表示该属性相比其他属性拥有更强的区分能力。

3)对于根节点属性可能产生的每一种可能构建一个分支,再次遍历样本集将其划分到不同分支。

4)递归的对每一个分支反复2)、3)。直到出现叶子节点。也即分支下仅仅有预測的结果。

ID3相当于用极大似然法进行概率模型的选择。


C4.5算法:ID3算法的改进

既然说C4.5算法是ID3的改进算法,那么C4.5相比于ID3改进的地方有哪些呢?

1)用信息增益率来选择属性。ID3选择属性用的是子树的信息增益。这里能够用非常多方法来定义信息,ID3使用的是熵(entropy。熵是一种不纯度度量准则)。也就是熵的变化值,而C4.5用的是信息增益率。

对,差别就在于一个是信息增益,一个是信息增益率。

2)在树构造过程中进行剪枝。在构造决策树的时候,那些挂着几个元素的节点,easy导致overfitting。

3)对非离散数据也能处理。可以对不完整数据进行处理。

决策树使用于特征取值离散的情况,连续的特征一般也要处理成离散的(而非常多文章没有表达出决策树的关键特征or概念)。实际应用中。决策树overfitting比較的严重,一般要做boosting。分类器的性能上不去。非常基本的原因在于特征的鉴别性不足,而不是分类器的好坏,好的特征才有好的分类效果。分类器仅仅是弱相关。

决策树的剪枝
决策树生成算法递归的产生决策树,知道不能继续下去为止,这样产生的决策树往往对训练集非常准确,但对于未知的測试集数据分类却不一定有那么准确,这就是过拟合(overfitting现象。过拟合的原因在于:学习时过多的优化其高训练集的正确分类,构建的决策树过于复杂。而要解决问题必须简化决策树
在书中学习的一种简单的剪枝算法:通过极小化决策树的损失函数(loss function)来实现,
技术分享
技术分享
技术分享
技术分享
树的剪枝算法:输入(生成算法产生的整个树T,參数a),输出(修剪后的子树Ta)
1)计算每一个结点的经验熵。
2)递归的从树的叶子结点向上回缩。
如果一组叶子结点回缩到其父节点之前和之后的损失函数值各自是技术分享。且技术分享
则应该进行剪枝,使得该父节点成为新的叶节点。

3)反复2)直至不能继续为止,得到损失函数最小的子树Ta。
整个算法能够用动态规划算法实现(DP)?(有待兴许进一步考虑)


总结:主要是一些决策树学习的基础知识,兴许深入学习必需要代码,动手实现才是王道。
camefrom:鱼萌_幸福路






















机器学习sklearn监督学习分类算法决策树decisiontree(代码片段)

#导入鸢尾花数据集、决策树分类器、计算交叉验证值的函数cross_val_scorefromsklearn.datasetsimportload_irisfromsklearn.treeimportDecisionTreeClassifierfromsklearn.model_selectionimportcross_val_score#使用默认参数,创建一颗基于基尼系数的决策树&# 查看详情

决策树

监督学习:给定一堆样本,每个样本都有一组属性和一个类别,类别是事先已知的,利用样本学习得到一个分类器,这个分类器能够对新出现的实例给出正确的分类。这样的机器学习就是监督学习。 一、介绍决策树(DecisionT... 查看详情

ml之监督学习算法之分类算法一————决策树算法

一、概述  决策树的一个重要任务是为了数据中所蕴含的知识信息,因此决策树可以使用不熟悉的数据集合,并从中提取出一系列规则,在这些机器根据数据创建规则时,就是机器学习的过程。二、决策树的构造  决策树:... 查看详情

增强学习与马尔科夫决策过程

...的机器学习算法根据模型的学习过程大致可以分为四类:监督式学习,无监督式学习,半监督式学习和增强学习。①监督式学习:从标记好的训练数据中进行模型的训练,常用来做分类和回归,例如逻辑回归、反向神经网络;②... 查看详情

机器学习sklearn监督学习分类算法决策树decisiontree(代码片段)

#导入鸢尾花数据集、决策树分类器、计算交叉验证值的函数cross_val_scorefromsklearn.datasetsimportload_irisfromsklearn.treeimportDecisionTreeClassifierfromsklearn.model_selectionimportcross_val_score#使用默认参数,创建一颗基于基尼系数的决策树,... 查看详情

6分钟了解所有机器学习模型

所有机器学习模型都可以分为有监督的或无监督的。如果模型是监督模型,则将其再分类为回归模型或分类模型。我们将介绍这些术语的含义以及下面每个类别中对应的模型。监督学习模型监督学习涉及基于示例输入-输出对学... 查看详情

学习分类文本(代码片段)

监督式分类性别鉴定答下列问题:(1)怎样才能识别出语言数据中明显用于分类的特征?(2)怎样才能构建用于自动执行语言处理任务的语言模型?(3)从这些模型中我们可以学到哪些关于语言的知识?决策树,朴素贝叶... 查看详情

机器学习决策树

...是通过一系列规则对数据进行分类的过程。决策树是一种监督学习,因此需要提前给出类别标签和数据集合。决策树的原理:每个决策树都表述 查看详情

决策树特征重要性

...分类树(决策树)是一种十分常用的分类方法。它是一种监督学习,所谓监督学习就是给定一堆样本,每个样本都有一组属性和一个类别,这些类别是事先确定的,那么通过学习得到一个分类器,这个分类器能够对新出现的对象... 查看详情

机器学习之监督学习-分类模型决策树的基本概念

机器学习之监督学习-分类模型决策树的基本概念决策树是一种简单高效且具有强解释性的模型,广泛应用于数据分析领域,其本质是一棵自上而下的由多个判断节点组成的树。我们看看如下图的两棵决策树,第一棵... 查看详情

sklearn1.分类决策树(代码片段)

...策树简介决策树(DecisionTree)是一种非参数的有监督学习方法 查看详情

machinelearning01_decisiontree(决策树)

...出现的对象给出正确的分类。这样的机器学习就被称之为监督学习。下面介绍用ID3算法构造决策树的过程(参考http://blog.csdn.net/acdreamers/article/details/446611 查看详情

机器学习--决策树分类算法及应用

1.决策树分类算法原理1.1概述决策树(decisiontree)——是一种被广泛使用的分类算法。相比贝叶斯算法,决策树的优势在于构造过程不需要任何领域知识或参数设置在实际应用中,对于探测式的知识发现,决策树更加适用1.2算法... 查看详情

决策树、随机森林

...类的决策树。决策树是一种十分常用的分类方法,属于有监督学习(SupervisedLearning)。所谓有监督学习,就是给出一堆样本,每个样本都有一组属性和一个分类结果,也就是分类结果已知,那么通过学习这些样本得到一个决策树... 查看详情

机器学习--决策树

决策树(DecisionTree)决策树是监督学习(supervisedlearning)的一种。机器学习中分类和预测算法的评估:1.准确率2.速度3.强壮型4.可规模性5.可解释性什么是决策树?决策树是一个类似于流程图的树结构:其中,每个内部节点表示在一... 查看详情

机器学习分类

目前,机器学习的方法主要有三种:监督学习、半监督学习和无监督学习。监督学习是利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程。白话一点,就是根据已知的,推断未知的。代表方法有:NaveBayes、... 查看详情

机器学习中---分类模型--决策树模型

...策树(DecisionTree,DT)是一种常见的用于分类和回归的非参数监督学习方法,目标是创建一个模型,通过从数据特性中推导出简单的决策规则来预测目标变量的值。决策树模型的优点在于:1,简单容易理解,数据结构可以可视化表达... 查看详情

基于python实现的决策树模型(代码片段)

...录人工智能第五次实验报告1决策树模型1一、问题背景11.1监督学习简介11.2决策树简介1二、程序说明32.1数据载入32.2功能函数32.3决策树模型4三、程序测试53.1数据集说明53.2决策树生成和测试63.3学习曲线评估算法精度7四、实验总... 查看详情