决策树

一、什么是决策树及其适用情况

  1. 决策树概况
    决策树是一种基本的回归与分类方法。在分类中,表示基于特征对实例进行分类的过程,是定义在特征空间和类空间上的条件概率分布。优点:具有可读性,分类速度快
    在学习时,利用训练数据,根据损失函数最小化原则建立模型,预测时,对新的数据,利用模型进行分类。从根节点开始,对实例的某一特征进行测试,根据测试结果,将实例分配到其子结点;每个子结点对应该特征的一个取值,递归对实例进行测试并分配,直至达到叶结点,最终将实例分到业界蒂娜类中。
    学习过程通常包括三个:特征选择、决策树生成、决策树修剪。特征选择是为了选出信息增益大的特征,便于更准确的分类,决策树生成根据信息增益的计算增益由大到小进行生成,决策树修剪是为了减少模型复杂性,增加模型拟合性的剪枝。
    2.决策树具体构成要素
    分类决策树模型(排除了回归决策树模型)是一种描述对实例进行分类的树形结构。由结点和有向边构成。结点有两种类型:内部结点、叶结点。内部节点表示一个特征和属性,叶结点表示一个类。
    (1)可将决策树看做if-then规则集合。由决策树的根节点到叶结点的每一条路径构建一条规则:路径上内部节点的特征对应着规则的条件,而叶结点的类对应着规则的结点。
    路径或if-then规则有一个特点:互斥且完备,必须保证所有规则涵盖了所有情况,所有路径涵盖了所有情况,即每个实例都有一条路径或规则所覆盖。
    (2)可将决策树看做给定特征条件下类的条件概率分布。将特征空间划分为互不相交的单元或区域,每个区域中都有类的概率分布,这样就构成了条件概率分布。对划分的特征空间进行计算,如果空间中的类条件概率大于0.5,则认为该特征空间属于该类。
    模型学习目标:
    (1)决策树学习是从训练数据集中归纳出一组分类规则,得到一个与训练数据矛盾较小的决策树,同时具有很好的泛化能力。
    (2)决策树学习是由训练数据集估计条件概率模型,基于特征空间划分的类的条件概率模型有无穷多个,选择条件概率模型应该不仅对训练数据有很好的拟合,而且对未知数据有很好的预测。
    模型学习目标数学表示:(剪枝过程需要最优化的目标)
    损失函数 决策树的损失函数是正则化的极大似然函数,决策树学习是以损失函数为目标函数的最小化。
    如何使损失函数最小得到较优的决策树?
    从所有可能的决策树中选取最优决策树是NP完全问题,常采用启发式方法,近似求解这一最优化问题,得到次最优的决策树。
    二、决策树的几大要点
    特征选择和剪枝是最为重要的两个环节。决策树生成是选完特征后一个必然的过程。
    1.特征选择
    (1)信息增益
    经验熵和经验条件熵之差(互信息)【类和特征之间的互信息】
    经验熵等于负(类频率log类频率的求和),经验条件熵等于(特征值频率特征值条件下类的条件熵的求和)
    (2)信息增益比
    凭借信息增益从大到小选择特征,存在一个问题:倾向特征值较多的类
    信息增益比为信息增益/训练数据集关于特征的熵
    2.决策树生成
    (1)ID3算法——信息增益
    输入:训练数据集D、特征集A、阈值
    输出:决策树T
    ① 若D中所有实例均属于同一类Ck,则T为单节点树,返回T;
    ② 若A=空,则T为单节点,即将D中实例树最大的类Ck作为该节点的类标记,返回T;
    ③ 否则,计算A中各个特征对D的信息增益,选择信息增益最大的特征;
    ④ 如果信息增益小于阈值,则T为单节点树,并将D中实例最大的类作为结点类标记,返回T;
    ⑤ 否则,对Ag特征的每一个可能值,依据特征值将D分割为若干非空子集,将子集中实例最多的类作为结点类标记,构建子结点,由结点和子结点构成树T返回T;
    ⑥ 对第i个结点,以Di为训练集,以A-Ag为特征集,递归调用1-5,得到子树Ti,返回Ti
    (2)C4.5生成算法——信息增益比
    同ID3一样,只是用信息增益比选择特征
    3.决策树剪枝
    剪枝目标:极小化决策树整体的损失函数或代价函数
    三、重要的决策树算法——CART
    1.特征选择与决策树生成
    回归:平方误差最小化;分类:基尼指数
    2.决策树剪枝
    递归进行剪枝,将参数从小到达,得到众多子树,交叉验证选择最优子树。
posted @ 2018-09-04 09:31  FayeXu1  阅读(314)  评论(0)    收藏  举报