提升树算法

2023-11-03

这篇博文主要参考了李航《统计学习方法》与论文:GREEDY FUNCTION APPROXIMATION:
A GRADIENT BOOSTING MACHINE。这里简单记录下对提升树的简单理解。
1、梯度提升算法
有关梯度提升算法的细节请参考上述论文,这里直接贴出梯度提升算法的过程:
这里写图片描述
简单谈谈对该算法的理解:第三行表示组合模型为Fm-1时,下一步迭代的最速下降方向。第四行表示弱分类器对下降方向的拟合,从而把数据空间中的优化转化为函数空间中的优化问题;第五步是优化的线性搜索;第六步更新模型。具体而言,损失函数有平方损失、绝对值损失、对数损失等不同的损失函数,这里简单说下平方损失与对数损失。
2、Least-squares regression
这里损失函数为L(y,F)=(y-F)^2/2,对应的算法如图所示:
这里写图片描述

算法2中弱分类器拟合前面模型与真实值差(残差)

3、提升树算法
提升方法实际上采用加法模型与前向分步算法,以决策树为弱分类器的提升方法称为提升树。回归树提升树使用以下的前向分布算法:
这里写图片描述
可以看出,在求下一棵树的过程中,只需要对残差拟合就可以了。
4、Two-class logistic regression and classification
如果损失函数是平方损失函数的时候,残差是比较容易计算的。在不断拟合残差的过程中使得组合模型能够越来越好的拟合训练数据。但是对其他形式的损失函数每一步的优化并不简单。Freidman提出用当前模型的负梯度作为残差近似值,拟合一颗回归树。举例来说,如下损失函数的梯度求解:
这里写图片描述
有了残差的近似值就可以进行下面的拟合,进而得到最终的组合模型了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

提升树算法 的相关文章

  • js实现框选截屏功能

    实现的思路大概就是 先将dom转化为canvas画布 再对canvas进行裁切 然后通过canvas api生成图片 这里用到了一个库html2canvas 效果如图 首先实现框选效果 const mousedownEvent e gt m

随机推荐

  • java 订单审核 加锁_日常小记:订单添加锁机制

    考虑情况 java是个多线程机制 多线程是一把双刃剑 一旦设计到多个线程操作共享资源的情况下 处理不好就会出现线程安全问题 线程安全性可能是非常复杂的 在沒有充足的同步情况下 多个线程执行顺序是不好操作的 同步和异步 同步就是一件事 一件事
  • 数据结构——栈和队列

    数据结构 栈和队列 数据结构 栈和队列 数据结构 栈和队列 1 栈 1 1 栈的概念及结构 1 2 栈的实现 2 队列 2 1 队列的概念及结构 2 2 队列的实现 1 栈 1 1 栈的概念及结构 栈 一种特殊的线性表 其只允许在固定的一端
  • ubuntu goland import 红色波浪线

    首先查看对应的环境变量GOPATH 一定要和goland的是同一个用户 使用命令如下 go env 然后打开goland的 setting 找到对应的GOPATH 如下 apply 然后 ok 即可 错误就没有了
  • sysdig_功能强大的系统工具Sysdig命令实例介绍

    Sysdig是一个能够让系统管理员和开发人员以前所未有方式洞察其系统行为的监控工具 我们可以用sysdig命令做很多很酷的事情 你如果有更有趣的用法 想添加到下面的命令例子中 请告诉我们 1 网络 查看占用网络带宽最多的进程 sysdig
  • R-squared 和 Adjusted R-squared联系与区别

    原文见 https discuss analyticsvidhya com t difference between r square and adjusted r square 264 8 下面是自己理解的总结 大概意思就是说 R squ
  • 【DateFormat】DateFormat用于实现日期的格式化

    DateFormat 创建实例 getDateInstance 返回一个日期格式器 getTimeInstance 返回一个时间格式器 getDateTimeInstance 返回一个日期时间格式器 上述方法均可传入参数指定日期样式和地区
  • 链表OJ练习(2)

    一 分割链表 题目介绍 思路 创建两个链表 ghead尾插大于x的节点 lhead尾插小于x的节点 先遍历链表 最后将ghead尾插到lhead后面 将大小链表链接 我们需要在创建两个链表指针 指向两个链表的头节点 用这两个指针标记lhea
  • c# 本机IP修改

    校园网总是要修改ip 去实验室也要修改ip 想着编一个IP修改的软件比较方便 我用的是 using System Management 报错的话记得在项目的引用中添加 右击 引用 添加引用 System Management private
  • 怎么把wsl1 变成wsl2

    Ensure the distribution runs in WSL 2 mode WSL can run distributions in both v1 or v2 mode To check the WSL mode run wsl
  • 宝塔安装,创建WordPress

    宝塔安装 1 进入宝塔官网 官网地址 https www bt cn new index html 2 安装Linux面板7 9 4 2 1选择 下载安装 这里我们在CentOS7 4上安装所以选择 Linux面板7 9 4 安装脚本 2
  • 清华镜像源下载pytorch及Torchvision

    conda config add channels https mirrors tuna tsinghua edu cn anaconda pkgs free conda config add channels https mirrors
  • 挖掘机铲斗关于是否用最小二乘法

    根源应该在连接杆P3P4那里 它绕P4的旋转 使得P5P3旋转 并产生一定位移 绕液压杆伸缩 同时 P3P1位移 或者旋转 或者先旋转一定角度再位移 此时P2P1运动 这里P2P1的值发生了变化 可能要拟合 铲斗再绕着P2P1的新向量旋转
  • 无人机rtmp推流直播解决方案

    无人机直播的需求 无人机直播是航拍的价值延伸 在无人机进行现场航拍 监控成为行业的基本需求后 将航拍视频实时回传到指挥大厅和业务平台进行远程观看和分析 将会带来更新颖的应用效果和价值 客户需要独立部署的流媒体服务器 尽管不少品牌的无人机可以
  • Pytorch快速入门系列---(三)pytorch中的数据操作和预处理

    目录 1 高维数组 1 1 回归数据准备 1 2 分类数据准备 2 图像数据 1 torchv
  • Vuex从了解到实际运用,彻底搞懂什么是Vuex(一)

    什么是Vuex全局状态管理 一句话来说 Vuex全局状态管理是任意组件之间的通信的解决方案 Vuex实现原理 借助于Vuex提供的单例 可供任意组件的调度 它里面提供了一些对应的状态和方法 比如 state getter mutation
  • php页面添加计数器

    index php 1 4 5 6 7 8 9 10 11
  • 一个好玩的网络空间测绘站(fofa)

    无意间发现了一个好玩的网络空间测绘站 https fofa info 可以轻松嗅探公网资源 而且官方还提供搜索语法说明 上手容易 适合信安学习 也适合相关从业人员 ps 禁止干违法的事情哟
  • 计算机科学和Python编程导论(一) 计算机相关理论

    基本概念 1 计算机基础知识 陈述性知识 关于事实的描述 如果满足y y x 那么x的平方根就是数值y 程序性知识 说明 如何做 描述的是信息演绎的过程 算法 是一个有穷指令序列 它在给定的输入集合中执行时 会按照一系列定义明确的状态进行
  • RedisUtil工具类

    package com test util import java util ArrayList import java util List import java util Map import java util Set import
  • 提升树算法

    这篇博文主要参考了李航 统计学习方法 与论文 GREEDY FUNCTION APPROXIMATION A GRADIENT BOOSTING MACHINE 这里简单记录下对提升树的简单理解 1 梯度提升算法 有关梯度提升算法的细节请参