1 介绍xgboost
1.1
xgboost是boosting算法的一种,是多个表现一般的学习器结合成的强分类器。
在目标函数上,增加了结构风险,也就是正则化项,L1和L2正则,L1是树叶子节点个数,L2是叶子节点打分的平方
在目标函数的优化上,采用二阶泰勒展开,使用了二阶导数,然后令偏导等于0,于是就可以计算出每一个叶子节点的预测分数
以及最小损失
1.2 损失函数:
二分类逻辑回归
多分类softmax
每次迭代的模型:gbtree树模型CART,gblinear线性模型,linear booster很少用到
1.3评估指标:
回归:rmse 均方根误差
分类:错误率,1-准确率
1.4 参数
通用参数:
- 选择线性模型还是树模型
- silent:训练的过程是否输出信息
- nthread线程数
模型参数:(树模型的参数)
- 学习率
- alpha: L1前的系数(在公式中没有看到,只看到γT)
- lambda:L2前的系数
- gamma: 阈值,节点分裂所需的最小损失函数下降值
- min_child_weight:叶子节点样本最小权重和,和GBM的 min_child_leaf 参数类似,但不完全一样。XGBoost的这个参数是最小样本权重的