• 1.摘要
  • 2.基本信息
  • 3.简介
  • 4.基本思想
  • 5.算法步骤
  • 6.实例分析
  • 7.Bagging算法特性
  • 8.参考资料

bagging

Bagging算法(英语:Bootstrapaggregating,引导聚集算法),又称装袋算法,是机器学习领域的一种团体学习算法。最初由Leo Breiman于1996年提出。Bagging算法可与其他分类、回归算法结合,提高其准确率、稳定性的同时,通过降低结果的方差,避免过拟合的发生。

基本信息

  • 中文名

    套袋

  • 外文名

    bagging

  • 领域

    统计学

  • 功能

    提高分类法的准确率

简介

Bagging是通过结合几个模型降低泛化误差的技术。主要想法是分别训练几个不同的模型,然后让所有模型表决测试样例的输出。1这是机器学习中常规策略的一个例子,被称为模型平均(modelaveraging)。采用这种策略的技术被称为集成方法。1

模型平均(model averaging)奏效的原因是不同的模型通常不会在测试集上产生完全相同的误差。模型平均是一个减少泛化误差的非常强大可靠的方法。1在作为科学论文算法的基准时,它通常是不鼓励使用的,因为任何机器学习算法都可以从模型平均中大幅获益(以增加计算和存储为代价)。1

基本思想

1.给定一个弱学习算法,和一个训练集;

2.单个弱学习算法准确率不高;

3.将该学习算法使用多次,得出预测函数序列,进行投票;

4.最后结果准确率将得到提高.

算法步骤

给定一个大小为n的训练集D,Bagging算法从中均匀、有放回地(即使用自助抽样法)选出m个大小为n'的子集Di,作为新的训练集。在这m个训练集上使用分类、回归等算法,则可得到m个模型,再通过取平均值、取多数票等方法,即可得到Bagging的结果。

实例分析

  1. 1.

    实例环境sklearn + anconda + jupyter

  2. 2.

    实例步骤

  3. 3.
    • 数据:可以采用 datasets 的数据,在此作者使用的是自己整理的股票行情

    • 训练、测试数据归一化

    • 参数寻优可以使用GridSearch,在此不作赘

  4. 4.

    代码实现

Bagging算法特性

1.Bagging通过降低基分类器的方差,改善了泛化误差。

2.其性能依赖于基分类器的稳定性;如果基分类器不稳定,bagging有助于降低训练数据的随机波动导致的误差;如果稳定,则集成分类器的误差主要由基分类器的偏倚引起。

3.由于每个样本被选中的概率相同,因此bagging并不侧重于训练数据集中的任何特定实例。

参考资料

  • 1
    [美] 伊恩·古德费洛 [加] 约书亚·本吉奥 [加] 亚伦·库维尔深度学习人民邮电出版社2017220-222