zoukankan      html  css  js  c++  java
  • Aggregation(1):Blending、Bagging、Random Forest

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

    有这么几种aggregation的方式:

    image

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

    image

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

    Blending:uniform Blending、 linear Blending、 any Blending

    image

    image

    image

    image

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

    image

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

    image

    image

    image

    Bagging

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

    image

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

    image

    image

    Random Forest

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

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

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

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

    image

    image

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

    image

     

     

    Out-of-Bagging(OOB)技术

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

    image

    image

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

    回想一下validation:

    image

    image

    Feature Selection

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

    image

    image

    image

    image

  • 相关阅读:
    asp.net(C#)利用QRCode生成二维码(续)-在二维码图片中心加Logo或图像
    C#中DataTable中的Compute方法使用收集
    c#的DateTime.Now函数详解
    附加数据库失败,拒绝访问
    xml文件绑定chenckbox选择框
    Maximum Xor Secondary(单调栈好题)
    Y(类树形DP)
    Average distance(类树形DP)
    Balls and Boxes (模拟题)
    Party at Hali-Bula(树形DP+判断方案数是否唯一)
  • 原文地址:https://www.cnblogs.com/wangyanphp/p/5520172.html
Copyright © 2011-2022 走看看