构建系统发生树的基本算法(这份分类决策树算法介绍请收好)
Posted
篇首语:只有上不去的天,没有过不去的山。本文由小常识网(cha138.com)小编为大家整理,主要介绍了构建系统发生树的基本算法(这份分类决策树算法介绍请收好)相关的知识,希望对你有一定的参考价值。
构建系统发生树的基本算法(这份分类决策树算法介绍请收好)
摘要: 决策树在机器学习算法中是一个相对简单的算法,如何不能进行适当的剪枝就容易造成模型的过拟合。决策树算法也是当前很多集成学习算法的基础,集成算法的效果往往比单独使用决策树算法效果更好。
关键词: 决策树,集成学习
1 初识决策树
决策树就是一个根据原始数据的特征的重要性逐渐确定数据的类别的一种算法。之所以被称为决策树,是因为训练的模型根据训练的数据确定特征的重要性,然后对测试数据分析时会根据不同数据的各个特征值一步一步地分析到分类,就如同一棵树从树根到树叶的路径一样,可参考下图:
决策树传统上来讲主要是用来做分类的,但是也不排除可以使用该算法进行回归分析,之前的文章也有过介绍如:【机器学习】分类算法其实也可做回归分析——以knn为例。本文主要介绍使用决策树进行分类的原理。
2 构造决策树
刚才说到,决策树是根据数据的不同重要的特征进行一步一步地划分数据的,那么使用什么指标来确定特征的重要性呢?当前主要使用的衡量指标是信息熵和基尼(Gini)指数。
2.1 通过熵构建决策树
2.1.1 信息熵
文献1中指出,信息熵是衡量信息不确定性的指标,不确定性是一个事件出现不同结果的可能性。对应的计算公式如下:
其中,yi是随机变量Y的一个可能事件,P(yi)则代表该事件发生的概率。以常见的例掷硬币为例,两枚骰子正反面出现的概率如下:
对于该硬币掷出去后,信息熵如下:
同理,对于该硬币掷出去后,信息熵如下:
从上面的例子我们可以看出,第二枚硬币正面的概率为0.99,我们基本可以认为硬币掷出去后是正面,所有信息熵比较小,而对于第一枚硬币,由于正反面概率相同,这时掷出硬币后就比较难确定正反面了,信息熵也就比较大了。
2.1.2 条件熵
在决策树确定特征的重要性时除了信息熵以外,还会用到条件熵。在给定随机变量X的条件下,随机变量Y的不确定性。公式如下:
其中xi和yi分别是随机变量X、Y的一个事件。
2.1.3 信息增益
信息增益的定义就是:事件的熵值减去对应的条件熵,代表了在一个条件下,信息不确定性减少的程度。通过下面的公式就可以了解。
当信息增益越大,那么在这个条件下知晓后,事件就比较容易确定了。计算案例可以参考如下(知道某个条件后分成将原始数据分成了两堆):
2.1.4 决策树结构过程
有以下数据,该数据是在不同天气情况下客户打高尔夫球的记录。每条数据包含Outlook、Temp、Humanity、Wind四个特征以及对应的数据标签是否Play Golf。现在我们就可以通过结合天气信息较少不确定性来判断在一些情况下客户是否会打Golf。而每个特征都有多个取值。
现在我们需要明确研究对象,即是否打Golf。
第一步就是:计算Play Golf的熵,可以根据下表进行计算:
首先是构建根节点,先看Play Golf 的熵:在14 条历史数据中,打球的概率为0.64,不打球的
概率为0.36,熵值为0.94。
第二步就是:寻找晴朗程度、湿度、风力和温度四种状况与是否打高尔夫相关性最高的一个特征,进行决策树构建。
- 以Outlook为条件计算的条件熵和信息增益如下:
那么使用Outlook的条件熵:
信息增益:0.940-0.69=0.25 (最佳分割特征)
- 同理分别以Temp、Humidity、Wind计算出对应的信息增益结果为:0.02,0.15,0.05.
- 经比较Outlook的信息增益最大,将其设置为第一个分类依据特征,根据Outlook的取值就可以构建如下图的树:
根据上图结果可以看出在Outlook为Overcast时,这时全部是Play Golf,进而可将决策树简化为下图:
但是在Sunny和Rainy这两个分支中还有数据需要继续划分,划分时只用考虑Temp、Humidity、Wind这三个特征。
在Sunny枝节上的划分时,如下图:
从图中可以看出在Wind特征中,只要是False就Play Golf,True就不打Golf, 也就是说可以对剩下的数据进行划分了,这个枝节结束。当然,同样可以使用信息增益的方式确定这三个特征的优先级。
在Rainy枝节上的划分时,如下图:
从图中可以看出在Humidity特征中,只要是Normal就Play Golf,High就不打Golf,同样也可以使用信息增益的方式选择该特征。另一方面说,这时针对训练数据,决策树就构建完成了。
2.1.5 决策树模型数据预测
假设我们有一个数据如下:
那么根据刚刚构建的决策树模型,则有下图:
那么就可以预测出“True”,即去打Golf。以这种方式构建决策树的算法称为ID3决策树生成算法。
2.2 基于基尼指数构建决策树
使用基尼指数去确定数据的特征的重要性。根据文献1介绍,基尼指数(Gini不纯度)表示在样本集合中一个随机选中的样本被分错的概率。
注:Gini指数越小表示集合中被选中的样本被分错的概率越小,也就是说集合的纯度越高,反之集合就不纯。当集合中所有样本为一个类时,基尼指数为0.
在当前特征条件下,对于是否打Golf,当基尼指数越小时那么,那么集合纯度越大,其对应的特征就越重要。
根据文献2基尼指数定义如下:分类问题中,假设有K个类,样本点属于第k类的概率为pk则概率分布的基尼指数如下:
使用基尼指数的方式与信息熵相同,使用基尼增益确定哪个特征的重要性,下面来看一个例子。
2.2.1 使用基尼指数构建决策树
依然使用根据天气预测是否打高尔夫球的案例,数据在2.1.4节。根据原始数据计算基尼不纯度,一个14条数据,5次No,9次Yes,则基尼不纯度为:
以Outlook特征为条件的基尼指数计算,这时Outlook特征不同取值的概率就可看成一个权重,而Outlook一个取值下存在Play Golf和不打Golf,那么在这个特征下加权的基尼不纯度为:
注:gini(a,b)表示,在当前条件两种结果出现的次数a,b下的基尼指数。
进而可以计算出Gini增益为:0.459-0.342=0.117
同理可计算出分别以Temp,Wind,Humidity为条件的特征的基尼增益为:0.0185,0.0304,0.0916。经比较Outlook的基尼增益最大,特征最重要,与使用熵的方式相类似,以此类推就可以构建一个决策树了。
2.3 基于信息增益比构建决策树
由于以信息增益作为划分训练数据集特征,存在偏向于选择取值较多的问题。使用信息增益比可以对这一问题进行校正。
根据文献2,可知信息增益比:特征A对训练数据集D的信息增益比为:其信息增益g(D,A)与训练数据集D关于特征A的值的熵HA(D)之比。其中HA(D)公式如下:
这里的n表示特征A取值的个数。以这种方式构建决策树的算法称为C4.5决策树生成算法。
Reference
[1] 集成学习:XGBoost, lightGBM. https://www.bilibili.com/video/BV1Ca4y1t7DS
[2] 李航.统计学习方法[M]. 北京,清华大学出版社:55-75
相关参考
思科无线网桥(交换学习笔记8——生成树算法 STP 部分思科私有协议)
...默认是32768,越小就越靠谱。优先级是4096的倍数。生成树算法选举根端口选举指定端口并阻塞备用端口BPDU交换机之间使用BPDU来交换STP信息BridgeProtocolDataUnit-桥协议数据单元BPDU所包含的关键字portfast接口(思科私有)根桥和备份...
数控车削加工工艺内容(数控加工的工艺分析和加工方法,数控程序的编制、结构及常用算法)
...共144页,需要下载请私信小编回复“030”一、程序编制的基本概念数控加工程序编制:从零件图纸到制成控制介质的全过程。将零件的加工信息:加工顺序、零件轮廓轨迹尺寸、工艺参数(F、S、T)及辅助动作(变速、换刀、冷却...
汽车音乐均衡器怎么调(理想L9自研音响算法已上线,收好这份调音指南)
如果问OTA4.1.0版本带来的变化哪个最受大家关注,理想L9的音响切换成自研音效一定排名靠前。当音响开发阶段把声像定位、声场、层次打磨到极致后,想调到一个适合自己听觉喜好的音响效果,就需要均衡器这样的软件了。今...
...40/2=820。公式:(首项+尾项)x项数÷2。这道题是采用的高斯算法。高斯数学是将小学课内课外数学囊括其中,并形成横向7大板块、纵向6个年级的知识树体系的小学尖端数学课程。7大板块包括:计数树、计算树、组合数学树、应用...
环保里面包括有什么项目吗(2022已征211亿元环境保护税的算法你得知道)
在过去的2022年,我国环境质量状况呈现“三个向好”。生态环境部在2023年1月17日上午举行的例行新闻发布会上介绍到,2022年,我国空气质量稳中向好、地表水质量持续向好、近岸海域海水水质总体向好。在这份概括的说明背后...
环保里面包括有什么项目吗(2022已征211亿元环境保护税的算法你得知道)
在过去的2022年,我国环境质量状况呈现“三个向好”。生态环境部在2023年1月17日上午举行的例行新闻发布会上介绍到,2022年,我国空气质量稳中向好、地表水质量持续向好、近岸海域海水水质总体向好。在这份概括的说明背后...
环保里面包括有什么项目吗(2022已征211亿元环境保护税的算法你得知道)
在过去的2022年,我国环境质量状况呈现“三个向好”。生态环境部在2023年1月17日上午举行的例行新闻发布会上介绍到,2022年,我国空气质量稳中向好、地表水质量持续向好、近岸海域海水水质总体向好。在这份概括的说明背后...
快捷高清矩阵(DeepMind攻克50年数学难题AlphaZero最快矩阵乘法算法登Nature)
...论文中,介绍了AlphaTensor,这是第一个用于为矩阵乘法等基本计算任务发现新颖、高效、正确算法的AI系统。论文链接:https://www.nature.
方案有哪些类型(一文读懂机器学习常用算法的基本概念和适用场景)
引用一句英国统计学家GeorgeE.P.Box的名言:Allmodelsarewrong,butsomeareuseful.没有哪一种算法能够适用所有情况,只有针对某一种问题更有用的算法。机器学习算法不会要求一个问题被100%求解,取而代之的是把问题转化为最优化的问题...
模拟驾车训练机(1500支队伍参加高速自动驾驶算法赛,阿里大小蛮驴背后的仿真平台首次亮相)
...开放自动驾驶云上仿真平台,支持全球1500多支队伍角逐算法大赛,探索高速场景下的决策规划控制算法。该仿真平台是阿里自动驾驶产品“小蛮驴”物流车和“大蛮驴”卡车背后的基础研发设施,拥有百万级高对抗场景库,最...