通过学习学习算法对随机森林进行剪枝
1. 引言
集成学习是一种流行的学习范式,在众多领域都有应用。随机森林作为一种基于决策树的集成学习算法,因其能够学习复杂规则并对未知数据有良好的泛化能力,一直受到研究界的关注。本文要解决的一个关键问题是,确定特定数据集所需的基分类器(树)的数量。通过对单个基分类器进行统计分析,在不影响模型分类准确率的前提下对集成模型进行剪枝。学习已学习的模型,即学习森林的整体统计信息以及数据集中的可用信息,可以揭示用于剪枝集成模型的最佳阈值。
集成学习是一类监督学习算法,使用单个基础学习算法来训练多个假设(分类器)以完成相同的任务。通常,集成学习算法包括生长和组合两个阶段。生长阶段会生成k个不同的分类器,常用的技术如Bagging或Boosting,它们通过对给定数据集进行重采样,为每个分类器生成不同的训练实例。在组合阶段,使用一个函数将各个分类器的输出组合起来,常见的函数有多数预测或加权平均。
在众多流行的集成学习算法中,Adaboost(自适应提升)和随机森林算法是集成学习领域的标杆。过去有很多尝试改进经典随机森林算法的方法,大致可分为两类:
- 对森林中的单个树进行剪枝。
- 对单个树进行加权。
本文尝试通过基于单个树的统计指标进行选择性剪枝,来提高随机森林的准确率。对随机森林进行剪枝的动机源于过去对存储系统响应状态进行分类的工作,在该工作中发现森林中许多树在实际测试环境中的泛化能力不佳。因此,对每个树计算了Matthews相关系数(MCC),由于MCC在计算系数时考虑了分类器的真阳性和真阴性,所以可以有效地识别出准确率最高的树。
使用MCC的第p百分位数作为阈值来剪枝森林,不满足阈值的树将被剪
超级会员免费看
订阅专栏 解锁全文
2258

被折叠的 条评论
为什么被折叠?



