Boosting Bagging Stacking整理

2024-06-14 08:58

本文主要是介绍Boosting Bagging Stacking整理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一. 知识点


Bias-Variance Tradeoff

bias-variance是分析boosting和bagging的一个重要角度,首先讲解下Bias-Variance Tradeoff.

假设training/test数据集服从相似的分布,即

yi=f(xi)+ϵi, y i = f ( x i ) + ϵ i ,
其中 noise ϵi ϵ i 满足 E(ϵi)=0 E ( ϵ i ) = 0 , Var(ϵi)=σ2 V a r ( ϵ i ) = σ 2 . f(xi) f ( x i ) 为样本真实值, yi y i 为样本实际观测值.
从训练集我们可以得到一个评估函数 f^ f ^ ,对于测试集的每个样本 j j ,对其观测值yj=f(xj)+ϵj的预测为 f^(xj) f ^ ( x j )

考虑测试集上的MSE(mean squared error)

Test MSE=E[(yf^(x))2]=E[(ϵ+f(x)f^(x))2]=E[ϵ2]+E2[f(x)f^(x)]+Var(f(x)f^(x)) T e s t M S E = E [ ( y − f ^ ( x ) ) 2 ] = E [ ( ϵ + f ( x ) − f ^ ( x ) ) 2 ] = E [ ϵ 2 ] + E 2 [ f ( x ) − f ^ ( x ) ] + V a r ( f ( x ) − f ^ ( x ) )

上式中 E[ϵ2] E [ ϵ 2 ] 来源于测试集本身的误差,不可控。 第二项是bias term, 主要来源于欠拟合,即评估函数 f^(x) f ^ ( x ) 不能够充分拟合数据真实值(模型capacity弱)。最后一项是与过拟合紧密联系的,即评估函数 f^(x) f ^ ( x ) 过度拟合了训练集数据(训练集自身非全局的特性被学习器学到),导致泛化能力弱,一但数据集扰动,误差就很大。

reference:
[1]. http://scott.fortmann-roe.com/docs/BiasVariance.html
[2]. http://cs229.stanford.edu/section/error-analysis.pdf


二. 联系与区别

    Bagging和Boosting都是将已有的分类或回归算法通过一定方式组合起来,形成一个性能更加强大的分类器,更准确的说这是一种分类算法的组装方法。即将弱分类器组装成强分类器的方法。

(1)样本选择上:
Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。
Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。

(2)样例权重:
Bagging:使用均匀取样,每个样例的权重相等
Boosting:根据错误率不断调整样例的权值,错误率越大则权重越大。

(3)预测函数:
Bagging:所有预测函数的权重相等。
Boosting:每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重。

(4)并行计算:
Bagging:各个预测函数可以并行生成
Boosting:各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果。

(5) Bias-Variance角度:
Bagging: 减少variance
Boosting: 减少Bias

reference:
[1]. https://www.cnblogs.com/liuwu265/p/4690486.html
[2]. http://www.cnblogs.com/guolei/archive/2013/05/21/3091301.html


三. 相关面试问题

1. 为什么说bagging是减少variance,而boosting是减少bias?

  • 独立与线性不相关
        假设两个随机变量是 X X Y, 联合概率密度函数是 f(x,y) f ( x , y ) X X 的边缘密度函数是g(x) Y Y 的边缘密度函数是h(y), 他们的期望分别是 E[X] E [ X ] E[Y] E [ Y ] , 方差分别是 Var(X) V a r ( X ) Var(Y) V a r ( Y ) , 协方差是 COV(X,Y)=E[XY]E[X]E[Y] C O V ( X , Y ) = E [ X Y ] − E [ X ] E [ Y ]

        两个随机变量相互独立,等价于联合密度函数等于两个边缘密度的乘积,即 f(x,y)=g(x)h(y) f ( x , y ) = g ( x ) h ( y )

        两个随机变量线性不相关, 等价于协方差或者Pearson的线性相关系数为0,即 COV(X,Y)=0 C O V ( X , Y ) = 0

    独立是线性不相关的充分不必要条件

  • Variance
    给定 N N 个随机变量{X1,X2,...,XN}, 则

    Var(i=1NXi)=i=1Nj=1NCOV(Xi,Xj)=i=1NVar(Xi)+ijCOV(Xi,Xj) V a r ( ∑ i = 1 N X i ) = ∑ i = 1 N ∑ j = 1 N C O V ( X i , X j ) = ∑ i = 1 N V a r ( X i ) + ∑ i ≠ j C O V ( X i , X j )

reference:
[1]. https://en.wikipedia.org/wiki/Variance


TO BE CONTINUED.

