是不是一看到大篇数学推导就头晕?是不是觉得机器学习很高大上?是不是觉得学习就是“反人性”?想学又怕数学的同学们可千万别错过的深入浅出系列!
目录
1.What:XGBoost是什么?
XGBoost(eXtreme Gradient Boosting极度梯度提升)梯度提升算法的一种,原始论文中将其定义为可扩展的端到端的树提升系统。先提下Boosting和bagging的区别,boosting算法的各个树之间有依赖关系,是一步一步提升的,而bagging的各个树之间不存在依附关系,是独立决策,比如随机森林。是不是有点懵?梯度提升是啥?可扩展是啥?端到端又是啥?咱们先把含义一个个整明白:
- 模型学习:对于监督学习来说,最核心的目标就是让模型计算的Y和真实Y之间差异最小,这个差异其实就是损失函数(也叫作目标函数)。因此模型训练目标就转化成使损失函数值最小,如何让模型快速找到损失函数的最小值就有很多方法,而梯度提升就是其中的一种。
- 梯度提升:梯度(本质是向量)数学含义是某一个函数沿着梯度方向变化最大,可以想象成函数看起来最陡峭的方向。梯度提升其实就是沿着梯度方向不断迭代。简言之,通过每一步选择损失函数减少最大的方向,一步步坚持走下去,最终总能达到最优解。
- 可扩展性:这个其实是说XGBo