机器学习之随机森林, 2022-06-23

(2022.06.23)

概念

bagging:booststrap aggregating,多个分类器做预测,且分类器之间并行,投票决定结果;不同分类器k的数据来自对初始数据的有放回采样(sampling with replacement),这样保证了每个分类器得到的数据集不同,呈现随机性;大约有36.8%的数据没有被采样到,这些数据被称为袋外数据Out-of-bag,可以用于测试模型的泛化能力。
boosting:多个分类器做预测,且分类器之间串行,最终结果作为结果;对于训练集中的每个样本建立权值wi,表示对每个样本的关注度。当某个样本被误分类的概率很高时,需要加大对该样本的权值。
进行迭代的过程中,每一步迭代都是一个弱分类器。我们需要用某种策略将其组合,作为最终模型。(例如AdaBoost给每个弱分类器一个权值,将其线性组合最为最终分类器。误差越小的弱分类器,权值越大)

上面提到,每次采样大约有36.8%的数据没有被采样到,该比例的计算如下:
样本数量为,每次抽取个,累计抽取次,考虑到有放回,则每一次抽取之前的样本量都是,则一个样本在次之后没有被抽到的概率是

随机森林Random Forest

RF基于bagging,做了一些修改。

  • RF使用弱分类器,i.e., CART决策树,即CART+bagging=RF
  • 随机性:除了bagging对数据的采样保证了不同分类器输入数据的随机性,每棵树还会对特征进行采样,一般是默认特征总数的开方,保证了特征的随机性
  • RF会选择采集和训练集样本数一样个数的样本
  • 无需防止过拟合:数据和特征两方面已经保证了随机性,不需要额外剪枝,也可得到良好的泛化和抗过拟合的能力(low variance)。代价是对训练集的拟合程度较差,模型的偏会略大(high bias)。

Reference

1 HeartGo,boosting和bagging的区别
2 奥拉基尔,随机森林

你可能感兴趣的:(机器学习之随机森林, 2022-06-23)