集成学习之随机森林通俗理解

2018-01-16 09:22:38 浏览数 (1)

scikit-learn官方general example第5个例子中涉及到了随机森林(RandomForest),随机森林是集成学习的一种,因此本文先通俗理解一下随机森林。

1.集成学习

集成学习(ensemblelearning,简称EL),不是单独的机器学习算法,是通过构建并结合多个机器学习器来完成学习任务。高端点的说叫“博彩众长”,庸俗的说叫“三个臭皮匠,顶个诸葛亮”。一般是先生存一组个体学习器,然后采用某种策略将他们结合起来。个体学习器可以由不同的学习算法生成,之间也可以按照不同的规律生成。原理如下图所示:

根据个体学习器的生成方式,集成学习方法大致可以分为两大类。一是个体学习器之间存在着墙依赖关系,必须串行生成的序列化方法,此类代表是Boosting;另一类是个体学习器之间没有强依赖关系,可同时并行生成,此类代表为Bagging和随机森林。

2.bagging以及随机森林

随机森林是bagging的升级版,bagging个体学习器不做修改,对训练数据集随机取样,使用取样后的数据子集,训练每个个体学习器,预测时整体结果采用个体结果的平均。为了增强个体学习器的多样性,在每颗随机数的生长过程中,节点分裂时只选择了部分的属性,并且对选择的属性采用了某种策略来选择1个属性作为该结点的分裂属性。

上面的说法有点难以理解,于是我们通俗的打个比方:

我们有一个决策公司(集成学习器),公司里有许多的预测大师(个体学习器),我们现在要找这个决策公司对某堆(测试集)西瓜的好坏做预测(分类)或者定量预测西瓜的甜度(回归)。当然我们首先需要拿一堆西瓜N个(测试集)给这些预测大师。每个西瓜有M个属性(比如颜色、纹路、尾巴等)。我们有以下两种方式来进行西瓜的预测。

第一种,每次从N个西瓜中随机选择几个西瓜(子集),对某个预测大师进行训练,预测大师学习西瓜的各种M个属性与结果的关系,比如先判断颜色如何?再判断纹路如何?再判断尾巴如何?预测大师开始预测然后自我调节学习,最后成为研究西瓜的人才。所有的预测大师都采用这种训练方式,都学成归来。测试的时候,每拿出一个西瓜,所有专家一致投票,我们把最高投票的结果作为最终结果。这种方式就是所谓的bagging。

第二种,每次从N个西瓜中随机选择几个西瓜(子集),每个预测大师只选项西瓜的m(m

各位亲,秒懂了吧~~

参考资料:

《机器学习》,周志华

知乎,说说随机森林

知乎,【scikit-learn文档解析】集成方法 Ensemble Methods(上):Bagging与随机森林

说明:

本文为小编原创文章,敲字不易,若转载请标明出处,谢谢。如果觉得写的不错,请点赞!

0 人点赞