博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【机器学习笔记之六】Bagging 简述
阅读量:6859 次
发布时间:2019-06-26

本文共 1067 字,大约阅读时间需要 3 分钟。

本文结构:

  • 基本流程
  • 有放回抽样的好处
  • Bagging 特点
  • sklearn 中 Bagging 使用
  • Bagging 和 Boosting 的区别

bagging:bootstrap aggregating 的缩写。

是一种并行式集成学习方法,可用于二分类,多分类,回归等任务。

基本流程:

  1. 对一个包含 m 个样本的数据集,有放回地进行 m 次随机采样,这样得到具有 m 个样本的采样集。
  2. 取 T 个这样的采样集。
  3. 每个采样集训练一个基学习器。
  4. 结合:分类任务,使用简单投票法。回归任务,使用简单平均法。

有放回抽样的好处

这种有放回抽样会有 63.2% 的样本出现在采样集中,而剩下的 36.8% 样本可以作为验证集对模型的泛化性能进行包外估计。

当基学习器是决策树时,可以用包外样本来辅助剪枝,

还可以用于估计决策树中各结点的后验概率来辅助对零训练样本结点的处理。

基学习器是神经网络时,用包外样本来辅助早期停止来减小过拟合。


Bagging 特点

Bagging 主要关注降低方差,是要降低过拟合,而不会降低偏差,因此最好不要用高偏差的模型。

在不剪枝决策树,神经网络等易受样本扰动的学习器上效用更为明显。例如当基学习器是决策树时,Bagging 是并行的生成多个决策树,此时可以不做剪枝,这样每个都是强学习器,就会有过拟合的问题,但是多个学习器组合在一起,可以降低过拟合。


scikit-learn 中 Bagging 使用例子:

1 from sklearn.ensemble import BaggingClassifier2 from sklearn.neighbors import KNeighborsClassifier 3 model=BaggingClassifier(KNeighborsClassifier(), max_samples=0.5,max_features=0.5)

Bagging 和 Boosting 的区别

  1. 样本选择:Bagging 的训练集是在原始集中有放回选取的,各轮训练集之间是独立的,每个样例的权重相等;Boosting 的训练集不变,只是每个样例在分类器中的权重发生变化,错误的样本会得到更大的重视;
  2. Bagging 的预测函数没有权重之分;Boosting 的预测函数是有权重之分,效果好的函数权重大;
  3. Bagging 的各个预测函数并行产生,容易 map-reduce ,Boosting 的预测是顺序产生,后一个模型参数需要前一轮模型的结果。

学习资料:

《机器学习》

转载地址:http://fiiyl.baihongyu.com/

你可能感兴趣的文章
安全走向开放 建安全架构协同互联生态体系
查看>>
Linux新手最容易跳进哪几个坑?
查看>>
Linux 平台下 Python 脚本编程入门(二)
查看>>
IBM罗睿兰:认知计算将带领医疗走向黄金时代
查看>>
移动医疗怎么才能跟护士愉快地玩耍?
查看>>
大数据流量:数据中心发展的瓶颈
查看>>
网络虚拟化之FlowVisor:网络虚拟层(上)
查看>>
使用 rsync 来备份 Linux 系统
查看>>
五年磨一剑 初志云平台正式服务于用户
查看>>
Python类和元类(metaclass)的理解和简单运用
查看>>
也谈基于NodeJS的全栈式开发
查看>>
《Android应用开发攻略》——1.13 从模拟器/Android设备获得屏幕截图
查看>>
东芝财务造假丑闻发酵 遭投资者索赔1.6亿美元
查看>>
揭秘太空舱舱门快速检漏仪:采用高精度压力传感器检测技术
查看>>
我国光伏产业展现巨大发展前景
查看>>
英国电信和毕马威发布网络安全报告,强调网络安全陷阱问题
查看>>
iPhone 这几个拍照功能,据说 80% 的人都不知道
查看>>
呼叫中心管理成功的几大注意事项
查看>>
Dridex木马如何进行重定向攻击?
查看>>
《新编计算机科学概论》一0.3 计算机与社会
查看>>