目标函数:其中的误差函数可以自定义(满足二阶可导),正则项可以L1或L2



gi = 前t-1棵树的预测与真实值的损失函数在y(t-1)处的导数


q(x)就是 输入在叶子节点上的映射,w(qx) 就是映射对应的打分
就是对将要生成的树的打分的惩罚项

将样本数换算为每个节点上的样本数j,总共T个节点,每个节点的得分w是一样的


w衡量打多少分是最好,L就是衡量一个树有多好

正则化
直观上看,节点数值尽量不极端
举个例子:一场达人秀,树就评委,不同节点对每个人打分数就是w,若w给前九个人0~100区间的分,给最后一个人0 到10000的分,明显不公平啊,打分标准不同啊,太偏向最后一个了,所以要加惩罚

总结来说可能就是:在前1棵树的预测基础上 比较和真实值的区别,以此来影响当前树的生成,(假设结构确定)
当优化方法确定后,树的结构就是依据优化方法的指导,采用贪心算法尝试不同的分裂,寻找一个能使Gain较大的分裂方法,以此确定相对较好的结构。

Xgboost的特点:
1.w是最优化求出来的,不是啥平均值或规则指定的
2.支持自定义loss function
3.支持并行化,boosting技术中下一棵树依赖上述树的训练和预测,所以树与树之间应该是只能串行!那么大家想想,哪里可以并行?! 没错,在选择最佳分裂点,进行枚举的时候并行!(据说恰好这个也是树形成最耗时的阶段)
4.Shrinkage,你可以是几个回归树的叶子节点之和为预测值,也可以是加权,比如第一棵树预测值为3.3,label为4.0,第二棵树才学0.7,….再后面的树还学个鬼,所以给他打个折扣,比如3折,那么第二棵树训练的残差为4.0-3.3*0.3=3.01,这就可以发挥了啦,以此类推,作用是啥,防止过拟合

Xgboost参数:
1)eta:shrinkage参数,更新叶子节点权重时,乘以该系数避免步长过大。
2)min_child_weight:default=1]参数默认是 1,每个叶子里面 h 的和至少是多少,对正负样本不均衡时的 0-1 分类而言,假设 h 在 0.01 附近,min_child_weight 为 1 意味着叶子节点中最少需要包含 100 个样本。这个参数非常影响结果,控制叶子节点中二阶导的和的最小值,该参数值越小,越容易 overfitting。
3) max_depth [default=6]:每颗树最大深度
4)max_leaf_nodes:最大叶结点数
5) gamma [default=0]:后剪枝时,用于控制是否后剪枝的参数。
6)subsample [default=1]:样本随机采样,较低的值使得算法更加保守,防止过拟合,但是太小的值也会造成欠拟合。
7)colsample_bytree [default=1]:列采样,对每棵树的生成用的特征进行列采样。一般设置为: 0.5-1。
8) lambda [default=1]:控制模型复杂度的权重值的L2正则化项参数,参数越大,模型越不容易过拟合。
9)alpha [default=0]:控制模型复杂程度的权重值的 L1 正则项参数,参数值越大,模型越不容易过拟合。 (叶节点个数)


增大树的数量的同时减小学习率

参考链接:
https://www.cnblogs.com/jiangxinyang/p/9248154.html
http://www.cnblogs.com/fujian-code/p/9018114.html
https://blog.csdn.net/u013648367/article/details/79726078
https://blog.csdn.net/ccblogger/article/details/81865540
https://blog.csdn.net/niaolianjiulin/article/details/76574216

