随机森林算法综述

随机森林算法综述

引言

分类和回归是数据分析的常用方法。传统的单个分类器的学习算法种类繁多,由于传统的单个分类器分类精度有待提高且容易出现过拟合等,因此选择集成多个分类器来提高学习算法的性能,即集成学习算法。Bagging和Boosting是两种常见的典型集成学习算法,两者的根本区别在于集成单个分类器是并行的还是串行的,随机森林算法以Bagging为基础扩展而来,也是集成学习代表性算法之一,随机森林的优化也得到很多学者的关注,本文将以随机森林优化算法的研究作为重点进行综述。

随机森林算法

随机森林的基学习器是决策树,在介绍随机森林之前,先阐述决策树的一些相关数学理论。决策树模型简单,具有预测效率好、具有可解释性等诸多优点,其根据损失函达最小的原则建立决策树模型,包括3个基本步骤:属性选择、决策树的生成与剪枝。通过信息增益准则对属性进行选择来构建决策树的方法称为ID3算法。具体步骤如下。计算数据集D的经验熵H(D),公式如下:

                                                 

计算特征A对数据集D的经验条件熵H(D|A),公式如下:

                     

计算信息增益g(D,A),公式如下:

g(D,A)=H(D)-H(D|A)

选择最大的信息增益gR(D, A)作为结点,再递归并调用以上方法得到子节点,直到信息增益很小,没有属性选择为止,决策树的构建完成。然而用ID3算法划分训练集的属性,会对取值较多的属性有偏,所以使用信息增益率对属性进行选择可以优化这一问题,即C4.5算法。

计算信息增益率比gR(D, A),公式如下:

                                                   

式中,,n是属性A取值的个数。

CART决策树的生成就是递归地构建二叉决策树的过程。首先用训练集生成尽量大的树,其次用验证集对已经生成的树进行剪枝处理并选择最优的二叉树。对回归树、分类树分别用平方误差最小化准则和基尼指数最小化准则进行属性选择。ID3、C4.5和CART决策树是构建随机森林算法常用的基决策树。

随机森林算法基本原理是采用Bootstrap子自采样的方法获得不同的样本集用于构建模型,从而增加了模型之间的差异度并提高了外推预测的能力。对于属性选择:首先,从基决策树结点的属性集合中随机选择一个包含k(k通常为log2d,其中d为属性集合的大小)个属性的子集;其次,从这个子集中选择一个最佳属性用于划分;最后,采用多数结果法、平均法、投票法等综合考虑多个决策树的预测结果确定最终随机森林算法的预测结果。

随机森林回归概念如下,假设训练集是从随机向量X和Y分布中独立提取出来的,令h1(x)表示其中一个决策树的回归预测值,然后对决策树的回归预测值取平均得到随机森林回归的预测值,如下式所示:

                                                          

随机森林的分类:首先,从原始训练集中随机选取k个样本;其次,分别建立决策树模型,得到k个样本的分类结果,根据分类结果对每个样本进行投票;最后,确定分类,其中I(·)是一个线性函数。公式如下:

                                               

给定一组分类模型m1(x), m2(x), …, mk(x),每个分类的训练数据从原始数据(X, Y)抽样得到。所以,用残差函数f(X, Y)来求正确分类大于错误分类的具体情况,其公式如下:

                       

由此可知,f(X, Y)和分类预测结果密切相关,f(X, Y)越大,预测结果越准确。因此模型的外推误差为:

                                                  

随着决策树分类数量的增加,泛化误差增大,所有决策树都收敛于公式

      

式中,n为森林中决策树的数量。随着决策树变大,泛化误差PE趋于上届,即随机森林算法具有良好的收敛性和防止过拟合的能力。

                                                           

图1 随机森林算法原理图

结语

随机森林的理论和方法都已经较为成熟,并且在各个领域都有所应用并且效果较好。但是其理论性质和应用性能都还有一定的提升空间,例如:面对日益复杂的分类问题,为充分利用已有的大数据和强大的计算能力,如何有效提高算法的复杂度;随着深度学习的广泛推进,如何将随机森林的思想融入当深度学习中;如何利用迭代的方法给出性能更好的随机森林算法值得进一步探讨研究。

截取知网部分论文,侵删。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KJammyHenry

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值