【第22期】观点:IT 行业加班,到底有没有价值?

机器学习中的bagging技巧

原创 2015年07月10日 17:00:03

bagging的作用

bagging是增强原算法的一种手段。

神经网络、分类问题、回归问题、线性回归中的子集选择问题、k最近邻算法都可以使用bagging来加强。

使用bagging加强后的算法的性能会出现一些有规律的变化。一般而言,若原来的算法的稳定性差,使用bagging后,算法的准确率会得到较大程度的提高。若原来的算法的稳定性高,则使用bagging后,算法的准确率会略微降低。因此,在考虑使用bagging之前,要先知道原算法的稳定性。

研究表明,神经网络、分类问题、回归问题、线性回归中的子集选择问题都是不稳定的,而k最近邻算法是稳定的Breiman [1994]。

bagging简介

设有数据集L={(y_n,x_n), n = 1,…,N},其中y是数值或者类别。记phi(x,L)是一个预测器,其中输入是x,输出的y是算法由x得到的预测值。

如果我们有一组数据集{L_k},其中每个数据集由N个来自数据集L相同分布的观测值组成,那么我们可以基于数据集{L_k}得到比基于数据集L更好的预测器。基于数据集{L_k},可以得到预测器组合{phi(x,L_k)},将分两种情况得到一个{L_k}整体的预测器。

  • y是数值

    整体的预测器是预测器组合{phi(x,L_k)}的平均

  • y是类别

    采用提票机制,预测器组合{phi(x,L_k)}预测出的类别最多的类别作为整体预测器输出的预测类别

如果没有数据集{L_k},可以通过bootstrap sample的方法来产生一组近似的数据集。

Bootstrapping算法

所谓的Bootstrapping法就是利用有限的样本资料经由多次重复抽样,重新建立起足以代表母体样本分布之新样本。
对于一个采样,我们只能计算出某个统计量(例如均值)的一个取值,无法知道均值统计量的分布情况。但是通过自助法(自举法)我们可以模拟出均值统计量的近似分布。有了分布很多事情就可以做了(比如说有你推出的结果来进而推测实际总体的情况)。

bootstrapping方法的实现很简单,假设你抽取的样本大小为n:
在原样本中有放回的抽样,抽取n次。每抽一次形成一个新的样本,重复操作,形成很多新样本,通过这些样本就可以计算出样本的一个分布。新样本的数量多少合适呢?大概1000就差不多行了,如果计算成本很小,或者对精度要求比较高,就增加新样本的数量。

最后这种方法的准确性和什么有关呢?这个我还不是清楚,猜测是和原样本的大小n,和Bootstrapping产生的新样本的数量有关系,越大的话越是精确,更详细的就不清楚了,想知道话做个搞几个已知的分布做做实验应该就清楚了。

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Matlab实现Bagging(集成学习)算法

实验环境:Matlab2016a实验内容:实现Bagging算法,训练多个分量分类器,比较分量分类器和最后的总分类器的分类准确率。Bagging算法:从大小为n的原始数据集中,分别独立随机地选取n’个...

集成学习 (AdaBoost、Bagging、随机森林 ) python 预测

首先明确一下回归与分类的区别: 分类和回归的区别在于输出变量的类型。 定量输出称为回归,或者说是连续变量预测; 定性输出称为分类,或者说是离散变量预测。 举个例子: 预测明天的气温是多少度,...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

集成学习法之bagging方法和boosting方法

集成学习法之bagging方法和boosting方法

机器学习教程之10-聚类(Clustering)-K均值聚类(K-means)的sklearn实现

0.概述 ---- **优点**: 原理简单 速度快 能够处理大量的数据 **缺点**: 需要指定聚类 数量K 对异常值敏感 对初始值敏感

集成学习算法总结----Boosting和Bagging

1、集成学习概述1.1 集成学习概述集成学习在机器学习算法中具有较高的准去率,不足之处就是模型的训练过程可能比较复杂,效率不是很高。目前接触较多的集成学习主要有2种:基于Boosting的和基于Bag...

机器学习(六):集成算法(1)Bagging

1.Aggregation概论1.1 引言三个臭皮匠,顶个诸葛亮。 假设我们有多个预测模型g1,g2...gTg_1,g_2...g_T,能不能将这些模型组合起来,获得更好的性能?回想一下,之前我们...

Akka 在Bagging投票算法中的简单应用

Akka作为优秀的并发框架适用于处理并行计算等问题。 在Akka 初探(一)中对其java接口进行了简单的介绍, 在AkkaCrawler 翻译(一)中对其在并发爬虫方面的应用进行了简单的...

统计学习方法——CART, Bagging, Random Forest, Boosting

本文从统计学角度讲解了CART(Classification And Regression Tree), Bagging(bootstrap aggregation), Random Forest B...

Kaggle债务违约预测冠军经验分享

版权声明:本文为博主原创文章,未经博主允许不得转载。 目录(?)[-] 引言SWOT分析法 优势Strengths利用我们已有的优势弱势weaknesses我们需要提升的...

Weka算法Classifier-meta-Bagging源码分析

Weka算法Classifier-meta-Bagging源码分析
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)