XGBoost专题(三)
时间:2021-07-20
本文章向大家介绍XGBoost专题(三),主要包括XGBoost专题(三)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
XGBoost专题(三)
XGBoost是由\(k\)个基模型组成的一个加法模型。假设第\(t\)次迭代的树模型是\(f_t(x)\)
\[\widehat{y}_i^{(t)}=\sum_{k=1}^k f_k(x_i)=\widehat{y}_i^{(t-1)}+f_t(x_i)
\]
特点
- 优化过的分布式梯度提升库,大规模并行boosting tree的工具;
原理
XGBoost和GBDT都是提升方法,最大的差异就是目标函数的定义。
目标函数
\[L=\underbrace{\sum_{i=1}^{n}l(y_i,\widehat{y}_i^{(k)})}_{控制模型偏差} + \underbrace{\sum_{t=1}^k \Omega(f_t)}_{控制模型方差}
\]
训练方式,固定t步之前的结构,然后训练第t步的结构。因此得到第t步的损失函数:
\[L^{(t)}=\sum_{i=1}^n l(y_i, \widehat{y}_i^{(t-1)}+f_t(x_i)) + \Omega(f_t) + constant
\]
通过泰勒展开公式来计算偏差,具体推导等复习的时候再写。然后最优化目标函数,现在我还不知道优化的算法是什么。
为什么XGBoost根据分裂收益来构建一棵树,这棵树算出的目标函数能逐步逼近最优解。
参考链接
每天进步一点点!
©版权声明
文章版权归作者所有,未经允许请勿转载。
原文地址:https://www.cnblogs.com/lfywork/p/15035111.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- linux虚拟机配置静态IP地址的完整步骤
- Linux下Mysql定时任务备份数据的实现方法
- Linux系统下快速配置HugePages的完整步骤
- 解决Linux Tensorflow2.0安装问题
- 工作中常用到的Linux命令总结
- Linux中把用户添加到组的4个方法总结
- Linux下配置jdk环境的方法
- Ubuntu 16.04/18.04 安装Pycharm及Ipython的教程
- linux系统对外开放3306、8080等端口,防火墙设置详解
- Linux中selinux基础配置教程详解
- Linux中如何查看已挂载的文件系统类型详解
- 在 Linux 命令行中使用 tcpdump 抓包的一些功能
- CentOS平台快速搭建LAMP环境的方法
- Linux系统中时间的获取和使用
- 基于Linux搭建Apache网站服务配置详解