机器学习--stacking和blending的原理和各自的优劣

一.Stacking和blending的概念

(1).stacking是k折交叉验证,元模型的训练数据等同于基于模型的训练数据,该方法为每个样本都生成了元特征,每生成元特征的模型不一样(k是多少,每个模型的数量就是多少);测试集生成元特征时,需要用到k(k fold不是模型)个加权平均;

(2).blending是holdout方法,直接将训练集切割成两个部分,仅10%用于元模型的训练;
机器学习--stacking和blending的原理和各自的优劣_第1张图片
机器学习--stacking和blending的原理和各自的优劣_第2张图片
机器学习--stacking和blending的原理和各自的优劣_第3张图片
机器学习--stacking和blending的原理和各自的优劣_第4张图片
机器学习--stacking和blending的原理和各自的优劣_第5张图片

四.Blending

Blending与Stacking大致相同,只是Blending的主要区别在于训练集建立一个 Holdout集,只在Holdout集上继续预测,用不相交的数据训练不同的 Base Model,将它们的输出取(加权)平均。
例如Holdout是10%的训练数据,第二阶段的 stacker 模型就基于第一阶段模型对这10%训练数据的预测值进行拟合。说白了,就是把Stacking流程中的 K-Fold CV 改成 HoldOut CV。

Blending的优点在于:

(1).比stacking简单(因为不用进行k次的交叉验证来获得stacker feature)

(2).避开了一个信息泄露问题:generlizers和stacker使用了不一样的数据集

(3).在团队建模过程中,不需要给队友分享自己的随机种子

Blending的缺点在于:

(1).使用了很少的数据

(2).blender可能会过拟合(其实大概率是第一点导致的)

(3).stacking使用多次的CV会比较稳健

你可能感兴趣的:(机器学习--stacking和blending的原理和各自的优劣)