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.
实例环境sklearn + anconda + jupyter
- 2.
实例步骤
- 3.
数据:可以采用 datasets 的数据,在此作者使用的是自己整理的股票行情
训练、测试数据归一化
参数寻优可以使用GridSearch,在此不作赘
- 4.
代码实现
Bagging算法特性
1.Bagging通过降低基分类器的方差,改善了泛化误差。
2.其性能依赖于基分类器的稳定性;如果基分类器不稳定,bagging有助于降低训练数据的随机波动导致的误差;如果稳定,则集成分类器的误差主要由基分类器的偏倚引起。
3.由于每个样本被选中的概率相同,因此bagging并不侧重于训练数据集中的任何特定实例。
参考资料
- 1[美] 伊恩·古德费洛 [加] 约书亚·本吉奥 [加] 亚伦·库维尔深度学习人民邮电出版社2017220-222