首先来说明一下bootstraps:可以把它认为是一种有放回的抽样方法。

bagging:boostraps aggregating(汇总)

boosting:Adaboot (Adaptive Boosting)提升方法

提升(boosting):在分类问题中,通过改变训练样本的权重,学习多个分类器,并将这些分类器进行线性组合,提高分类的性能。

思想:提升方法就是从弱学习算法出发,反复学习,得到一系列弱分类器(基分类器),然后组合这些弱分类器,构成一个强分类器。

对一份数据,建立M个模型(比如分类),一般这种模型比较简单,称为弱分类器(weak learner)每次分类都将上一次分错的数据权重提高一点再进行分类,这样最终得到的分类器在测试数据与训练数据上都可以得到比较好的成绩。

1)改变训练数据的概率分布 2)改变数据权值分布。

AdaBoost:1)提高那些未被正确分类的样本权值,降低那些被分类正确的样本权值。这样分类错误的样本就被后来的分类器更大的关注。

2)采用加权多数表决,加大准确率高的分类器权值。

算法步骤:

(1)初始化权值

(2)使用具有权值分布的Dm的训练数据学习,得到基本分类器  Gm(x).

(3) 计算Gm(x)在训练数据集上的分类误差率

(4)计算Gm(x)的系数

(5)更新权值分布(如果分类错误要提高权值,分类正确要降低权值(公式我就不打出来了))

不改变所给的训练数据,而是不断的改变数据的权值分布,使得训练数据在基本分类器的学习中起到不同的作用

(6)循环直到多个分类器都训练完。

(7)构建基本分类器

以后等我学了python,我在自己实现一遍。这是串行的,与之前的分类器的学习训练结果有关。,根据错误率采样。

bagging:

通过使用bootstrap随机选取训练数据集,分类器的训练建模师相互独立的,可以采取并行的方式。

bagging的基础是重复取样,通过产生样本的重复Bootstrap实例作为训练集,每回都是从总的样本随机选取和样本一样大小的数据(不一定一样规模),是有放回的,所以可能有的样本数据会重复出现。但其实就是利用这一点。这样通过增加训练数据的差异性生成有差异性的分类器,提高集成泛化能力。

对于这个的理论分析我就不说了,我他妈看不懂。。

boosting和bagging的更多相关文章

  1. 集成学习算法汇总----Boosting和Bagging(推荐AAA)

     sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...

  2. 集成学习算法总结----Boosting和Bagging(转)

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

  3. ML中Boosting和Bagging的比較

    说到ML中Boosting和Bagging,他们属于的是ML中的集成学习,集成学习法(Ensemble Learning) ①  将多个分类方法聚集在一起.以提高分类的准确率. (这些算法能够是不同的 ...

  4. 【机器学习】Boosting和Bagging的差别

    boosting和bagging的差别: bagging中的模型是强模型,偏差低,方差高.目标是降低方差.在bagging中,每个模型的bias和variance近似相同,但是互相相关性不太高,因此一 ...

  5. 集成学习方法Boosting和Bagging

    集成学习是通过构架并结合多个学习器来处理学习任务的一种思想, 目前主要分为两大类:Boosting和Bagging. 对于任意一种集成方法, 我们都希望学习出来的基分类器具有较高的准确性和多样性, 基 ...

  6. 集成学习—boosting和bagging

    集成~bagging~权值~组合~抽样~样例~基本~并行 一.简介 集成学习通过构建并结合多个学习器来完成学习任务,常可获得比单一学习器显著优越的泛化性能 根据个体学习器的生成方式,目前的集成学习方法 ...

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

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

  8. Boosting和Bagging的异同

    二者都是集成学习算法,都是将多个弱学习器组合成强学习器的方法. 1.Bagging (主要关注降低方差) Bagging即套袋法,其算法过程如下: A)从原始样本集中抽取训练集.每轮从原始样本集中使用 ...

  9. 集成学习—boosting和bagging异同

    集成学习 集成学习通过构建并结合多个学习器来完成学习任务.只包含同种类型的个体学习器,这样的集成是“同质”的:包含不同类型的个体学习器,这样的集成是“异质”的.集成学习通过将多个学习器进行结合,常可获 ...

随机推荐

  1. C#实现字符串按多个字符采用Split方法分割

    原文:C#实现字符串按多个字符采用Split方法分割 String字符串如何按多个字符采用Split方法进行分割呢?本文提供VS2005和VS2003的实现方法,VS2005可以用下面的方法: str ...

  2. NSDictionary 初始化

    NSDictionary *dic1=[NSDictionary dictionaryWithObject:@"1" forKey:@"a"];         ...

  3. Tomcat集群配置学习篇-----分布式应用

    Tomcat集群配置学习篇-----分布式应用 现目前基于javaWeb开发的应用系统已经比比皆是,尤其是电子商务网站,要想网站发展壮大,那么必然就得能够承受住庞大的网站访问量:大家知道如果服务器访问 ...

  4. OpenCV码源笔记——RandomTrees (二)(Forest)

    源码细节: ● 训练函数 bool CvRTrees::train( const CvMat* _train_data, int _tflag,                        cons ...

  5. Null-conditional Operators

    https://msdn.microsoft.com/en-us/library/dn986595.aspx x?.y – null conditional member access. Return ...

  6. Git使用简介

    git创建分支并直接切换到分支:git checkout -b name git提交分支到远程服务器: git push origin name/git push origin name:name   ...

  7. 【Todo】【转载】ES6的学习记录

    粗略看了一遍React的内容,然后看了 ES6 的入门文章: http://es6.ruanyifeng.com/#docs/intro 通过这个链接可以查看浏览器对 ES6 的支持程度: http: ...

  8. Java 比较两张图片的相似度

    import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; /** * 比较两张图片 ...

  9. uva 10453 - Make Palindrome(dp, 记录路径)

    题目 题意: 给一个字符串 ,判断最少插入多少个字符 使字符串成为回文串, 并输出回文串. 思路:先用dp判断需要个数, 再递归输出路径. #include <iostream> #inc ...

  10. LA 3510 (置换 循环分解) Pixel Shuffle

    思路挺简单的,题目中的每个命令(包括命令的逆)相当于一个置换. 用O(n2k)的时间复杂度从右往左求出这些置换的乘积A,然后求m使Am = I(I为全等置换) 还是先把A分解循环,m则等于所有循环节长 ...