zoukankan      html  css  js  c++  java
  • 《机器学习技法》---决策树

    1 非线性的聚合---决策树

    决策树可以看作非线性的模型聚合:

    递归形式是:

    其中,G(x)表示决策树对应的函数,b(x)表示分叉的规则,Gc(x)是子树的模型。

    2 一般决策树生成算法的框架

    即,学习划分规则b(x),然后把数据按照b(x)划分为C部分,对每一部分递归地生成子树。注意递归在一定条件停止,直接返回一个g(x)。

    事实上,不同的决策树算法,都是这个基本的框架。不同的地方在于这四个部分的具体定义是不同的:

    3 CART算法

    CART算法中,框架中的四个部分分别定义为:

    number of branches:每次划分的分支规定为2。也就是CART决策树是一个二叉树。

    branching criteria:选择一种划分方式,使得划分后两边数据集不纯度最低(不确定性小):

    base hypothesis:最底层的g(x)是一个常数,使得在最后的小数据集上Ein最小。

    termination criteria:节点中样本个数小于阈值,或基尼指数小于阈值,或没有更多特征。

    回归的不纯度定义为:

    分类的不纯度定义为:

    也称为基尼指数。其中,K是总共的类别数。

    因此,整个算法就是:

     

    4 树的剪枝

    为了避免过拟合,需要对产生的树作剪枝。方法是,对当前的树T,去掉一片叶子,选择去掉之后Ein最大的树,得到T1;再对T1去掉一片叶子.......直到只剩一个节点。对产生的T,T1,T2......,选择加正则项的损失函数最小的树作为最终剪枝的树:

     

    5 决策树算法的优点

    缺点是理论保证上还不太完备。

  • 相关阅读:
    11.22
    11.19
    ConcurrentHashMap中sizeCtl的说明
    Spring源码解析(七) -- Spring事务-初始化篇
    Spring源码解析(六) -- AOP
    Spring源码解析(五) -- 解决循环依赖
    Spring源码解析(四) -- getBean(String name, Class<T> requiredType)
    Spring源码解析(三) -- registerBeanPostProcessors(beanFactory)
    Spring源码解析(二) -- invokeBeanFactoryPostProcessors
    Spring源码解析(一) -- beanfactory
  • 原文地址:https://www.cnblogs.com/coldyan/p/6506323.html
Copyright © 2011-2022 走看看