从奥卡姆剃刀定律再看决策树

一、决策树理论

1、一句话总结决策树

    

-- 决策树是一种自上而下,对样本数据进行树形分类的过程
-- 由结点和有向边组成

2、决策树结点

-- 决策树结点分为:内部结点、叶子节点
-- 每个内部结点表示一个特征或者属性
-- 叶节点表示类别

3、决策树分类过程描述    

-- 从顶部根结点开始,所有样本聚在一起。
-- 经过根结点的划分,样本被分到不同的子结点中。
-- 再根据子结点的特征进一步划分
-- 直至所有样本都被 归到某一个类别(即叶结点)中。

4、决策树应用        

-- 决策树为什么再市场营销和生物医药等领域尤其受欢迎
-- 主要因为树形结构与销售、诊断 等场景下的决策过程十分相似        
    
二、生成决策树的三个过程    

【特征选择】
【树的构造】
【剪枝】

1、特征选择

-- ID3:根据每个特征在分类前后的最大信息增益来选择特征先后顺序
   -- 某特征信息增益 = 分类前信息熵 - 分类后各个结点条件信息熵之和

-- C4.5:根据每个特征在分类前后的最大信息增益比来选择特征的先后顺序
   -- 某特征信息增益比 = 某特征信息增益 / 数据集D关于特征A的取值熵
      -- 其中Di为特征A取第i个值的样本子集大小
   -- ID3和C4.5都是分类树,这是因为他们的损失函数不适用于回归

-- CART:根据特征的最小基尼指数来选择特征先后顺序
   -- CART是回归树:因为CART损失函数是均方差损失,而且回归树一般可以用来做分类
   -- 基尼指数中|Ck|表示样本集合D中属于第K类的样本子集个数,这个K是叶子节点的类别数,而不是特征的取值
   -- CART树是一棵二叉树,假设有一个内部结点A1,值为:1,2,3,则是,单就这个节点而言,每次样本划分的方法是:
      -- {A1 > 1.5 ,A1<1.5} , {A1>2.5 , A1<2.5} ,{A1>3.5 ,A1<3.5} ,切分值为排序后相邻取值的平均值
      -- 然后分别算基尼指数,选择基尼指数最小的切分方法
         这里的Di和其他两种树的Di不太一样,这里的Di不是特征A的具体取值,而是特征A的切分点:
        
-- 为什么强调CART决策树是二叉树,这和ID3,C4.5的区别具体在哪里    
   -- ID3和C4.5都是基于内部节点的每一个取值来计算信息增益或者信息增益比
   -- 所以计算出的是g(D,年龄)这样的结果(此处以年龄为例)
   -- 而CART是二叉树,所以每次都要二分,二分依据是内部节点的某一个切分点
   -- 还是以年龄为例
   -- 所以计算出的就是这样的结果:
   -- Gini(D|年龄=老)=0.4, Gini(D|年龄=年轻)=0.4
        
2、比较三个构造准则异同    

1)、C4.5实际上是对ID3的优化
-- 举一个例子就可以:DNA
-- 每个人的DNA完全不同,但如果按照ID3的逻辑,每次按照DNA进行分类,虽然条件信息熵一定为0,但泛化能力特别差
   -- 因为下次碰不到类似的DNA了,这个模型就无法进行分类
-- C4.5使用信息增益比,引入取值熵的概念,所谓取值熵其实就是对选择取值较多的特征时,加入一个惩罚,增强模型泛化能力

2)、样本类型区别
-- ID3只能处理离散型变量
-- C4.5可以处理连续变量:通过 连续变量 - 找到类别分割线 -根据分割线将连续属性转换为布尔型(比如1,3,4,7,8,可以切分为5以下,5以上) - 布尔型数据即是离散性
-- CART本来就是二叉树,二叉树处理连续变量天然优势

3)、分类与回归
-- ID3和C4.5只能用于分类任务
-- CART既可以分类,又可以回归(使用损失函数为:最小平方误差,最终回归出的值就是叶子节点中所有样本标签的均值)

4)、缺失值问题
-- ID3比较敏感,另外两个不敏感

5)、特征在层级之间复用问题
-- ID3,C4.5每个特征在层级之间不会复用,CART会复用

6)、ID3、C4.5依赖剪枝来权衡树的准确性和泛化能力
-- CART会直接利用全部数据发现所有可能树的结构进行对比(还是二叉树的特性)"        

3、树的剪枝    

决策树的剪枝通常有两种办法:

1)、预剪枝:在树中结点进行扩展之前,先计算当前的划分是否能带 来模型泛化能力的提升,如果不能,则不再继续生长子树
-- 此时可能存在不同类 别的样本同时存于结点中,按照多数投票的原则判断该结点所属类别
-- 常用预剪枝方法:
   -- 树的深度、当前节点样本数量阈值、每次分裂对测试集准确度阈值
-- 风险:依赖经验、容易欠拟合、当前准确率低不一定之后准确率低

2)、后剪枝:是让算法生成一棵完全生长的决策树,然后从最底层向上 计算是否剪枝。剪枝过程将子树删除,用一个叶子结点替代,该结点的类别同样 按照多数投票的原则进行判断
-- 同样地,后剪枝也可以通过在测试集上的准确率 进行判断,如果剪枝过后准确率有所提升,则进行剪枝
-- 缺点:开销大
-- 常见后剪枝方法:错误率降低剪枝(Reduced Error Pruning,REP)、悲 观剪枝(Pessimistic Error Pruning,PEP)、代价复杂度剪枝(Cost Complexity Pruning,CCP)、最小误差剪枝(Minimum Error Pruning,MEP)、CVP(Critical Value Pruning)、OPP(Optimal Pruning)等方法
        
3)、CCP:代价复杂剪枝    "核心思想还是循环每一个内部节点(子树序列)
-- 剪枝之后那个子树用一个叶子节点替代
-- 计算剪枝之后叶子节点t的训练数据集合误差R(t)和剪枝之前那个子树Tt的误差R(Tt)
-- 考虑树的复杂性:即是子树Tt的叶子节点个数
-- 计算误差增加率α:

-- 然后每步选择最小的α进行剪枝(α小即是,减掉同样误差情况下复杂度大的)

4、剪枝算法在决策树中的地位    

剪枝比树的生成过程更为关键

对于不同划分标准生成的过拟合决策树,在经过剪枝之 后都能保留最重要的属性划分,因此最终的性能差距并不大。
-- 理解剪枝方法的理论,在实际应用中根据不同的数据类型、规模,决定使用何种决策树以及对应的 剪枝策略,灵活变通,找到最优选择,是本节想要传达给读者的思想。

三、简单既有效

奥卡姆剃刀定律(Occam’s Razor,Ockham’s Razor)    这个原理最简单的描述是“如 无必要,勿增实体”,即“简单有效原理”。    ID3,Dropout算法都参照了这个理论来降低模型复杂度        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值