Xgboost通俗理解和总结相关推荐

  1. Xgboost通俗理解

    1 xgboost树的定义 2 xgboost目标函数                      --------- 2.1 模型学习与训练误差     2.2 树的复杂度 3 打分函数计算      ...

  2. 通俗理解kaggle比赛大杀器xgboost + XGBOOST手算内容 转

    通俗理解kaggle比赛大杀器xgboost    转 https://blog.csdn.net/v_JULY_v/article/details/81410574 XGBOOST有手算内容 htt ...

  3. 通俗理解kaggle比赛大杀器xgboost

    通俗理解kaggle比赛大杀器xgboost 说明:若出现部分图片无法正常显示而影响阅读,请以此处的文章为准:xgboost 题库版. 时间:二零一九年三月二十五日. 0 前言 xgboost一直在竞 ...

  4. 如何通俗理解Word2Vec

    如何通俗理解Word2Vec 看本文之前,建议先看此文:<BERT通俗笔记:从Word2Vec/Transformer逐步理解到BERT> 前言 今年上半年,我在我的上一篇LSTM博客中写 ...

  5. 如何从RNN起步,一步一步通俗理解LSTM

    如何从RNN起步,一步一步通俗理解LSTM 前言 提到LSTM,之前学过的同学可能最先想到的是ChristopherOlah的博文<理解LSTM网络>,这篇文章确实厉害,网上流传也相当之广 ...

  6. 通俗理解条件熵-数学

    就是决策树里面选划分属性用到的计算 条件熵越小表示划分之后各个集合越纯净 前面我们总结了信息熵的概念通俗理解信息熵 - 知乎专栏,这次我们来理解一下条件熵. 我们首先知道信息熵是考虑该随机变量的所有可 ...

  7. 通俗理解tf.nn.conv2d() tf.nn.conv3d( )参数的含义 pytorhc 卷积

    20210609 例如(3,3,(3,7,7))表示的是输入图像的通道数是3,输出图像的通道数是3,(3,7,7)表示过滤器每次处理3帧图像,卷积核的大小是3 x 7 x 7. https://blo ...

  8. 通俗理解tf.name_scope()、tf.variable_scope()

    前言:最近做一个实验,遇到TensorFlow变量作用域问题,对tf.name_scope().tf.variable_scope()等进行了较为深刻的比较,记录相关笔记: tf.name_scope ...

  9. dft变换的两幅图_离散傅立叶变换DTFT、DFT和FFT在工程与数学结合的通俗理解

    1.离散时间傅里叶变换DTFT 何为DTFT?就是对连续时间非周期信号进行抽样(乘积),得到的离散时间非周期信号再求傅里叶变换的过程就是DTFT.其实等同于信号频谱与脉冲信号频谱的卷积,这样得到的就是 ...

  10. 通俗理解注意力机制中的Q、K和V表示的具体含义

    https://www.jianshu.com/p/7a61533fd73b 通俗理解讲解一 以翻译为例 source:我 是 中国人 target: I am Chinese 比如翻译目标单词为 I ...

最新文章

  1. linux c implicit declaration of function 警告的解决方法
  2. exe文件图标变成了白色无图标
  3. linux命令 - free -m
  4. simulink显示多个数据_如何在 Simulink 中使用 PID Tuner 进行 PID 调参?
  5. 来自java文档 InputStream类
  6. wdr5600 虚拟服务器,TP-Link WDR5600路由器端口映射设置教程
  7. 使用 HttpURLConnection URL 发送请求,解决字符编码问题
  8. centos7上克隆虚拟机后设置静态IP无效的解决方法
  9. 物联网架构成长之路(23)-Docker练习之Elasticsearch服务搭建
  10. Visio图片加全边框
  11. 移动H5手势密码解锁插件--demo
  12. Python 商务统计学 lesson 01
  13. 计算机中所占百分数用哪个函数,Excel中Percentrank函数的使用-计算所占百分比
  14. 如何用计算机声卡录声音,录音声卡怎么设置 录音声卡设置教程
  15. EAUML日拱一卒-多任务编程超入门-(14)麻雀虽小,五脏俱全
  16. 【数据仓库】企业Spark案例--酒店数据分析实战
  17. php批量解密decoder,IonCube v8.3 Decoder解密工具
  18. MIUI9开发版提前完成全系机型适配,近50款小米手机可升级
  19. javaScript中console.log()的用法
  20. 2022年恒生指数研究报告

热门文章

  1. 小程序input获得焦点触发_小程序学习(三)
  2. 数据结构-----平衡二叉树
  3. linux将passwd文件拷贝到,Linux命令
  4. 为什么我推荐你用Ubuntu开发?
  5. python中字符串怎么引用_如何在字符串中引用函数参数
  6. python如何保存计算数据_python – 在scikit-learn中保存新数据的特征向量
  7. oracle10自动扩分区,Oracle 11g数据库的分区表扩展(按年度)
  8. 用python计算2+4+6+…+20的值_Day4-Python-循环和分之学习-2018/7/19
  9. css左侧投影_css单边投影与双侧投影
  10. python快速入门神器 知乎_Python爬虫偷懒神器!快速一键生成Python爬虫请求头