xgboost内置了足够丰富的目标函数(objective function),正常来说是能够应付日常需求的,如果~万一~你有特殊需求,它也可以自定义目标函数,或者叫损失函数(loss function),这里介绍下怎么自定义目标函数。
XGBoost如何控制过拟合
加法类模型的拟合能力比较强,所以控制overfitting在GBDT中尤为重要,XGBoost的主要工作有如下几点:
1. 为每一轮的目标函数增加regularization从而约束本轮学到的子函数不至于太强。由于引入regularization导致原来的目标函数变复杂,使用了二阶导数来近似求解。
2. 收缩系数,进一步约束每个子函数的贡献。
3. 列采样,借鉴自随机森林。