内容简介:决策树(Decision Tree)是一种以树形数据结构来展示决策规则和分类结果的模型,它是将看似无序、杂乱的已知实例,通过某种技术手段将它们转化成可以预测未知实例的树状模型。时隔半月,已近年关。AI产品经理必懂算法的第三篇终于来了,今天想和大家聊的是决策树,闲言少叙,切入正题。
决策树(Decision Tree)是一种以树形数据结构来展示决策规则和分类结果的模型,它是将看似无序、杂乱的已知实例,通过某种技术手段将它们转化成可以预测未知实例的树状模型。
时隔半月,已近年关。AI产品经理必懂算法的第三篇终于来了,今天想和大家聊的是决策树,闲言少叙,切入正题。
先上定义,决策树(Decision Tree),又称判断树,它是一种以树形数据结构来展示决策规则和分类结果的模型,作为一种归纳学习算法,其重点是将看似无序、杂乱的已知实例,通过某种技术手段将它们转化成可以预测未知实例的树状模型,每一条从根结点(对最终分类结果贡献最大的属性)到叶子结点(最终分类结果)的路径都代表一条决策的规则。
说完了拗口的定义,老规矩,我们还是用比较通俗易懂的例子,来讲述决策树算法的原理。
决策树也是一种 监督学习 的 分类算法 ,要求输入标注好类别的训练样本集,每个训练样本由若干个用于分类的特征来表示。决策树算法的训练目的在于构建决策树,希望能够得到一颗可以将训练样本按其类别进行划分的决策树。
案例:假设现在我们想预测的是, 女性到底想要嫁什么样的人? 我们现在手里拥有一些未婚男性的数据,其中包括了收入、房产、样貌、学历等字段。
提示:在构建决策树时,每次都要选择区分度最高的特征,使用其特征值对数据进行划分,每次消耗一个特征,不断迭代,直到所有特征均被使用为止。
- 如果还未使用全部特征,剩下的训练样本就已经具有相同类别了,则决策树的构建可以提前完成。
- 如果使用全部特征后,剩下的训练样本中仍然包含一个以上的类别,则选择剩下的训练样本中占比最大的类别作为这批训练样本的类别。
利用决策树的思想,首先我们要考虑的是,上述哪些条件在女性选择男友时最重要的考量指标?好了,假设我就比较在意收入、比较在意物质好了,那么我构建的决策树应该是什么样的呢?来张图大家就明白了。
释义:这张图想表达的意思就是说,我们从如下几个方面去判断,是否要嫁?首先,看其收入是否达到1w元,未达标的不嫁,从已经合格的人群中继续挑选,是否有房产,没有的不行,以此类推,我们将所有的重要指标都过滤一遍以后,就构建出一个完整的决策树了,在此之后,有任何男青年放在这儿,我们都能通过决策树,轻松预测出,此人是否可嫁?
我们来出个题试试,某男,风流倜傥、风度翩翩,但是没有独立房产,收入不固定、学历本科,那么到底要不要嫁呢?
图中的收入、房产、学历等都属于特征,每一个特征都是一个判断的节点,那些不可再向下延伸的就是叶子节点。可再分的称之为分支节点。
接下来了解下决策树算法的 演进历史 ,这其中就包含了主流的几种决策树算法,顺便我们也可以了解一下这几种决策树的差别。
1. ID3(Iterative Dichotomiser 3)
J.R.Quinlan在20世纪80年代提出了ID3算法,该算法奠定了日后决策树算法发展的基础。ID3采用香浓的 信息熵 来计算特征的区分度 。 选择熵减少程度最大的特征来划分数据,也就是“最大信息熵增益”原则。它的核心思想是以 信息增益 作为分裂属性选取的依据。
存在的缺陷:该算法未考虑如何处理连续属性、属性缺失以及噪声等问题。
下面来介绍两个与此有关的概念:
信息熵是一种信息的度量方式,表示信息的混乱程度,也就是说:信息越有序,信息熵越低。举个列子:火柴有序放在火柴盒里,熵值很低,相反,熵值很高。它的公式如下:
信息增益:在划分数据集前后信息发生的变化称为信息增益,信息增益越大,确定性越强。
2. C4.5
J.R.Quinlan针对ID3算法的不足设计了C4.5算法,引入 信息增益率 的概念。它克服了ID3算法无法处理属性缺失和连续属性的问题,并且引入了优化决策树的剪枝方法,使算法更高效,适用性更强。
后续,在1996年Mehta.M等人提出了C4.5算法的改进算法 SLIQ 算法,该算法采用属性表、分类表、类直方图的策略来解决内存溢出的问题。
同样介绍一下 信息增益率 :在决策树分类问题中,即就是决策树在进行属性选择划分前和划分后的信息差值。
3. CART(Classification and Regression Tree)
Breiman.L.I等人在1984年提出了CART算法,即分类回归树算法。CART算法用 基尼指数 (Gini Index)代替了信息熵,用二叉树作为模型结构,所以不是直接通过属性值进行数据划分,该算法要在所有属性中找出最佳的二元划分。CART算法通过递归操作不断地对决策属性进行划分,同时利用验证数据对树模型进行优化。
CART中用于选择变量的 不纯性度量是Gini指数 ,总体内包含的 类别越杂乱,GINI指数就越大 (跟熵的概念很相似)。
2000年Rastogi.R等人以CART算法为理论基础,提出了 PUBLIC (A Decision Tree Classifier that Integrates Building and Pruning)算法,剪枝策略更加高效。
当我们了解了决策树的大概情况之后,接下来就学习一下, 如何构造决策树?
第一步:特征选择;第二步:决策树的生成;第三步:决策树的剪枝。
我们来着重介绍一下剪枝。
剪枝的目的:决策树是充分考虑了所有的数据点而生成的复杂树,有可能出现过拟合的情况,决策树越复杂,过拟合的程度会越高。考虑极端的情况,如果我们令所有的叶子节点都只含有一个数据点,那么我们能够保证所有的训练数据都能准确分类,但是很有可能得到高的预测误差,原因是将训练数据中所有的噪声数据都”准确划分”了,强化了噪声数据的作用。剪枝修剪分裂前后分类误差相差不大的子树,能够降低决策树的复杂度,降低过拟合出现的概率。
如何剪枝?
- 先剪枝:当熵减少的数量小于某一个阈值时,就停止分支的创建。这是一种贪心算法。
- 后剪枝:先创建完整的决策树,然后再尝试消除多余的节点,也就是采用减枝的方法。
注意事项:
决策树的生成对应模型的局部选择,决策树的剪枝对应于模型的全局选择。决策树的生成只考虑局部最优,决策树的剪枝则考虑全局最优。
说了这么多,我们来总结一下 决策树算法的优、缺点 ,以便了解的更为深入。
优点:
- 决策树易于理解和实现.人们在通过解释后都有能力去理解决策树所表达的意义。
- 计算复杂度不高,输出结果易于理解,数据缺失不敏感,可以处理不相关特征。
缺点:
- 容易过拟合。
- 对于各类别样本数量不一致的数据,在决策树当中信息增益的结果偏向于那些具有更多数值的特征。
本文由 @燕然未勒 原创发布于人人都是产品经理。未经许可,禁止转载。
题图来自 Unsplash ,基于 CC0 协议。
以上所述就是小编给大家介绍的《AI产品经理必懂算法:决策树》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 决策树学习笔记(三):CART算法,决策树总结
- 通俗易懂--决策树算法、随机森林算法讲解(算法+案例)
- 决策树算法及实现
- 机器学习算法之决策树
- 神经支持决策树 (NBDT) 算法研究
- 机器学习入门2:第一个算法-决策树DecisionTree
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
构建高性能Web站点
郭欣 / 电子工业出版社 / 2009-8 / 59.00元
本书围绕如何构建高性能Web站点,从多个方面、多个角度进行了全面的阐述,涵盖了Web站点性能优化的几乎所有内容,包括数据的网络传输、服务器并发处理能力、动态网页缓存、动态网页静态化、应用层数据缓存、分布式缓存、Web服务器缓存、反向代理缓存、脚本解释速度、页面组件分离、浏览器本地缓存、浏览器并发请求、文件的分发、数据库I/O优化、数据库访问、数据库分布式设计、负载均衡、分布式文件系统、性能监控等。......一起来看看 《构建高性能Web站点》 这本书的介绍吧!