zoukankan      html  css  js  c++  java
  • 随机森林 算法过程及分析

    简单来说,随机森林就是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

  • 相关阅读:
    sql删除注意的问题
    lua创建文件
    linux部分常用命令
    已知账户和密码进行远程桌面
    excel2013超链接进不去,提示“您的组织策略不允许...”
    2019-2020-1 20199321《Linux内核原理与分析》第七周作业
    《深入理解计算机系统》第一章读书笔记 20199321
    《文献管理与信息分析》速读笔记
    《深入理解计算机系统》速读笔记
    《构建之法现代软件工程》速读笔记
  • 原文地址:https://www.cnblogs.com/liuwu265/p/4690715.html
Copyright © 2011-2022 走看看