zoukankan      html  css  js  c++  java
  • 决策树

    1 将决策树看作条件概率分布

      决策树可表示为给定特征条件下类的条件概率分布。即,将特征空间划分为互不相交的单元,每个单元对应于决策树中一条从根节点到叶节点的路径。每个单元对应一个条件概率分布。一个好的决策树在叶节点上的条件概率(即一个单元内的条件概率)应该偏向某个类,即保证叶子节点内的数据的熵很小。

    2 决策树的学习

      决策树的学习包括三步:特征选择,决策树的生成,决策树的剪枝。

      不同的决策树算法有不同的特征选择的方式;

      决策树的生成是为了与训练数据很好的拟合,相当于求局部最优;

      决策树的剪枝是为了降低模型复杂度,使模型对未知数据有更好的预测能力,相当于求全局最优。

      2.1 特征选择

        2.1.1 以信息增益为准则的特征选择

               (1)信息增益的定义

           (2)理解为什么信息增益能够作为特征选择的准则

           (3)给出数据集D和特征A,如何计算信息增益?(公式)

        2.1.2 以信息增益比为准则的特征选择

               (1) 信息增益比的定义(公式)

          (2)原文中写:使用信息增益的来选择特征,会存在偏向于选择取值较多的特征的问题,使用信息增益比可以对这一问题校正。问题是为什么信息增益会偏向于选择取值较多的特征?又为什么信息增益比可以校正?

           2.1.3 以基尼指数为准则的特征选择

          (1) 基尼指数的定义(公式)

          (2)给定样本集合D,如何计算基尼指数?(公式)

          (3)如何计算特征A条件下集合D的基尼指数?(公式)(注意这里是根据特征A是否取某一值a来划分的)

          (3)基尼指数、熵之半、分类误差率的对比图

      2.2 决策树的生成

          (1)ID3生成算法流程(注意什么时候终止递归)

          (2)C4.5生成算法流程(与(1)的区别:使用了不同方法选择特征)

          (3)CART生成算法流程(与(1)的区别:使用了不同方法选择特征,除了选择最优特征,还要选择最优切分点;每次只生成两个子节点,最终生成的是一颗二叉树)

      2.3 决策树的剪枝

          (1)决策树学习的损失函数的定义(公式):训练数据的误差+模型复杂度

          (2)CART剪枝算法:

            注意点:为什么要减去g(t)最小的节点Tt,得到子树T1,并把g(t)作为α?

            因为当α为g(t)时,最优子树一定是T1,原因是其他节点的g(t)都大于α,减去以后损失函数反而增大。

            问题是:剪枝前后的损失函数值都是一样的,为什么还要剪枝。

          (3)ID3和C4.5的剪枝书中没有细讲,但是算法基本类似,只是C(t)计算有差异。

    3 CART回归树

      3.1 回归树的模型

        (1)回归树的模型定义(公式)

          (2)平方误差表示对训练数据的预测误差(公式)

      3.2 最小二乘回归树的生成算法

         注意点:a 对于一个给定的划分单元,这个单元上的最优c值等于这个单元内所有输入实例对应的输出y的均值(公式),这步要会推(二次函数求最值)

             b 算法相当于尝试所有的切分变量和切分点,可以算出每种切分方案对应的最优c值,进而算出每种方案对应的平方误差(公式),然后选择最小误差的切分方案。

             c 递归进行

  • 相关阅读:
    golang并发编程:通道
    golang并发编程:并发同步概述
    java网络通信:TCP协议
    Java基础:GC机制
    Java基础:内存模型
    Java基础:泛型
    Java基础:异常机制
    JavaWEB开发框架:Shiro
    Spring:与Redis的集成
    Spring:面向切片编程
  • 原文地址:https://www.cnblogs.com/coldyan/p/6049432.html
Copyright © 2011-2022 走看看