机器学习——boosting之提升树(未完)

提升树和adaboost基本流程是相似的

我看到提升树的时候,懵了

这...跟adaboost有啥区别???

直到看到有个up主说了,我才稍微懂

相当于,我在adaboost里的弱分类器,换成CART决策树就好了呗?

书上也没有明说,唉。。。

还好,有大神提升树的具体讲解

看出来了,提升树主要是做二叉树分类和回归的:

  • 如果是处理分类问题,弱分类器用CART决策树,就是adaboost了
  • 如果是处理回归问题,弱分类器也是用CART决策树
    • 每个新的弱分类器都是降低残差

1. 推导过程

  1. 建立提升树的加法模型

    • 假设构成第i个弱分类器的参数为 θ i θ_i θi,第i个弱分类器则表示为 T ( x , θ i ) T(x,θ_i) T(x,θi)
    • 当前弱分类器若表示为 T ( x , θ m ) T(x,θ_m) T(x,θm),强分类器则表示为: f m ( x ) = f m − 1 ( x ) + T ( x , θ m ) f_m(x) = f_{m-1}(x)+T(x,θ_m) fm(x)=fm−1(x)+T(x,θm)
    • 预测结果为 y p r e = f m ( x ) = f m − 1 ( x ) + T ( x , θ m ) y_{pre}=f_m(x)=f_{m-1}(x)+T(x,θ_m) ypre=fm(x)=fm−1(x)+T(x,θm)
  2. 损失函数Loss采用平方误差损失函数

    • 使用CART回归树作为弱分类器,那么每次选取的特征及特征值,都会使平方误差损失函数达到最低
    • 但弱分类器是不需要完全CART回归树一次性就把所有特征及特征值都遍历训练完成的,只需要挑选平方损失函数最低的那个特征及特征值
      弱分类器,只进行一个树杈的划分
    • 弱分类器内部的平方损失函数,是取二分树杈的左右两个数据集的平方损失之和最小
      L o s s t r e e = ∑ ( y i l e f t − y ˉ l e f t ) 2 + ∑ ( y j r i g h t − y ˉ r i g h t ) 2 Loss_{tree} = ∑(y_i^{left}-\bar{y}{left})^2+ ∑(y_j^{right}-\bar{y}{right})^2 Losstree=∑(yileft−yˉleft)2+∑(yjright−yˉright)2
    • 强分类器的平方损失函数,是取所有样本的预测值与真实值的平方损失之和最小
      L o s s = ∑ ( y i − y i p r e ) 2 Loss = ∑(y_i-y_i^{pre})^2 Loss=∑(yi−yipre)2
      y i 表示真实值, y i p r e 表示预测值 y_i表示真实值,y_i^{pre}表示预测值 yi表示真实值,yipre表示预测值
    • 根据 y p r e = f m ( x ) = f m − 1 ( x ) + T ( x , θ m ) y_{pre}=f_m(x)=f_{m-1}(x)+T(x,θ_m) ypre=fm(x)=fm−1(x)+T(x,θm),可得
      • L o s s = ∑ ( y i − f m − 1 ( x ) − T ( x , θ m ) ) 2 Loss=∑(y_i-f_{m-1}(x)-T(x,θ_m))^2 Loss=∑(yi−fm−1(x)−T(x,θm))2
      • 其中 y i − f m − 1 ( x ) y_i-f_{m-1}(x) yi−fm−1(x)表示上次强分类器的预测值与实际值的差,一般叫做残差(残留的差值)
      • 我们可以设为 r i = y i − f m − 1 ( x ) r_i = y_i-f_{m-1}(x) ri=yi−fm−1(x),表示残差
      • 那么 要使Loss达到最小,只需要当前的弱分类器,尽可能地拟合残差即可, L o s s = ∑ ( r i − T ( x , θ m ) ) 2 Loss=∑(r_i-T(x,θ_m))^2 Loss=∑(ri−T(x,θm))2
      • 那么我们无需求出当前弱分类器的参数 θ,只要计算出每次的强分类器后的残差,再新增一个弱分类器,对残差进行CART回归树的拟合即可
  3. 每次只对残差拟合,直到Loss函数达到某个极小的阈值、特征及特征值已完全分完了,或达到迭代次数即可

2. 程序设计

相关推荐
小霖家的混江龙3 分钟前
不再费脑, 拆解 AI 的数学工具, 诠释函数, 向量, 矩阵和神经网络的关系
人工智能·llm·aigc
无心水1 小时前
【分布式利器:腾讯TSF】10、TSF故障排查与架构评审实战:Java架构师从救火到防火的生产哲学
java·人工智能·分布式·架构·限流·分布式利器·腾讯tsf
小鸡吃米…8 小时前
机器学习 - K - 中心聚类
人工智能·机器学习·聚类
好奇龙猫8 小时前
【AI学习-comfyUI学习-第三十节-第三十一节-FLUX-SD放大工作流+FLUX图生图工作流-各个部分学习】
人工智能·学习
沈浩(种子思维作者)8 小时前
真的能精准医疗吗?癌症能提前发现吗?
人工智能·python·网络安全·健康医疗·量子计算
minhuan8 小时前
大模型应用:大模型越大越好?模型参数量与效果的边际效益分析.51
人工智能·大模型参数评估·边际效益分析·大模型参数选择
Cherry的跨界思维8 小时前
28、AI测试环境搭建与全栈工具实战:从本地到云平台的完整指南
java·人工智能·vue3·ai测试·ai全栈·测试全栈·ai测试全栈
MM_MS8 小时前
Halcon变量控制类型、数据类型转换、字符串格式化、元组操作
开发语言·人工智能·深度学习·算法·目标检测·计算机视觉·视觉检测
ASF1231415sd9 小时前
【基于YOLOv10n-CSP-PTB的大豆花朵检测与识别系统详解】
人工智能·yolo·目标跟踪
水如烟9 小时前
孤能子视角:“意识“的阶段性回顾,“感质“假说
人工智能