【原创】机器学习算法之:决策树

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

1) 学习析取表达式,能再被表示为多个if-then的规则,以提高可读性。

2) 对噪声数据有非常好的适应性。--统计特性

3) 决策树学习方法搜索完整表示的如果空间(一个有效的观点是机器学习问题常常归结于搜索问题。即对非常大的如果空间进行搜索、已确定最佳拟合到观察到的数据),从而避免了受限如果空间的不足。决策树学习的归纳偏置(有兴趣參考“归纳偏置”,“奥坎姆剃刀问题”相关问题更详细的描写叙述)是优先选择较小的树。


决策树表示

决策树通过把实例从根结点排列(怎样选择排列次序是决策树算法的核心)到某个叶子结点来分类实例,叶子结点即为实例所属的分类。树上的每个结点指定了对实例的某个属性的測试。而且该结点的每个后继分支相应于该属性的一个可能值。

如。一颗依据天气情况推断是否參加打网球的决策树例如以下:

【原创】机器学习算法之:决策树

比如,下面的实例:<Outlook=Sunny,Temperature=Hot,Humidity=High,Wind=Strong>将被沿着这棵决策树的最左分支向下排列,因而被评定为反例(也就是这棵树预測PlayTennis=No) 。

通常决策树代表实例属性值约束的合取(conjunction)的析取式(disjunction)。从树根到树叶的每一条路径相应一组属性測试的合取,树本身相应这些合取的析取,该决策树相应于下面表达式:

(Outlook=Sunny ٨Humidity=Normal)

٧(Outlook=Overcast)

٧(Outlook=Rain٨ Wind=Weak)


适用场景

不同的决策树学习算法可能有这样或那样的不太一致的能力和要求。但依据以上分析描写叙述不难看出、决策树学习最适合具有下面特征的问题:

1) 实例是由“属性-值”对(pair)表示的。最简单的决策树学习中,每个属性取少数的分离的值(比如,Hot、Mild、Cold)。

2) 目标函数具有离散的输出值。

3) 可能须要析取的描写叙述,如上面指出的,决策树非常自然地代表了析取表达式。

4) 训练数据能够包括错误。决策树学习对错误有非常好的适应性,不管是训练例子所属的分类错误还是描写叙述这些例子的属性值错误。

5) 训练数据能够包括缺少属性值的实例。

已经发现非常多实际的问题符合这些特征,所以决策树学习已经被应用到非常多问题中。比如依据疾病分类患者;依据起因分类设备故障;依据拖欠支付的可能性分类贷款申请。对于这些问题,核心任务都是要把例子分类到各可能的离散值相应的类别中,因此常常被称为分类问题


主要的决策树学习算法

大多数决策树学习算法是一种核心算法的变体、该算法採用自顶向下的贪婪搜索遍历可能的决策树空间。决策树构造过程是从“哪一个属性将在树的根结点被測试?”这个问题開始的。

1) 使用统计測试来确定每分类能力最好的属性被选作树的根结点的測试。

2) 为根结点属性的每个可能值产生一个分支,并把训练例子排列到适当的分支(也就是,例子的该属性值相应的分支)之下。

3) 反复整个过程,用每个分支结点关联的训练例子来选取在该点被測试的最佳属性。

这形成了对决策树的贪婪搜索,也就是算法从不回溯又一次考虑曾经的选择。

下图描写叙述了该算法的一个简化版本号:


【原创】机器学习算法之:决策树



1. 哪个属性是最佳的分类属性?

ID3 算法的核心问题是选取在树的每个结点要測试的属性,我们希望选择的是最有助于分类实例的属性。


1) 用熵度量例子的纯度

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzydfg.html