04-随机森林

1. bagging算法流程

输入为样本集D={(x,y1),(x2,y2),...(xm,ym)},弱学习器算法, 弱分类器迭代次数T。

输出为最终的强分类器f(x)
1)对于t=1,2...,T:
a)对训练集进行第t次随机采样(有放回),共采集m次,得到包含m个样本的采样集Dt
b)用采样集Dt训练第t个弱学习器Gt(x)
2)如果是分类算法预测,则T个弱学习器投出最大多票数的类别或者类别之一为最终类别。如果是回归算法,T个弱学习器得到的回归结果进行算术平均得到的值为最终的模型输出

2、随机森林算法

理解了bagging算法,随机森林(Random Forest,以下简称RF)就好理解了。它是Bagging算法的进化版,也就是说,它的思想仍然是bagging,但是进行了独有的改进。我们现在就来看看RF算法改进了什么。
首先,RF使用了CART决策树作为弱学习器,这让我们想到了梯度提示树GBDT。
第二,在使用决策树的基础上,RF对决策树的建立做了改进,对于普通的决策树,我们会在节点上所有的n个样本特征中选择一个最优的特征来做决策树的左右子树划分,但是RF通过随机选择节点上的一部分样本特征,这个数字小于n,假设为nsub,然后在这些随机选择的nsub个样本特征中,选择一个最优的特征来做决策树的左右子树划分。这样进一步增强了模型的泛化能力。
如果nsub=n,则此时RF的CART决策树和普通的CART决策树没有区别。nsub越小,则模型约健壮,当然此时对于训练集的拟合程度会变差。也就是说nsub越小,模型的方差会减小,但是偏倚会增大。在实际案例中,一般会通过交叉验证调参获取一个合适的nsub的值。
除了上面两点,RF和普通的bagging算法没有什么不同, 下面简单总结下RF的算法。
输入为样本集D={(x,y1),(x2,y2),...(xm,ym)},弱分类器迭代次数T。
输出为最终的强分类器f(x)
1)对于t=1,2...,T:
a)对训练集进行第t次随机采样,共采集m次,得到包含m个样本的采样集Dt
      b)用采样集Dt训练第t个决策树模型Gt(x),在训练决策树模型的节点的时候, 在节点上所有的样本特征中选择一部分样本特征, 在这些随机选择的部分样本特征中选择一个最优的特征来做决策树的左右子树划分

  1. 如果是分类算法预测,则T个弱学习器投出最多票数的类别或者类别之一为最终类别。如果是回归算法,T个弱学习器得到的回归结果进行算术平均得到的值为最终的模型输出。

3、随机森林小结

RF的算法原理也终于讲完了,作为一个可以高度并行化的算法,RF在大数据时候大有可为。 这里也对常规的随机森林算法的优缺点做一个总结
优点:
1)、高度并行化(最主要的优点)
2)、由于可以随机选择决策树划分特征,这样在样本特征维度很高的时候,仍然能高效的训练模型
3)、在训练后可以给出各个特征对于输出的重要性
4)、由于采用了随机采样,训练处的模型的方差小,泛化能力强
5)RF实现比较简单
6)对部分特征缺失不敏感
缺点:
1)在某些噪音比较大的样本上,RF模型容易陷入过拟合
2)取值划分比较多的特征容易对RF的决策产生更大的影响。从而影响拟合的模型效果

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 随机森林(RF)的原理 集成学习有两个流派,一个是boosting派系,它的特点是各个弱学习器之间有依赖关系。另一...
    瞎了吗阅读 5,465评论 1 2
  • sklearn、XGBoost、LightGBM的文档阅读小记 文章导航 目录 1.sklearn集成方法 1.1...
    nightwish夜愿阅读 14,352评论 1 49
  • “夏天夏天悄悄过去,留下小秘密,压心底,压心底,不能告诉你,不能告诉你,不能告诉你,心里想的还是你,浪漫的夏季还有...
    汉文楚楚阅读 1,859评论 0 0
  • 左手行囊右手孩子四处流浪 脚下的路茫茫 不知何处是家乡 好想好想有个温暖的家 可以让我 安歇一下 独自在寒冷的夜满...
    泪无着落阅读 3,180评论 0 2
  • 感恩家人健康,出入平安! 感恩有人租脚手架,让钱宝宝流向我的口袋。 感恩有人约杨林看船,让钱宝宝流向他的口袋。 感...
    荣漉阅读 1,150评论 0 1