集成学习 - Bagging
认识
Bagging 的全称为 (BootStrap Aggregation), 嗯, 咋翻译比较直观一点呢, 就有放回抽样 模型训练? 算了, 就这样吧, 它的Paper是这样的:
Algorithm Bagging:
- Let n be the number of bootstrap samples
这步非常关键: 对训练样本进行 有放回抽样, 这样就可达到,将原来只有一个数据集,现在有n个数据集了.
- for i = 1 to n do:
3. Draw bootstrip sample of size \(m, D_i\)
\(D_i\) 表示第 i 个采样的数据集
- Train base classifier \(h_i\) on \(D_i\)
与之前的 voting 不同在于, 这里 hi 算法没有变, 只是数据变了
- \(\hat y = mode(h_1(X), h_2(X)..)\)
mode 是众数的意思, 民主投票, 来确定最终结果
BootStrap 有放回采样
假设数据是均匀分布的, 然后我们有采样了一个样本 X, 假设有 n 条数据, 则每条数据, 被抽中的概率是均等的, 都是:
$P(x_i) = \frac {1}{n} $
没有被抽中的概率是:
\(1-P(x_i) = 1-\frac {1}{n}\)
现在进行有放回抽样, 该条数据在 n次都没有被抽中的概率为:
\(P = (1- \frac {1}{n})^n\)
当 n -> 无穷 时:
\(=\frac {1}{e} = 0.3682...\)
洛必达法则求极限
\(lim_{x \rightarrow 0} e^{ln(1-\frac{1}{n})^n} = e^{lim_{x \rightarrow 0} e^{ln(1\frac{n-1}{n})^n}} = e^1 = e\)
Bias-Variance 分解
也就是误差分解. 当然这里引入也是为了, 说明, 为啥这种 bootstrap 比较能充分利用样本数据做训练
\(Loss = Bias + Variance + Noise\)
怎么理解这个误差(真实值 和预测值)呢, 其实就从上面的式子, 从误差产生的原来做一个分析:
Bias : 模型自身的偏差, 模型都是由假设前提(目标函数的嘛, 只是对真实的一种近似
- Variance: 样本数据的训练误差, 每次抽样不一样, 训练的model也不太一样.
Noise: 真实的样本数据和理想模型有差距, 数据点很多是"异常值" 要特征处理等
case
我自己的栗子, 也谈到过, 就上学那会儿, 为了更好拟合数据, 然后模型很复杂, 就过拟合了. 最直观的是简单线性回归
通常收集到的点是有异常值的, 或者数据的分布没有很线性, 这时候, 如果不考虑实际情况, 就去求解, 不论是最小二乘, 还是梯度下降啥都, 能求解, 但必然是欠拟合的, 这样得到的模型, 会有较大的bias.
于是这时候, 为了更好拟合数据, 我通过给模型增加项, 或正则...之类的, 这样造成的问题是 过拟合了. 或者换一个复杂一些的模型, 如决策树来拟合, 也会面临这样的 "均衡问题".
说这么多,就只是想引入这种, bootStrap (有放回抽样)的 方式来训练模型, 做voting , 这样是可以 "抵消" variance 的. 即从整体来说, 这种有放回抽样的方式来训练模型, 会让样本得到比较充分的 训练. 也可以理解为, 投资组合理论中的, 降低风险. 好像也不大恰当的比喻哦.
上学时有过严格证明的, 关于降低风险, 回头整理下,补充一波吧再
集成学习 - Bagging的更多相关文章
- 集成学习---bagging and boosting
作为集成学习的二个方法,其实bagging和boosting的实现比较容易理解,但是理论证明比较费力.下面首先介绍这两种方法. 所谓的集成学习,就是用多重或多个弱分类器结合为一个强分类器,从而达到提升 ...
- 机器学习基础—集成学习Bagging 和 Boosting
集成学习 就是不断的通过数据子集形成新的规则,然后将这些规则合并.bagging和boosting都属于集成学习.集成学习的核心思想是通过训练形成多个分类器,然后将这些分类器进行组合. 所以归结为(1 ...
- [机器学习]集成学习--bagging、boosting、stacking
集成学习简介 集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务. 如何产生"好而不同"的个体学习器,是集成学习研究的核心. 集成学习的思路是通过 ...
- 机器学习——集成学习(Bagging、Boosting、Stacking)
1 前言 集成学习的思想是将若干个学习器(分类器&回归器)组合之后产生一个新学习器.弱分类器(weak learner)指那些分类准确率只稍微好于随机猜测的分类器(errorrate < ...
- 笔记︱集成学习Ensemble Learning与树模型、Bagging 和 Boosting
本杂记摘录自文章<开发 | 为什么说集成学习模型是金融风控新的杀手锏?> 基本内容与分类见上述思维导图. . . 一.机器学习元算法 随机森林:决策树+bagging=随机森林 梯度提升树 ...
- 集成学习—boosting和bagging
集成~bagging~权值~组合~抽样~样例~基本~并行 一.简介 集成学习通过构建并结合多个学习器来完成学习任务,常可获得比单一学习器显著优越的泛化性能 根据个体学习器的生成方式,目前的集成学习方法 ...
- 集成学习:以Bagging、Adaboosting为例
集成学习是一大类模型融合策略和方法的统称,以下以bagging和boosting为例进行说明: 1.boosting boosting方法训练分类器采用串行的方式,每个弱分类器之间是相互依赖的,尤其后 ...
- 集成学习算法汇总----Boosting和Bagging(推荐AAA)
sklearn实战-乳腺癌细胞数据挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...
- 集成学习一: Bagging
目录 偏倚与方差 Bagging 自助采样 投票 随机森林 参考文献: ''团结就是力量'' 对问题进行建模时, 算法无论如何优化都无法达到我们的要求,又或者精准算法的实现或调优成本太大, 这时,我们 ...
随机推荐
- Python进阶-VI 生成器函数进阶、生成器表达式、推导式
一.生成器函数进阶 需求:求取移动平均数 1.应用场景之一,在奥运会气枪射击比赛中,每打完一发都会显示平均环数! def show_avg(): print('你已进入显示移动平均环数系统!') a ...
- linux下python解释器的sys.path路径如何添加
一. 使用pycharm时, pycharm会自动把我们新建的每个项目都加入到sys.path路径中, 我们在使用过程中根本不涉及 项目路径的处理, 但是当项目部署到linux上时, 问题就来了, l ...
- twig输出转义
twig输出转义--需求:传一个变量到 twig 中,需要插入几个空格,类似于下面这样:sprintf("%s%s -- %s", str_repeat(' ', $path_le ...
- [HDU4867]Xor (线段树分治+类数位dp)
[HDU4867]Xor (线段树分治+类数位dp) 提供一种\((m+n) log a log m\)带有常数约\(\frac{1}{log n}\)的算法 处理询问,将后来加入的数算进序列中,则每 ...
- ROS-RouterOS KVM 安装 OpenWrt 旁路使用
原文: http://bbs.routerclub.com/thread-104864-1-1.html 这里所讲是X86架构的RouteROS的KVM虚拟机,其实RouterOS的KVM很早就有,大 ...
- .NetCore 使用k8s部署服务的过程中需要注意的地方以及遇到的问题
这里开始我准备了3台测试服务器,这里我使用了JumpServer管理起来了,这里我们来看下: Master :192.168.0.236 Node1:192.168.0.237 Node2:192.1 ...
- Kafka为什么速度那么快?
Kafka为什么速度那么快? Kafka的消息是保存或缓存在磁盘上的,一般认为在磁盘上读写数据是会降低性能的,因为寻址会比较消耗时间,但是实际上,Kafka的特性之一就是高吞吐率. 即使是普通的服务器 ...
- Windows下MySQL安装流程,8.0以上版本ROOT密码报错及修改
官网下载MySQL安装后,解压,添加环境变量,以管理员方式运行cmd,运行以下命令 mysqld --initialize --console mysqld -install net start my ...
- 下载工具系列——Aria2 (几乎全能的下载神器)
一.介绍 说完了前面一堆BT/PT客户端,现在终于轮到Aria2了,关于这个我就不介绍太多了,自从百度限速以来我觉得这个快变成众所周知的了,我平时也收集了各种和Aria2相关的插件或者是辅助软件之类的 ...
- scala中nothing和null的区别
1:nothing是所有类型的子类,他没有具体的实例对象,常见的应用:抛出异常.程序exit.无线循环等. 2:nothing是所有类型的子类,也是null的子类,nothing没有对象,但是可以用来 ...