结合之前的部落格:http://www.cnblogs.com/naonaoling/p/4173631.html
一、什么是决策树?
决策树是一种基本的分类和回归算法。
决策树模型呈树形结构,可以认为是if-then规则的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。
决策树模型由结点和有向边组成,结点分为内部结点和叶结点,内部结点表示特征,叶结点表示类,有向边表示某一特征的取值。
学习阶段:利用训练数据集,根据损失函数最小化的原则建立决策树模型
预测阶段:对新的数据,利用决策树模型进行分类
本部落格只针对分类问题进行描述
特性:
(1)多分类或回归
(2)判别模型
(3)学习步骤:特征选择—决策树生成—决策树剪枝
二、决策树模型与学习
1、模型:
分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点和有向边组成。
结点:有内部结点和叶结点两种类型。内部结点表示一个特征或属性,叶结点表示一个类
2、决策树学习
学习模型:根据给定的训练数据集构建一个决策树模型,使它能够对实例进行正确分类。该模型不仅对训练数据有很好的拟合,而且对未知数据有很好的越策
学习策略:通常选择正则化的极大似然函数作为损失函数,损失函数最小化
学习算法:采用启发式算法,近似求解上述最优化问题。
递归地选择最优特征,并根据该特征对训练数据进行分割,使得对各个子数据集有一个最好的分类。
过拟合:以上方法生成的决策树可能对训练数据有很好的分类能力,但对未知的数据却未必,即可能发生过拟合。
剪枝:对生成的树自下而上进行剪枝,将树变得更简单,从而使它具有更好的泛化能力。
特征选择:如果特征数量很多,也可以在学习开始的时候,对特征进行选择。
三、特征选择
参加之前的部落格 http://www.cnblogs.com/naonaoling/p/4173631.html
选取对训练数据具有分类能力的特征,用该特征来划分特征空间。
如果一个特征具有更好的分类能力,或者说,按照这一特征将训练数据集分割成子集,使得各个子集在当前条件下有最好的分类,那么就更应该选择这个特征
特征选择的准则:信息增益或信息增益比。
四、决策树的生成算法
参加之前的部落格 http://www.cnblogs.com/naonaoling/p/4173631.html
1、ID3
在决策树各个结点上应用信息增益准则选择特征,递归地构建决策树
ID3相当于用极大似然法进行概率模型的选择
2、C4.5
特性选择标准:信息增益比(与ID3的本质区别)
五、剪枝
为了避免过拟合现象,从已生成的树上裁掉一些子树或叶结点,并将其根结点或父结点作为新的叶结点,从而简化分类树模型。
决策树生成:考虑更好的拟合训练集数据 —— 学习局部的模型
剪枝:通过优化损失函数还考虑了减小模型复杂度 —— 学习整体的模型
怎么剪? —— 降低不确定性 —— 结构风险最小化
六、CART算法
classificaion and regression tree ,分类与回归树
即可用于分类也可用于回归
特性:
(1)决策树是二叉树,内部结点取值“是”和“否”,分别为左结点和右结点
(2)给定输入随机变量X条件下输出随机变量Y的条件概率分布(之前的算法,既可以是一种if then规则,也可以是条件概率分布)
(3)步骤:决策树生成+决策树剪枝
1、CART生成
递归地构建二叉决策树的过程
1)回归树生成
平方误差最小化
2)分类树生成
基尼指数最小化