机器学习笔记之十六——模型融合Blending

  Blending方法是区别于bagging和boosting的另一种集成模型的方法。

  在已经得到多个弱学习器的状况下,如何将这些弱学习器的预测值联合起来,得到更好的预测值,就是Blending做的事情。

 

 1、Uniform Blending

    uniform Blending(平均Blending)是最简单的一种Blending方法。

   定义:已知多个弱学习器(g_1,g_2,g_3...g_t...g_n),每个g_t的权重相同,(G代表融合后的模型)。

    对于Classification问题: G(x) = \underset{1\leq k\leq K}{argmax} \sum ^T_{t=1}[g_t(x)=k] ,K为label类别值。(类似投票,取票数最多的预测结果

    对于Regression问题: G(x)=\frac{1}{T}\sum ^T_{t=1}g_t(x) ,(对所有预测结果取平均)

 

  1.1、unifor Blending 理论支持

  证明:对于Regression问题,以MSE为优化函数,证明Blending model强于单model。

机器学习笔记之十六——模型融合Blending_第1张图片

2、Linear Blending

  定义:已知g_t,对于每个g_t给定一个权重\alpha _t。(非平均权重)

  对于Classification问题,G(x)=sign(\sum _{t=1}^T\alpha _tg_t), \alpha\geq 0

  对于Regression问题:G(x)=\sum _{t=1}^T\alpha _tg_t, \alpha\geq 0

  找到这个‘good’ \alpha _t,就是Linear Blending的答案。

  怎么找?

                   \underset{\alpha _t> 0}{min}\frac{1}{N}\sum _{n=1}^N(y_n-\sum ^T_{t=1}\alpha _tg_t(x_n))^2 ,这个公式实质上就是linearRegression,只不过参数\alpha _t多了个大于0的限制。

3、Any Blending(Stacking)

 Linear Blending是使用linearRegression拟合融合时使用的\alpha _t

Stacking则是使用non-linear model拟合融合时的参数。

 

通常Stacking与k折交叉验证一同使用。

 

你可能感兴趣的:(机器学习)