这篇关于Boosting Bagging Stacking整理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1059953

相关文章

数论入门整理(updating)

一、gcd lcm 基础中的基础,一般用来处理计算第一步什么的,分数化简之类。 LL gcd(LL a, LL b) { return b ? gcd(b, a % b) : a; } <pre name="code" class="cpp">LL lcm(LL a, LL b){LL c = gcd(a, b);return a / c * b;} 例题:

rtmp流媒体编程相关整理2013(crtmpserver,rtmpdump,x264,faac)

转自:http://blog.163.com/zhujiatc@126/blog/static/1834638201392335213119/ 相关资料在线版(不定时更新,其实也不会很多,也许一两个月也不会改) http://www.zhujiatc.esy.es/crtmpserver/index.htm 去年在这进行rtmp相关整理,其实内容早有了,只是整理一下看着方

笔记整理—内核!启动!—kernel部分(2)从汇编阶段到start_kernel

kernel起始与ENTRY(stext),和uboot一样,都是从汇编阶段开始的,因为对于kernel而言,还没进行栈的维护,所以无法使用c语言。_HEAD定义了后面代码属于段名为.head .text的段。         内核起始部分代码被解压代码调用,前面关于uboot的文章中有提到过(eg:zImage)。uboot启动是无条件的,只要代码的位置对,上电就工作,kern

JavaScript整理笔记

JavaScript笔记 JavaScriptJavaScript简介快速入门JavaScript用法基础语法注释关键字显示数据输出innerHTML innerText属性返回值的区别调试 数据类型和变量数据类型数字(Number)字符串(String)布尔值(Boolean)null(空值)和undefined(未定义)数组(Array)对象(Object)函数(Function) 变量

关于回调函数和钩子函数基础知识的整理

回调函数:Callback Function 什么是回调函数? 首先做一个形象的比喻:   你有一个任务,但是有一部分你不会做,或者说不愿做,所以我来帮你做这部分,你做你其它的任务工作或者等着我的消息,但是当我完成的时候我要通知你我做好了,你可以用了,我怎么通知你呢?你给我一部手机,让我做完后给你打电话,我就打给你了,你拿到我的成果加到你的工作中,继续完成其它的工作.这就叫回叫,手机

站长常用Shell脚本整理分享(全)

站长常用Shell脚本整理分享 站长常用Shell脚本整理分享1-10 站长常用Shell脚本整理分享11-20 站长常用Shell脚本整理分享21-30 站长常用Shell脚本整理分享31-40 站长常用Shell脚本整理分享41-50 站长常用Shell脚本整理分享51-59 长期更新

我自己常用的eclipse 快捷键整理

---------------- 我自己改的快捷键: 复制当前行单下一行  ctrl alt n   --------------------- 自带快捷键: 快速定位到一行  CTRL+L 向上(下)移动选中的行:ALT+UP/DOWN ARROW 删除行(Delete Line):CTRL+D CTRL + 1也很有用     ----------

C/C++ 网络聊天室在线聊天系统(整理重传)

知识点: TCP网络通信 服务端的流程: 1.创建socket套接字 2.给这个socket绑定一个端口号 3.给这个socket开启监听属性 4.等待客户端连接 5.开始通讯 6.关闭连接 解释: socket:类似于接口的东西,只有通过这个才能跟对应的电脑通信。 每一台电脑都有一个IP地址,一台电脑上有多个应用,每个应用都会有一个端口号。 socket一般分为两种类型,一种是通讯,一种是监听

20190315 把整理和培养自己当作一生的事业,而不是局限在找工作拿offer。

把整理和培养自己当作一生的事业,而不是局限在找工作拿offer,做有本事的人。 来东南读研半年了,明显感觉自己掌握的不过是书本知识级别的中上水平,垃圾收集器这些的只知道背面经,靠脑子硬记,缺乏整理和系统,一头浆糊。 现在一边做实训这个烂项目,一边刷面经,一边刷剑指offer,想投些大公司的实习,又觉得还没准备好,看着各 种面经,都能说个大概,但明显感觉到自己知识的不体系和不深入,**做的项目

数据库系统原理概念整理(备考)

基本概念 数据模型 描述数据的概念和工具 关系数据模型 用关系描述数据 数据模型 包含三个方面 结构 操作 约束 对应于 关系数据模型 关系(表) 关系代数 主外键约束,断言 逻辑数据模型:详尽的描述数据,不关心具体的物理层实现,如关系数据模型中,设计实体及实体间的关系,属性,约束等等。业务逻辑的体现。 逻辑模型 --------查询处理----------物理模型 逻辑方面:SQL结构化查询