《统计学习方法》笔记(六)--决策树

来源:互联网 发布:淘宝网密封胶圈 编辑:程序博客网 时间:2024/06/10 17:51

可以用于分类和回归,书中只介绍分类树用于分类

定性:是一种判别式模型

思路:利用训练数据,根据损失函数最小化的原则建立决策树模型,对于新的数据利用建立的决策树进行分类

决策树学习的主要步骤:特征选择,决策树的生成和决策树的修剪。

主要算法:ID3,C4.5,CART

1.关于决策树模型

定义:一种描述对实例进行分类的树形结构。

组成:结点(内部结点,叶节点)、有向边。其中内部结点表示特征属性,叶节点表示类。

决策树的理解:

a.if-then

决策树的根节点到每个叶节点之间的路径对应一条规则,所经过的内部结点的特征就是条件,叶节点对应的是结果

b.条件概率

决策树表示了给定特征的条件下类的条件概率分布。

2.策略

以损失函数为目标函数的最小化。

(这里涉及到了NP完全问题)

3.算法

a.特征选择

目标:选取有分类能力的特征

引进熵,经验熵,信息增益,信息增益比等概念。

然后用信息增益来定义特征的分类能力得到了ID3算法,而用信息增益比来选择特征得到了C4.5算法。

b.决策树的生成

ID3:从根节点开始,对节点计算所有可能的特征的信息增益,选择增益最大的那个特征作为结点特征,由该特征的不同取值建立子节点;对每个子节点递归调用以上方法,构建决策树;直到所有特征的信息增益都很小或没有特征可选为止。

理论上是在用极大似然法进行概率模型的选择。

在MATLAB中有一个演示:

 load fisheriris;  t = treefit(meas,species);  treedisp(t,'names',{'SL' 'SW' 'PL' 'PW'});

c.决策树的剪枝

原因是有以上方法生成的决策树模型较为复杂,而且存在过拟合的风险。

剪枝的过程是极小化决策树整体的损失函数来实现的。

Ca(T)=C(T)+a|T|,用参数a来调节模型的拟合程度与模型的复杂程度之间的关系。

据书中说是一种动态规划算法实现。(那么什么又是动态规划算法呢)

d.CART(classification and regression tree)

即可以用来分类也可以用来回归

假设决策树是二叉树

引进基尼指数,用基尼指数选取最优分类特征及二分类的最优二值切分点。

算法MATLAB实现

 

 

 

0 0
原创粉丝点击