码迷,mamicode.com
首页 > 其他好文 > 详细

Aggregation(1):Blending、Bagging、Random Forest

时间:2016-05-23 16:44:04      阅读:228      评论:0      收藏:0      [点我收藏+]

标签:

假设我们有很多机器学习算法(可以是前面学过的任何一个),我们能不能同时使用它们来提高算法的性能?也即:三个臭皮匠赛过诸葛亮。

有这么几种aggregation的方式:

技术分享

一些性能不太好的机器学习算法(弱算法),如何aggregation,成为表现比较好的算法?来看一下:

技术分享

我们可以看出,有时候aggregation的表现像是在做feature transform,有时候又像是在做regularization。

 

Blending:uniform Blending、 linear Blending、 any Blending

技术分享

技术分享

技术分享

技术分享

我们可以看出:机器学习算法A的表现,分为两部分,performance of consensus (bias) 和 expected deviation to consensus (variance)。而uniform blending提高性能是通过减小variance ,来获得更加stable的算法来实现的。

技术分享

其中α必然会大于0,约束条件可以去掉。

技术分享

技术分享

技术分享

 

Bagging

我们可以看出,aggregation之所以奏效,是因为机器学习算法的多样性。那么,如何产生足够多的机器学习算法?有如下几种情形。现在我们将注意力集中到:diversity by data randomness.

技术分享

之前我们在uniform Blending中假想过这一情形。但是呢,那是在理想状态下,1)我们的T不可能无限大;2)我们的D不可能无限多,现在我们采用如下技术来解决:

技术分享

技术分享

Random Forest

什么是random forest?就是Bagging的一种特殊情况:g为决策树的情况

为什么呢?之前我们说过uniform Blending是通过减小variance,使算法稳定,来提高算法性能。而bagging是Blending的一种特殊形式。而我们知道决策树对于数据很敏感,不同的数据会导致算法巨大的变化。Bagging正好可以减小variance。

所以可以说random forest是Bagging的一种特殊情况,也可以说random forest是为了提高决策树性能(稳定性)而使用的一种策略

那么如何进行所谓的“bootstrap”步骤?产生大量的“D”?

技术分享

技术分享

那究竟需要多少棵决策树呢?作者在一次比赛中使用了12000棵。

技术分享

 

 

 

Out-of-Bagging(OOB)技术

Bagging技术我们之前谈到过了:

技术分享

技术分享

也就是说,对于某个g来说,有将近三分之一的资料没有被使用!这是巨大的浪费!如何使用这些OOB资料呢?

回想一下validation:

技术分享

技术分享

 

Feature Selection

假设每一个样本有很多Feature,那其中有很多冗余的特性,有很多与问题不相关的特性,如何选择我们想要的特性呢?

技术分享

技术分享

技术分享

技术分享

Aggregation(1):Blending、Bagging、Random Forest

标签:

原文地址:http://www.cnblogs.com/wangyanphp/p/5520172.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!