xgboost理解

来源:互联网 发布:小米最美女程序员离职 编辑:程序博客网 时间:2024/06/04 18:10

读 https://homes.cs.washington.edu/~tqchen/pdf/BoostedTree.pdf 笔记:
这里写图片描述

———————————————————

这里写图片描述

———————————————————

这里写图片描述

———————————————————

这里写图片描述

———————————————————

这里写图片描述

———————————————————

这里写图片描述

———————————————————

这里写图片描述

———————————————————

这里写图片描述

———————————————————

这里写图片描述

———————————————————

这里写图片描述

———————————————————

  1. 每一颗树的叶节点的值在这里就是wj
    T是叶节点的数目。
    和传统的boosting tree模型一样,xgboost的提升模型也是采用的残差(或梯度负方向),不同的是分裂结点选取的时候不一定是最小平方损失。
  2. 最终的目标函数(代价函数)只依赖于每个数据点的在误差函数上的一阶导数和二阶导数。这么写的原因很明显,由于之前的目标函数求最优解的过程中只对平方损失函数时候方便求,对于其他的损失函数变得很复杂,通过二阶泰勒展开式的变换,这样求解其他损失函数变得可行了。很赞!

———————————————————

这里写图片描述

———————————————————

这里写图片描述

这里写图片描述

  1. xgboost需要清楚几个问题:
    一阶导数和二阶导数的推导(其实把泰勒展开式搞明白也就把xgboost的原理基本搞明白了)
    预测函数是什么,w是什么,怎么计算
    代价函数是什么,正则化项(数的叶节点和复杂度)
    g,h是什么,怎么计算
    树怎么进行分支