随机森林算法梳理
1. 个体学习与 集成学习概念
个体学习器有两类:一类是指所有学习器都是同质的,同一种类的,比如神经网络学习器;另一类是异质的,所有的个体学习器不全是一个种类的。比如一个分类问题,对训练集采用支持向量机个体学习器,逻辑回归个体学习器和朴素贝叶斯个体学习器来学习,再通过某种结合策略来确定最终的分类强学习器。
集成学习(Ensemble Learning) 集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统(multi-classifier system) ,如下图,也就是组合这里的多个弱监督模型以期得到一个更好更全面的强监督模型,集成学习潜在的思想是即便某一个弱分类器得到了错误的预测,其他的弱分类器也可以将错误纠正回来。
一个成功的集成学习往往需要个体学习器具备多样性的特点:
- 个体学习器的模型类型异质,比如树模型和神经网络模型;
- 数据在不同个体学习器中的表现不一样,错误预测样例不一样。
2. boosting
boosting是
Boosting算法需要详细解释以下四个问题
- 1)如何计算学习误差率e?
- 2)如何得到弱学习器权重系数 a a a?
- 3)如何更新样本权重D?
- 4)使用何种结合策略?
Boosting 族算法最著名的代表是AdaBoost,比较容易理解的是基于"加性模
型" (additive model) ,即基学习器的线性组合。
3. bagging
Bagging的算法原理和 boosting不同,它的弱学习器之间没有依赖关系,可以并行生成,如下图所示:
4. 结合策略
集成学习在各个规模的数据集上都有很好的策略。
数据集大:划分成多个小数据集,学习多个模型进行组合
数据集小:利用Bootstrap方法进行抽样,得到多个数据集,分别训练多个模型再进行组合
4.1平均法/投票机制
在回归问题上用平均法,在分类问题上用投票法:如下图:
4.2 权值平均法/投票机制
4.3 Gating
4.4 stacking
4.5 多层神经网络模型作EM model
这个EM model将输入X也添加至神经网络的第一层,作为gating
4.6 树模型作EM
5. 随机森林的思想
讲随机森林得从决策树开始讲起, 鉴于决策树容易过拟合的缺点,随机森林采用多个决策树的投票机制(bagging)来改善决策树,也就是 “决策树+bagging=随机森林”。
我们假设随机森林使用了m棵决策树,那么就需要产生m个一定数量的样本集来训练每一棵树,如果用全样本去训练m棵决策树显然是不可取的,全样本训练忽视了局部样本的规律,对于模型的泛化能力是有害的。
产生n个样本的方法采用Bootstraping法,这是一种有放回的抽样方法,产生n个样本。而最终结果采用Bagging的策略来获得,即多数投票机制。
6. 随机森林的推广
7. 随机森林的优缺点
8.随机森林在sklearn中的参数解释
9.随机森林的应用场景
参考链接
https://blog.csdn.net/qq_38984677/article/details/88627572
https://blog.csdn.net/mao_xiao_feng/article/details/52728164
https://zhuanlan.zhihu.com/p/27689464