随机森林

随机森林算法梳理

1、个体学习概念

个体学习器通常是由一个现有的学习算法从训练数据中产生的,如决策树算法,Bp神经网络算法。

2、集成学习概念

集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统或基于委员会的学习。

集成学习的一般结构:先产生一组“个体学习器”,再用某种策略将它们结合起来。

如果集成的是相同种类的学习器,则称这种同质集成的个体学习器为**“基学习器(base learner)”;集成也可以包含不同种类的个体学习器,称异质集成的个体学习器为组件学习器(component learner)**。

集成学习通过将多个学习器进行结合,常可获得比单一学习器显著优越的泛化性能。这对弱学习器尤为明显。

3、Boosting/Bagging

在集成学习中,根据个体学习器的生成方式,集成学习的方法可大致分为两类:个体学习器存在强依赖关系,必须串行生成的序列化方法;个体学习器不存在强依赖关系,可同时生成的并行化方法。前者的代表是Boosting,后者的代表是Bagging随机森林(Random Forest)

Boosting

串行的序列化方法在个体学习器生成中是指后一个个体学习器的依赖前一个个体学习器。假设有 t t t 个学习器 h 1 , ⋅ ⋅ ⋅ ⋅ , h t h_1, ····,h_t h1,,ht ,学习器 h i h_i hi 必须在学习器 h i − 1 h_{i-1} hi1 之后生成。比如Boosting,这族算法的工作机制:

  1. 从初始训练集训练出一个基学习器
  2. 根据基学习器的表现对样本分布进行调整,使得先前基学习器做错的样本在后续得更多的关注
  3. 基于调整后的样本分布训练下一个学习器
  4. 基学习器数目是否达到之前指定的值T,如果没有从2开始重复进行
  5. 将T个学习器进行加权组合

后一个基学习器的训练样本分布必须依赖于前一个基学习器,因此基学习器只能一个接一个的生成。

Bagging

同时生成的并行化方法是指个体学习器是可以同时生成的,集成中的个体学习器尽可能的独立(独立在现实任务中无法做到)。

通过自助采样法(bootstrap sampling),采样得到T个采样集。然后基于每个采样集训练出一个基学习器,再将这些基学习器进行结合。这就是Bagging的基本流程。

4、结合策略(平均法、投票法、学习法)

学习器结合的好处:

  1. 在统计方面,在假设空间中可能存在在训练集上性能相等的假设,结合多个学习器能够减少因单个学习器误选而导致的泛化性能不佳
  2. 在计算方面,学习算法多次运行之后进行结合可以降低陷入局部极小点的风险
  3. 在表示方面,多个学习器结合可以扩大假设空间

平均法

  • 简单平均法
  • 加权平均法
    • 加权平均法的权重一般是从训练数据中学习得到的

投票法

对于分类任务,学习器将从标签集合中预测出一个标记,最常见的结合策略是投票法

  • 绝对多数投票法
    • 若某标记得票过半数,则预测为该标记;否则拒绝预测
  • 相对多数投票法
    • 预测为得票最多的标记,若同时有多个标记获得最高票,则从中随机选择一个
  • 加权投票法
    • 与加权平均法类似

5、随机森林

随机森林是Bagging的一个扩展变体。

随机森林在以决策树为基学习器构建Bagging的基础上,进一步在决策树的训练过程中引入随机属性选择。

传统决策树在选择划分属性时是在当前结点的属性集合中选择一个最优属性;在随机森法(RF)中,对基决策树的每个结点,先从该结点的属性集合中随机选择一个包含 k k k 个属性的集合,然后再从这个子集中选择一个最优属性用于划分(一般情况下,推荐值 k = log ⁡ 2 d k = \log_2d k=log2d)。,

8、sklearn 参数

sklearn 实现:sklearn.ensemble.RandomForestClassifier(n_estimators=’warn’, criterion=’gini’, max_depth=None, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=’auto’, max_leaf_nodes=None, min_impurity_decrease=0.0, min_impurity_split=None, bootstrap=True, oob_score=False, n_jobs=None, random_state=None, verbose=0, warm_start=False, class_weight=None)

参数含义
n_estimator随机森林中决策树的数目
criterion损失函数
max_depth决策树的最大深度
min_samples_split进行分类的最小样本
min_samples_leaf叶结点最小的样本数
max_features划分时考虑的最大特征数
max_leaf_nodes最大叶子结点数,控制树的宽度
min_impurity_decrease划分节点的最小不纯度

9、应用场景

应用于数据维度相对低(几十维),同时对准确性有较高的要求。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值