• 随机森林 算法过程及分析


    简单来说,随机森林就是Bagging+决策树的组合(此处一般使用CART树)。即由很多独立的决策树组成的一个森林,因为每棵树之间相互独立,故而在最终模型组合时,每棵树的权重相等,即通过投票的方式决定最终的分类结果。

    随机森林算法主要过程:

    1、样本集的选择。

      假设原始样本集总共有N个样例,则每轮从原始样本集中通过Bootstraping(有放回抽样)的方式抽取N个样例,得到一个大小为N的训练集。在原始样本集的抽取过程中,可能有被重复抽取的样例,也可能有一次都没有被抽到的样例。

      共进行k轮的抽取,则每轮抽取的训练集分别为T1,T2,…,Tk。

    2、决策树的生成

      假如特征空间共有D个特征,则在每一轮生成决策树的过程中,从D个特征中随机选择其中的d个特征(d<D)组成一个新的特征集,通过使用新的特征集来生成决策树。

      在k轮中共生成k个决策树,由于这k个决策树在训练集的选择和特征的选择上都是随机的,因为这k个决策树之间是相互独立的。

    3、模型的组合

      由于生成的k个决策树之间是相互独立的,每个决策树的重要性是相等的,因而在将它们进行组合时,无需考虑他们的权值,或者可以认为他们具有相同的权值。对于分类问题,最终的分类结果使用所有的决策树投票来确定最终分类结果;对于回归问题,使用所有决策时输出的均值来作为最终的输出结果。

    4、模型的验证

      模型的验证需要验证集,而在此我们无需专门额外的获取验证集,只需要从原始样本集中选择没有被使用过的样例即可。

      在从原始样本中选择训练集时,存在部分样例一次都没有被选中过,在进行特征选择时,也可能存在部分特征未被使用的情况,我们只需将这些未被使用的数据拿来验证最终的模型即可。

    5、总结

    主要有几个方面的特性:

      1)有两个随机抽取过程:分别为从原始样本集中随机抽取训练集,和决策树的特征选择上随机抽取部分特征生成决策树。

      2)各决策树之间的相互独立性。因为相互独立,故而在决策树的生成过程可以并行进行,大大提高了算法的时间效率。

    6、在线随机森林(online Random Forests)

      与普通的随机森林的区别就是树的不同,在线随机森林的每棵树都是在线随机决策树。

      由于研究的不够清楚就先不写了!

    参考文献: 

    [1] 李航,统计学习方法。

    [2] BIGBIGBOAT, http://www.cnblogs.com/liqizhou/archive/2012/05/10/2494558.html

    [3] Saffari etc. On-line Random Forests, iccv.

    http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5457447

  • 相关阅读:
    Kotlin扩展深入解析及注意事项和可见性
    Kotlin属性揭秘与延迟初始化特性
    Kotlin伴生对象及其字节码内幕详解
    Kotlin继承与重写重要特性剖析
    Kotlin构造方法详解与初始化过程分析
    Range与面向对象的Kotlin
    Kotlin编译器优化与when关键字详解
    Kotlin基础特性深入讲解
    java读取mysql表的注释及字段注释
    mysql导入导出sql文件
  • 原文地址:https://www.cnblogs.com/liuwu265/p/4690715.html
Copyright © 2020-2023  润新知