xgboost除了第2.1节中提到的正则化目标之外,还使用了另外两种技术来进一步防止过拟合1。
shrinkage2
第一种技术是由弗里德曼提出的收缩。在树提升的每一步之后,收缩率以η因子的比例缩放新添加的权重。与随机优化中的学习率类似,收缩减少了每棵树的影响,并为未来的树留下了改进模型的空间。
在论文2中有描述:
The “shrinkage” parameter 0 < v ⩽ 1 0<v\leqslant1 0<v⩽1 controls the learning rate of the procedure. Empirically (Friedman, 1999), it was found that small values ( ν ⩽ 0.1 ) (\nu\leqslant0.1) (ν⩽0.1) lead to much better generalization error.
shrinkage参数一般设置在 0 < v ⩽ 1 0<v\leqslant1 0<v⩽1范围内,Empirically (Friedman, 1999)发现小的值 ( ν ⩽ 0.1 ) (\nu\leqslant0.1) (ν⩽0.1)使得有更好的泛化性能;
F m ( x ) = F m − 1 ( x ) + v ⋅ γ l m 1 ( x ∈ R l m ) . F_m(\mathbf{x)=}F_{m-1}(\mathbf{x})+v\cdot\gamma_{lm}1(\mathbf{x}\in R_{lm}). Fm

XGBoost采用了收缩技术和列子采样来防止过拟合。收缩是通过在每步提升后以η因子缩小新添加权重,类似于学习率,通常设置在0.1以下以提高泛化性能。列子采样则是在特征层面进行随机选择,优于传统的行子采样,同时加速计算并防止过拟合。这两种技术都在提升模型的稳定性和性能方面起到了关键作用。
最低0.47元/天 解锁文章
2758

被折叠的 条评论
为什么被折叠?



