机器学习相关知识整理系列之二:Bagging及随机森林

1. Bagging的策略

  • 从样本集中重采样(有放回)选出\(n\)个样本,定义子样本集为\(D\)
  • 基于子样本集\(D\)全部属性上创建分类器,(ID3,C4.5,CART,SVM等);
  • 重复以上步骤\(m\)步,即得到了\(m\)个分类器;
  • 最后根据这\(m\)个分类器进行投票,决定输入样本属于哪一类。

2. 随机森林

随机森林在Bagging基础上作了修改:算法

  • 从样本中重复自抽样(Bootstrap)选出\(n\)个样本,定义子样本集为\(D\)
  • 基于样本集\(D\),从全部属性中随机选择K个属性(特征),选择最佳分割属性做为结点创建CART决策树;
  • \(m\)个CART组成一个随机森林,经过投票表决结果,决定输入样本属于哪一类。

3. 随机森林/Bagging和决策树关系

  • 可使用决策树做为基本分类器
  • 也可使用SVM、Logistics回归等分类器,由这些分类器组成的"总分类器",也叫随机森林

4. 投票机制

4.1 简单投票机制

  • 一票否决
  • 少数服从多数(有效多数,加权)
  • 阈值表决学习

    4.2 投票机制举例

  • 假定有N个用户能够为X个电影投票(假定投票者不能给同一电影重复投票),投票有1,2,3,4,5星共五档。
  • 根据用户投票对电影进行排序,本质任然为分类问题,对于某个电影,有N个决策树进行分类(1,2,3,4,5类)
    投票方案:\[WR = \frac{v}{v+m}R + \frac{m}{v+m}C\]
  • \(WR\):加权得分;
  • \(R\):该电影的用户投票的平均得分
  • \(C\):全部电影的平均得分
  • \(v\):该电影的投票人数
  • \(m\):排名前250名电影的最低投票数spa

5. 样本不均衡的经常使用处理方法

假定样本数目A类比B类多,且严重不平衡:设计

  • A类欠采样
    • 随机欠采样
    • A类分红若干子集,分别与B类进入ML模型
    • 基于聚类的A类分割
  • B类过采样
    • 避免欠采样形成的信息丢失
  • B类数据合成
    • 随机插值获得新样本
  • 代价敏感学习
    • 下降A类权值,提升B类权值

6. 随机森林总结

  • 在数据集上表现良好
  • 在对缺失数据进行估计时,随机森林是一个十分有效的方法。就算存在大量的数据缺失,随机森林也能较好地保持精确性;
  • 随机森林算法能解决分类与回归两种类型
  • 可以处理很高维度的数据,而且不用作特征选择
  • 容易作成并行化方法
  • 在训练完后,它可以给出哪些特征比较重要
  • 随机森林的集成思想也能够用在其余分类器的设计中
  • 随机森林在解决回归问题时没有在分类中表现的好,由于它并不能给出一个连续型的输出。当进行回归时,随机森林不可以做出超越训练集数据范围的预测,这可能致使在对某些还有特定噪声的数据进行建模时出现过分拟合。
相关文章
相关标签/搜索