在集成学习中,结合策略也是影响集成模型性能的重要因素之一。传统的结合策略有多数投票、加权平均等。Stacking的本质是设计合适的结合策略,达到比传统结合策略更优的集成效果。首先,Stacking训练一组基学习器,用以参与后续的集成构建。其次,算法将这些学习器的输出和期望的样本标签视为新的学习任务,通过机器学习或其他策略得到一个新的模型,其中模型的输入为基学习器的输出,目的是通过构建的新模型使基学习器的输出能够更好的逼近理想输出。Stacking着重于集成学习中的结合策略。
伪代码如下所示:
Stacking |
|
输入: |
训练集D={(x1,y1), (x2,y2), ··· , (xm,ym)}; 基学习器训练方法; 次级学习算法; 基学习器个数T; |
Step1: |
根据基学习器训练方法训练T个基学习器; |
Step2: |
对T个基学习器的输出进行整合,将其作为次级训练集和D´; |
Step3: |
利用次级学习算法对新训练集{ D´, Y}进行训练,得到次级学习器H; // H可视为各基学习器输出的加权。 |
输出: |
次级学习器H。 |
为了更进一步说明,Stacking原理图如下:
Panpan Wei 发布了82 篇原创文章 · 获赞 62 · 访问量 5万+ 私信 关注