95-Boosting

Boosting

  另外一类集成学习的思路就是 Boosting(增强),它学习的思路就是集成多个模型,但是模型之间不是独立的关系,而是一个相互增强的关系,即每个模型都在尝试增强(Boosting) 整体的效果

  下面就举出 Boosting 中最典型的一个例子 Ada Boosting 为例,它是这样一个思路。以一个简单的回归问题为例,下图描述的是首先我们有原始数据集,然后经过某一种机器学习算法的学习,然后会得到一个结果。

在这里插入图片描述
  
  很显然每一种机器学习算法都会犯错误,然后就得到了图(3)的结果,图(3)中分为深色和浅色两种点,深色的点表示上一步预测错误的点,而浅色的点表示上一步预测准确的点。我们经过上一步的学习形成了图(3)所示的样本点,点和点之间产生了权重的差别(颜色越深表示权重越大)。

在这里插入图片描述
  我们让在上一个模型中没有被很好学习的样本点的权值增大一些,而在上一个模型中已经被很好学习的样本点的权值减小一些,这样形成一个新的样本数据。我们再使用某一种机器学习算法进行学习,又会得到一个结果。

在这里插入图片描述
  
  这样一来,又存在某一些样本点没有被准确预测,所以又形成了图(5)所示的样本点。然后又经过某一种机器学习算法进行学习,又得到一个结果,以此类推。

在这里插入图片描述
  

  其实在这个过程中,我们每一次生成的子模型其实都是想办法在弥补上一次生成的模型没有被成功预测的样本点。换句话说,每一个子模型都在想办法推动增强上一个模型所犯的错误。
  

在这里插入图片描述
在这里插入图片描述
  
  那么另外一个常见的 Boosting 算法叫做 Gradient Boosting。这个算法的思想是这样的。首先针对整体的数据集使用某一种算法来训练出一个模型 m 1 m_1 m1,当然这个模型会产生一些错误,我们把产生的错误叫做 e 1 e_1 e1,那么下一步要做的事情是针对 e 1 e_1 e1 训练出第二个模型 m 2 m_2 m2,即 m 2 m_2 m2 的作用就是能够预测出 m 1 m_1 m1 所犯的错误是什么。那么 m 2 m_2 m2 也会犯错误记作 e 2 e_2 e2,然后针对 e 2 e_2 e2 训练第三个模型 m 3 m_3 m3,然后 m 3 m_3 m3 产生的错误是 e 3 e_3 e3,以此类推。最后形成的预测结果就是: m 1 + m 2 + m 3 + . . . m_1 + m_2 + m_3 + ... m1+m2+m3+...
  
在这里插入图片描述


  具体代码见 95 Boosting.ipynb

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值