统计学习方法-集成学习x_第1页
统计学习方法-集成学习x_第2页
统计学习方法-集成学习x_第3页
统计学习方法-集成学习x_第4页
统计学习方法-集成学习x_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 PAGE9 页 共 NUMPAGES9 页统计学习方法集成学习x统计学习方法 集成学习 集成学习作为当今性能最好的多模型分类器,我们必须要了解它一下。这里我们从最简单的集成学习 Bagging 开始讲起,一直讲到 GBDT 为止。1. 集成学习 集成学习是多模型学习的一种,它是集成多个弱分类器来进行决策。就是“三个臭皮匠赛过诸葛亮”,但是一般来讲是赛不了的,为什么呢?首先如果三个臭皮匠是三胞胎,那么三个臭皮匠和一个臭皮匠是无异的,另外,如何把这三个决策统一起来是另外一个问题。因此我们从这两方面来入手讲解集成学习。2.Bagging bagging 的想法非常简单,假设我们有 T 个分类器,

2、每个分类器需要 m 个训练样本。我们只需要使用自助采样法(有放回采样)获取到这 m 个样本即可。这样我们就有了 T 个包含了 m 个样本的训练集,来训练 T 个分类器。最终对同一样本进行简单的投票决策即可。具体算法描述如下图:输入:训练集Di=(x1,y1),(x2,y2),.,(xm,ym)基础分类器个数 T 过程 1:for t=1,2,3.,T do 2ht=训练分类器(Di)训练分类器训练分类器3:H(x)=argmaxyYt=1TI(ht(x)=y) ()()这就是最简单的 bagging,它就是兼听则明的一个典型代表,但是它只能去减少方差,但是不能够保证最终的结果更加正确,万一所有

3、的大臣串通一气,你就算听取了所有大臣的意见,仍然是一个昏君。3.RandomForest 随机森林是在 bagging 上的一个改进,在 bagging 中,我们只去扰动了样本,也就虽然每个 T 的训练样本是服从同分布的,但是样本的个体是不同的,也就是说,我们假设每个 T 都是一个游客在看一座山,虽然每个人都是独立的看,但是都是在同一方向上看的,因此差异性不会特别大。而随机森林则加入了另一个扰动,那就是训练模型的不同,也就是说每个人都在不同的角度看同一座山,这样描述的会更加准确。这里我们主要讲解一下结合的策略。常规来讲,主要有这么几种策略:多数表决、平均值、加权表决/平均值。多数表决,就是一人

4、一票,每人都平等对待,然后得票多的结果获胜。平均值则是把所有人的决策取平均,加权的话,就是把每个分类器不平等对待。另外,如果每个分类器性能差异比较大的时候,建议使用多数表决。每个分类器差异较小的时候,建议使用平均值。另一方面,还有一个 Stacking 算法,它比较特殊,它会先使用一些初级学习器,然后生成一个新数据集再来进行一次训练。新的数据集主要是添加了初级学习器的预测结果,然后再训练次级学习器,这种方法比较适用于多响应线性回归。4.Boosting boosting 和 bagging 的思路完全不同,它是使用同一个训练集,但是每个分类器都是有顺序的,当前分类器依赖于前一个分类器的性能表现

5、。就目前实现而言boosting 中最具代表的是 AdaBoosting,它主要用于二分类,并且维护一个样本权重表来保证模型的性能。它的主要思想是,初始化时,所有的样本都具有同权重,当进入第一个分类器分类后,挑选出其中错误的样本,对其权重进行增加,对正确样本权重减少,这样保证下一个分类器对于错误的样本能够更好的修正。具体算法如下:输入:训练集Di=(x1,y1),(x2,y2),.,(xm,ym)基础分类器个数 T 过程:D1(x)=1mfor t=1,2,.,T do ht=训练分类器(D,Dt)训练分类器,训练分类器,t=ht 的错误率的错误率的错误率ift0.5thenbreak/这里是

6、说如果错误率大于乱猜了,则不要继续了这里是说如果错误率大于乱猜了,则不要继续了这里是说如果错误率大于乱猜了,则不要继续了t=12ln(1tt)Dt+1(x)=Dt(x)_exp(tf(x)ht(x)Ztend for H(x)=sign(Tt=1tht(x)从上面可以看出,它是一个自适应提升模型,首先一点就是它的第 i 次的性能会随着第 i-1 次而不断的调整,最后取得最优值。但是这还不是最后的优化方案,因为还有更优秀的 BoostingTree。5.BoostingTree 提升树主要有两点的提升,第一就是对于 Boosting 的每一轮迭代,它的目标任务是不同的,每次都是记录残差,而不是真

7、正的标签。也就是说除了第一棵树是正常分类的,后面的树都是不断修正之前的树的预判的,从而达到整体预判效果,具体来讲,它的每个树是 CART 树,具体的算法如下:输入:训练数据集 T 输出:提升树 fM(x).(1) 初始化 f0(x)=0(2)对 m=1,2,.,M 计算残差:rmi=yifm1(xi),i=1,2,.,N 计算残差:计算残差:使用残差来拟合回归树Tm 使用残差来拟合回归树使用残差来拟合回归树更新提升树fm(x)=fm1(x)+Tm 更新提升树更新提升树(3)得到回归提升树 fM(x)那么,什么时候停止呢,使用平方和误差低于某一值时,就认为拟合成功了。但是这还不是最终的结果,最终

8、的为 GBDT 6.GBDT GBDT 较上面更新之处在于每次修剪的幅度不同。上面讲的误差使用的是平方损失误差,而 GBDT 则是使用梯度来解决。算法如下 输入:训练集 T,损失函数 L 输出:回归树 f(x) (1)初始化f0(x)=argminci=1NL(yi,A)(2)对于 m=1,2,.,M 对 1,2,.,N,计算残差rmi=L(yi,f(xi)f(xi)f(x)=fm1(x) 对计算残差对计算残差使用 rmi 拟合一个回归树,得到第 n 棵树的叶节点区域Rmj 使用拟合一个回归树,得到第棵树的叶节点区域使用拟合一个回归树,得到第棵树的叶节点区域对 j=1,2,.,J,计算 cmj=argmincxiRmjL(yi,fm1(xi)+A)/这里是对每一个决策区域找到其最小的步长 对计算这里是对每一个决策区域找到其最小的步长对计算这里是对每一个决策区域找到其最小的步长更新树 fm(x)=fm1(x)+j=1JcmjI(xRmj)/这里 cmj 表示的是误差,也是改进步长,其实是说加上属于那一类别梯度的步长,这里 x 只会属于其中一个类别. 更新树这里表示的是误差,也是改进步长,其实是说加上属于那一类别梯度的步长,这里只会属于其中一个类别更新树这里表示的是误差,也是改进步长,其实是说

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论