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根据分裂收益来构建一棵树,这棵树算出的目标函数能逐步逼近最优解。
参考链接
每天进步一点点!
©版权声明
文章版权归作者所有,未经允许请勿转载。