自然语言处理学习笔记

学习笔记-集成模型

2020-03-09  本文已影响0人  Pluto_wl

集成学习通过构建并结合多个学习器来提高泛化性能。思想就是三个臭皮匠,顶个诸葛亮。例如在分类中, 将多个弱分类器通过某种方式结合起来,得到比弱分类器的效果更好的效果。

bagging有放回随机抽样是为了保证多样性,每棵树要多少有点差异。boosting经典的是基于残差的,那就要求每棵树针对一样的数据集。

集成学习分类

  1. stacking:增强分类效果
  2. bagging:降低方差
  3. boosting:降低偏差
  1. 串行:即当前分类器依赖前一个分类器,必须前一个训练完毕才能训练。典型代表是adaboost
  2. 并行:多个不同的分类器之间没有关系,可以同时训练,然后再结合到一起。典型的代表是随机森林

stacking

stacking其实很简单,直接将多个分类器结果合并到一起,训练一层线性分类器得到最终的结果。

  1. 使用所有数据训练了K个模型
  2. 将测试数据输入K个模型,得到K个预测分布
  3. 将K个分布cat到一起,然后经过一层线性分类器得到最终结果

bagging

bagging通过多次有放回采样对数据进行采样,得到T个子集,然后分别使用T个模型对子集进行训练。

  1. 使用bootstrap采样对数据采样出T个子集
  2. 基于子集训练T个模型
  3. 将每个模型结合起来,对于回归任务使用简单平均的方式,对于分类任务,使用多数表决的方式。

boosting

boosting典型代表是AdaBoost算法,特点是通过迭代每次学习一个基本分类器。每次迭代中,提高那些被前一轮分类器错误分类数据的权值,而降低那些被正确分类的数据的权值。最后,AdaBoost将基本分类器的线性组合作为强分类器,其中给分类误差率小的基本分类器以大的权值,给分类误差率大的基本分类器以小的权值。

具体推导请看《统计学习方法》第二版第八章

参考文献
  1. 机器学习 周志华
  2. https://zhuanlan.zhihu.com/p/41809927
  3. 统计学习方法
上一篇下一篇

猜你喜欢

热点阅读