本篇文章来自实习的时候我在小组里的一次xgboost分享。
自己也是参考了很多资料加上自己的理解,如有错误的地方请各位大大指教,谢谢
基础
1、泰勒公式
2.、优化方法(梯度下降,牛顿法,拟牛顿等等)
3、回归树与GBDT
4、思想(GBDT的一种):xgboost发展脉络整体认识和原理,自己的理解。更好的调参?
5、学习资料
回归(树回归+线性回归)+提升(boosting)+优化(5个方面)牛顿法、预排序、加权分位数、稀疏矩阵识别以及缓存识别等技术来大大提高了算法的性能
低维到高维的转变
极值点:
优化:(怎么求一个函数求极值?)
思想都是迭代法
各种各样的优化算法不同点在于:选取的步长不一样,选取的方向不一样。
Xgboost也是GBDT的一中,只不过进行了大量的优化!,其中一点就是优化方法选取了牛顿法(选取的方向不一样,一个梯度的方向,一个二阶导数的方向)
GBDT(梯度提升树):
首先:
怎么构建迭代的回归提升树(CART),参考:
Cethik.vip/2016/09/21/machineCAST(或者统计学习方法书)
简单讲就是:重复的构建很多树,每一颗树都是基于前面一棵树,使得当前这棵树拟合样本数据平方损失最小。
如果不是平方损失呢?
李航书:当损失函数是平方损失函数或者指数损失时,每一步优化很简单,但对一般损失函数,优化就不是那么容易了。于是,大神提出了梯度提升算法。
梯度提升算法本质:拟合一个回归树使得损失函数最小。