决策树思想介绍

分类决策树的核心思想:在数据集D中找到一个最优特征(如何找?),然后从这个特征的选值中找一个最优候选值(怎么找?一般的二分类问题不需要)根据这个候选属性,将数据集D分成若干个子数据集,然后递归上述操作,直到满足指定条件为止。
1)最优特征怎么找?信息增益、信息增益率和基尼系数
其中,信息增益和信息增益率和熵有关,熵可以用来表示系统的不确定性。决策树的思想就是利用数据存在的一些规则,不断降低数据集的不确定性。
即给定数据集D–>得到其不确定性–>降低不确定性**(找一个让数据集不确定性降低最多的特征)**
2)对于多分类,如何找最优特征的候选值?
决策树中有几个很重要的内容:
1、划分选择方法
2、对连续属性的处理
3、剪枝方法
4、对缺失值的处理。
决策树思想介绍_第1张图片
一、ID3算法,使用信息增益
一般而言,信息增益越大,则意味着使用属性a来进行划分所获得的纯度提升最高。该算法存在的问题:用什么样的特征划分后子节点的特征纯度比较高?该特征的可取值很多的情况下。
信息增益偏向于去找那些拥有子类很多的特征,即对可取值数目较多的属性有偏好。任何带有主观偏向性的算法都不是一个好算法。
西瓜书中 给出了这样一个例子:若把数据集中的编号也作为一个候选划分特征,则可以计算出信息增益是0.998,远大于其他的候选划分属性。编号产生17个分支,纯度很大,但是不具有很好的泛化能力。
另一个问题:该算法的连续属性需要离散化处理。
二、C4.5算法 使用信息增益率,弱化ID3算法中存在的偏向,让选择最优特征时更加公平。
信息增益率通过增大分母控制对取值较多的特征的偏好,但是信息增益率对可取值数目较少的属性有所偏好。因此增加一个启发式规则,即找出信息增益高出平均水平的属性,然后从中选择信息增益率最高的。

该算法对连续值的处理:
对连续值属性a的值进行排序,在每两个取值之间取一个点,则可以取到n(样本数)-1个划分点,然后对这n-1个划分点求信息增益率,选择其中信息增益率最大的值作为划分点。
此方法时间开销太大,因此提出了C5.0算法,速度提升了10倍以上**(还没有学习)**C5.0是C4.5应用于大数据集上的分类算法,主要在执行效率和内存使用方面进行了改进,采用boostig方式提高模型的准确率。

该算法对缺失值的处理:ID3算法是不能直接处理的,需要人工赋值
用概率表示缺失值的可能性。
给定训练集D和属性a,D’表示D中在属性a上没有缺失值的样本子集,根据D’判断属性a的优劣。
在决策树学习开始阶段,根节点中各样本的权重初始化为1。
1)若样本在划分属性a上的取值已知,则将样本划入到与其取值对应的子结点。
2)若样本在划分属性a上的取值未知,则将样本同时划入所有的子结点将,且将样本的权值进行调整。(让同一个样本以不同的概率划入到不同的子结点中)

剪枝处理:防止过拟合的主要手段,将数据集分为训练集和验证集
预剪枝:在决策树生成的过程中,对每个结点在划分前进行估计,若当前结点划分后不能带来泛化性能的提升,则停止划分。(若不进行划分,该结点将被标记为叶结点,其类别为训练样例数最多的类别,若数量相同,则任取一类**(会不会不好?)**)
后剪枝:生成一颗完整的决策树,自底向上对叶结点进行考察,若将该结点对应的字树替换为叶结点泛化性能会提升,则替换为叶结点。
在《西瓜书》中,评估方法采用留出法。

预剪枝有欠拟合的风险,开销小。
后剪枝欠拟合风险小,但是开销大。
决策树思想介绍_第2张图片
多变量决策树:
若把每个属性视为坐标空间中的一个坐标轴则d个属性,则d个属性描述的样本为d维空间的一个点。
决策树所形成的分类界别有一个明显的特点,轴平行。
学习过程中,不是为每个结点寻找一个最优划分属性,而是试图建立一个合适的线性分类器。
决策树思想介绍_第3张图片

用到的公式:
决策树思想介绍_第4张图片

你可能感兴趣的:(机器学习)