机器学习-决策树

本文深入介绍了决策树算法的基本概念、特点及其应用场景。包括决策树的构造过程、递归定义方式及代表性算法C&RT的详细解析。同时探讨了决策树算法的优点与局限性,以及在实际应用中的常见问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

决策树

目录

前景:小合并大

合并小区为一个大区时,情景不同。使用的方法不同

小->大表格图

  • blending意为当所有区已知情况下
  • learing意为边学习,边分类

概述

特点

  • 起源早:起源于机器学习前。
  • 模仿人对事物决策的过程,并完全描述
  • 计算效率高

缺点

  • 轻量级,演算法相对较小
  • 巧妙算法多,但给初学者选择带来不便(参数多)
  • 没有代表性的决策树算法

什么是决策树

让电脑模仿人对事物决策的过程。决策的结构为树形结构,即从根为起点经过一系列判断最终走到叶子节点(终点),这段路径称为决策路径

表达方式

根据路径方式

G(x)=t=1Tqt(x)gt(x)

其中 gt 为叶子节点,也就是所有的 决定结果。他们可以组成一个大区,形式可以为常量或者 liner 的。
qt 为条件:即从 head 到叶子节点的决策工程(ps: true false)

递归方式定义

G(x)=c=1c[[b(x)=c]]Gc(x)

  • b(x) 为不同决策分支
  • Gc(x) 在 c 分支下做递归

算法

总体思路

  1. 设计如何做分支 b(x)
  2. 根据1设计出分块方法
  3. 设计停止条件或回传的叶子节点
  4. 然后各自递归学一颗小树
  5. 最后由程序递归的得到结果

与分而治之思想一致

代表算法

Classification and Regression Tree (C&RT)

特性
  • C = 2决策为一个二叉树
  • 回传参数 gt(x) 为一个常数
    • 0/1 Error:只返回一个最符合的
    • 最后决策结束选一个出现频次最多的即可
  • 分治方式 decision stump:通过一个特征寻找在哪个分段点分段最佳,寻找后在那里分段
  • 在子树中希望找到purifying的数据组,通过加权纯度函数来决定最后结果
  • 需要一个impurityFunciton来判断左右子树是否纯净
  • 最后将不纯度最小化
  • 树为fully-grown tree
纯度损失函数
regressionError

impurity(D)=1Nn=1N(ynŷ )2

ŷ =Avg(yn)

  • yn 在第 n 个位置的 y 元素
classificationError(Gini)

impurity(D)=1Nn=1N[[ynŷ ]]

  • ŷ  yn 的最多情况

  • 使用GiniIndex

    1k=1K(Nn=1[[yn=k]]N)2

  • 这种Loss 的好处是不会一刀将看似不属于最纯分类的结果直接去掉,而是同样让他们在其中影响最后的结果

停止时机
  • impurity = 0:所有情况纯度一致
  • 所有 xn 一致,没有执行decision stumps的地方
fully-grown tree 缺陷
  • 如果输入类别全部不同 则一定能得到 Ein(G)=0 ,这样最后无法控制复杂度
  • 容易 overfitting:越到叶子节点附近,资料量越少。此时会传回一个相对较小的纯度 Error 值导致 overfitting
  • 于是需要对上文的树做 Regularzation,使其变为pruned decision tree
Regular 方法
表达式

argminAPGEin(G)+λΩ(G)

  • λ 在其中作为参数
可行的寻找 possible G的方法
  • 首先得到fully tree
  • 将每个叶子尝试和隔壁的叶子合并掉,合并后看看哪一个叶子得到的Error最小
  • 再尝试合并两个,三个叶子。。。
  • 最后进入上式的APG就只看这个筛选中固定的序列

ID3 决策树

类的切割函数

  • C&RT的切割函数相似,但切割方法需要另外指定穷举
    b(x)=[[xiθ]]+1
  • 注意这里前面的表述符是逻辑条件,满足即为1 不满足为0

其他补充

  • 如果使用类 C&RT 算法时数据忘记切割。那么可以找替代品代替原切割方式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值