先补充一下相关概念:
Bagging对样本重采样,对每一重采样得到的子样本集训练一个模型,最后取平均,降低模型的 variance。
Boosting 则是迭代算法,每一次迭代都根据上一次迭代的预测结果对样本进行加权,所以随着迭代不断进行,误差会越来越小, bias 会不断降低。
bagging中的模型是强模型,偏差低,方差高。目标是降低方差。在bagging中,每个模型的bias和variance近似相同,但是互相相关性不太高,因此一般不能降低Bias,而一定程度上能降低variance。典型的bagging是random forest。
boosting中每个模型是弱模型,偏差高,方差低。目标是通过平均降低偏差。boosting的基本思想就是用贪心法最小化损失函数,显然能降低偏差,但是通常模型的相关性很强,因此不能显著降低variance。典型的Boosting是adaboost,GBDT。
过拟合的模型,通常variance比较大,这时应该用bagging对其进行修正。
欠拟合的模型,通常Bias比较大,这时应该可以用boosting进行修正。
参数可分为两类:
过程影响类(如:“子模型数”(n_estimators)、“学习率”(learning_rate)等ÿ