机器学习基础—集成学习Bagging 和 Boosting
集成学习 就是不断的通过数据子集形成新的规则,然后将这些规则合并。bagging和boosting都属于集成学习。集成学习的核心思想是通过训练形成多个分类器,然后将这些分类器进行组合。
所以归结为(1)训练样本数据如何选取?
(2)分类器如何合并?
一、bagging
bagging 通过将全部数据集中均匀随机有放回的挑选部分数据,然后利用挑选出的数据训练模型,然后再随机挑选部分数据训练一个新的模型,经过多次选择,形成多个模型,把每一个模型的值加权取平均就是bagging。
所以baging (1)样本数据均匀随机有放回的选取。
(2)分类器取均值。


左边这幅图,随机有放回的取5个数据,取五次,用三阶多项式拟合出5条曲线,看以看出这五条曲线基本上符合图像上点的走势。右边这幅图红色的曲线是用bagging实现的,蓝色的曲线是用四阶多项式实现的。在训练集上蓝色的拟合度优于红色,但是在测试集上红色要由于蓝色。可以看出baggin方法有很强的泛化能力。
二、boosting
boosting 不再均匀随机的挑选数据了,而是把重点放在那些不易进行分类的数据上或者是分错的数据上,增加分错样本的权值,然后再进行训练,经过多次样本数据选择,哪些最难分类的权值会不断增大,直到被分类正确。将形成的多个分类器进行投票,分类类别选择票数最多的那个。
boosting (1)调整权值,选择分错的样本。
(2)分类器合并采取投票的方式。
要理解boosting中如何增加分错样本的权重必须了解“误差”的概念。
误差:在已知样本分布的情况下,某一个样本x上的假设和真实值间不一致的概率。

如上面这幅图,有四个点,分别出现的频率是1/2,1/20,4/10,1/20,所以由上面误差的概念,分错的概率为1/10。
所以样本出现的频率会影响误差,也就是样本的分布会随着权值的变化而变化。相比我们已经分对的样本,分错的样本获得正确结果的概率就越高。
机器学习基础—集成学习Bagging 和 Boosting的更多相关文章
- [机器学习]集成学习--bagging、boosting、stacking
集成学习简介 集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务. 如何产生"好而不同"的个体学习器,是集成学习研究的核心. 集成学习的思路是通过 ...
- 机器学习——集成学习(Bagging、Boosting、Stacking)
1 前言 集成学习的思想是将若干个学习器(分类器&回归器)组合之后产生一个新学习器.弱分类器(weak learner)指那些分类准确率只稍微好于随机猜测的分类器(errorrate < ...
- 集成学习---bagging and boosting
作为集成学习的二个方法,其实bagging和boosting的实现比较容易理解,但是理论证明比较费力.下面首先介绍这两种方法. 所谓的集成学习,就是用多重或多个弱分类器结合为一个强分类器,从而达到提升 ...
- 机器学习:集成学习(Ada Boosting 和 Gradient Boosting)
一.集成学习的思路 共 3 种思路: Bagging:独立的集成多个模型,每个模型有一定的差异,最终综合有差异的模型的结果,获得学习的最终的结果: Boosting(增强集成学习):集成多个模型,每个 ...
- 集成学习算法汇总----Boosting和Bagging(推荐AAA)
sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...
- 集成学习算法总结----Boosting和Bagging
1.集成学习概述 1.1 集成学习概述 集成学习在机器学习算法中具有较高的准去率,不足之处就是模型的训练过程可能比较复杂,效率不是很高.目前接触较多的集成学习主要有2种:基于Boosting的和基于B ...
- 集成学习算法总结----Boosting和Bagging(转)
1.集成学习概述 1.1 集成学习概述 集成学习在机器学习算法中具有较高的准去率,不足之处就是模型的训练过程可能比较复杂,效率不是很高.目前接触较多的集成学习主要有2种:基于Boosting的和基于B ...
- 机器学习:集成学习(OOB 和 关于 Bagging 的更多讨论)
一.oob(Out - of - Bag) 定义:放回取样导致一部分样本很有可能没有取到,这部分样本平均大约有 37% ,把这部分没有取到的样本称为 oob 数据集: 根据这种情况,不对数据集进行 t ...
- 机器学习:集成学习(Bagging、Pasting)
一.集成学习算法的问题 可参考:模型集成(Enxemble) 博主:独孤呆博 思路:集成多个算法,让不同的算法对同一组数据进行分析,得到结果,最终投票决定各个算法公认的最好的结果: 弊端:虽然有很多机 ...
随机推荐
- day-1 用python编写一个简易的FTP服务器
从某宝上购买了一份<Python神经网络深度学习>课程,按照视频教程,用python语言,写了一个简易的FTP服务端和客户端程序,以前也用C++写过聊天程序,编程思路差不多,但是pytho ...
- nyoj 孪生素数
孪生素数问题 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 写一个程序,找出给出素数范围内的所有孪生素数的组数.一般来说,孪生素数就是指两个素数距离为2,近的不能再 ...
- vue 在methods中调用mounted中的方法?
首先可以在data中先声明一个变量 比如 isShow=' ' mounted 中 ---> methods 中 ---> this.sureDelBox(item) 直接this调用 ...
- 关于TomCat上传文件中文名乱码的问题
最近在学习TomCat文件上传这一部分,由于文件上传必须要三个条件: 1.表单提交方式必须为Post 2.表单中需要有<input type="file">元素,还需要 ...
- Django REST framework+Vue 打造生鲜超市(一)
一.项目介绍 1.1.掌握的技术 Vue + Django Rest Framework 前后端分离技术 彻底玩转restful api 开发流程 Django Rest Framework 的功能实 ...
- Python内置函数(10)——float
英文文档: class float([x]) Return a floating point number constructed from a number or string x. If the ...
- 新概念英语(1-121)The man in a hat
Why didn't Caroline recognize the customer straight away ?A:I bought two expensive dictionaries here ...
- Python 爬取淘宝商品信息和相应价格
!只用于学习用途! plt = re.findall(r'\"view_price\"\:\"[\d\.]*\"',html) :获得商品价格和view_pri ...
- linux压缩相关命令
http://blog.csdn.net/mmllkkjj/article/details/6768294
- 用js来实现那些数据结构(数组篇03)
终于,这是有关于数组的最后一篇,下一篇会真真切切给大家带来数据结构在js中的实现方式.那么这篇文章还是得啰嗦一下数组的相关知识,因为数组真的太重要了!不要怀疑数组在JS中的重要性与实用性.这篇文章分为 ...