随机森林算法梳理

集成学习的概念

集成学习通过构建并结合多个学习器来完成学习任务。即先产生一组个体学习器,再用某种策略将它们结合起来。集成学习通过将多个学习器进行结合,常可获得比单一学习器显著优越的泛化性能。
根据个体学习器的生成方式,目前集成学习方法大致可分为两大类:即个体学习器间存在强依赖关系、必须串行化生成的序列化方法,以及个体学习器间不存在强依赖关系、可同时生成的并行化方法。前者的代表是boosting,后者的代表是Bagging和随机森林。

个体学习器的概念

集成学习构建的多个学习器都是个体学习器,同种类型的又被称为基学习器,不同类型的常称为组件学习器或直接称为个体学习器。

boosting和bagging

Boosting是一族可将弱学习器提升为强学习器的算法。这类算法的工作机制类似于:先从初始训练集训练出一个基学习器。再根据学习器的表现对样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多关注,然后基于调整后的样本分布来训练下一个基学习器。
bagging是并行式集成学习方法最著名的代表。它直接基于自助采样法。即给定包含m个样本的数据集,先随机取出一个样本放入采样集中,再把该样本放回初始数据集,使得下次采样时该样本仍有可能被选中,这样经过m次随机采样操作,得到含m个样本的采样集。
假设采样出T个含m个样本的采样集,基于每个采样集训练出一个基学习器,然后 将这些基学习器进行结合。Bagging通常对分类任务使用简单投票法,对回归任务使用简单平均法。

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

1.平均法
对数值型输出h(x)∈R,最常见的结合策略是使用平均法。
简单平均法
在这里插入图片描述
加权平均法
在这里插入图片描述
其中wi是个体学习器hi的权重,通常要求wi>=0,Σwi=1。
2.投票法
绝对多数投票法
在这里插入图片描述
即若某标记得票过半数,则预测为该标记;否则拒绝预测。

相对多数投票法
在这里插入图片描述
即预测为得票最多的标记,若同时有多个标记获最高票,则从中随机选取
一个。
加权投票法
在这里插入图片描述
3.学习法
当训练数据很多时,一种更为强大的结合策略是使用"学习法",即通过另一个学习器来进行结合。Stacking是学习法的典型代表。Stacking先从初始数据集中训练出初级学习器,然后“生成”一个新数据集用于训练次级学习器。在新数据集中,初级学习器的输出被当做样例输入特征,初始样本的标记仍被当做样例标记。

随机森林思想

随机森林是Bagging的一个扩展变体。RF在以决策树为基学习器构建Bagging集成的基础上,进一步在决策树的训练过程中引入了随机属性选择。传统决策树在选择划分属性时是在当前节点的属性集合(假定有d个属性)中选择一个最优属性;而在RF中,对基决策树的每个节点,先从该结点的属性集合中随机选择一个包含k个属性的子集合,然后再从这个子集中选择一个最优属性用于划分。这里的参数k控制了随机性的引入程度:若令k=d,则基决策树的构建和传统决策树没有区别。若令k=1,则是随机选择一个属性。一般情况下推荐k取logd。

随机森林的推广

1.extra trees
2.Totally Random Trees Embedding
3.Isolation Forest

优缺点

RF的优点:
1 训练可以高度并行化,对于大数据时代的大样本训练速度有优势。个人觉得这是的最主要的优点。
2. 由于可以随机选择决策树节点划分特征,这样在样本特征维度很高的时候,仍然能高效的训练模型。
3.在训练后,可以给出各个特征对于输出的重要性
4. 由于采用了随机采样,训练出的模型的方差小,泛化能力强。
5. 相对于Boosting系列的Adaboost和GBDT, RF实现比较简单。
6.对部分特征缺失不敏感。
RF缺点:
取值划分比较多的特征容易对RF的决策产生更大的影响,从而影响拟合的模型的效果

sklearn参数

1.max_features
决策树划分时考虑的最大特征数max_features:可以使用很多种类型的值,默认是”None”,意味着划分时考虑所有的特征数
2.max_depth
决策树最大深度max_depth, 默认可以不输入,如果不输入的话,决策树在建立子树的时候不会限制子树的深度。一般来说,数据少或者特征少的时候可以不管这个值。如果模型样本量多,特征也多的情况下,推荐限制这个最大深度,具体的取值取决于数据的分布
3.min_samples_split
内部节点再划分所需最小样本数min_samples_split: 这个值限制了子树继续划分的条件
4.min_samples_leaf
叶子节点最少样本数min_samples_leaf: 这个值限制了叶子节点最少的样本数
5.min_weight_fraction_leaf
这个值限制了叶子节点所有样本权重和的最小值,如果小于这个值,则会和兄弟节点一起被剪枝
6.max_leaf_nodes
最大叶子节点数,通过限制最大叶子节点数,可以防止过拟合,默认是”None”,即不限制最大的叶子节点数
7.min_impurity_split
节点划分最小不纯度,这个值限制了决策树的增长,如果某节点的不纯度(基于基尼系数,均方差)小于这个阈值,则该节点不再生成子节点。即为叶子节点

应用场景

易于处理高维特征的场景

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值