教程地址:http://www.showmeai.tech/tutorials/34
本文地址:http://www.showmeai.tech/article-detail/191
声明:版权所有,转载请联系平台与作者并注明出处
随机森林是一种由决策树构成的(并行)集成算法,属于Bagging类型,通过组合多个弱分类器,最终结果通过投票或取均值,使得整体模型的结果具有较高的精确度和泛化性能,同时也有很好的稳定性,广泛应用在各种业务场景中。
随机森林有如此优良的表现,主要归功于「随机」和「森林」,一个使它具有抗过拟合能力,一个使它更加精准。我们会在下文中做更详细的展开讲解。
(本篇部分内容涉及到机器学习基础知识、决策树、回归树算法,没有先序知识储备的宝宝可以查看ShowMeAI的文章 图解机器学习 | 机器学习基础知识、决策树模型详解 及 回归树模型详解)
学习随机森林,我们需要先了解一些概念,比如第1个大家要了解的概念是集成学习(ensemble learning):
对于训练数据集,我们训练一系列「个体学习器」,再通过「结合策略」将它们集成起来,形成一个更强的学习器,这就是「集成学习」在做的事情,内核思想类似「三个臭皮匠,顶个诸葛亮」。
个体学习器是相对于集成学习来说的,其实我们在之前了解到的很多模型,比如C4.5决策树算法、逻辑回归算法、朴素贝叶斯算法等,都是个体学习器。
个体学习器代表的是单个学习器,集成学习代表的是多个学习器的结合。
我们在这里讲到的随机森林是并行集成模型,而Bagging是并行式集成学习方法最著名的代表。
要理解bagging,首先要了解自助采样法(Bootstrap Sampling):
Bagging是Bootstrap aggregating的缩写,是在Boostrap Sampling基础上构建的,上述的采样过程我们可以重复T次,采样出 T 个含 m 个训练样本的采样集,然后基于每个采样集训练出一个基学习器,然后将这些基学习器进行结合。
在对预测输出进行结合时,Bagging通常对分类任务使用简单投票法,对回归任务使用简单平均法,这就是Bagging的基本流程。
从「偏差-方差分解」的角度看,Bagging主要关注降低方差,因此它在不剪枝的决策树、神经网络等易受到样本扰动的学习器上效用更明显。
Random Forest(随机森林,简称RF)是一种基于树模型的Bagging的优化版本。核心思想依旧是Bagging,但是做了一些独特的改进——RF使用了CART决策树作为基学习器。具体过程如下:
随机森林核心点是「随机」和「森林」,也是给它带来良好性能的最大支撑。
「随机」主要体现在两个方面:
「集成」体现在:根据多个(差异化)采样集,训练得到多个(差异化)决策树,采用简单投票或者平均法来提高模型稳定性和泛化能力。
下面是对于同一份数据集(iris数据集),我们使用决策树和不同树棵树的随机森林做分类的结果,我们对其决策边界做了可视化。
可以很明显地看到,随着随机森林中决策树数量的增多,模型的泛化能力逐渐增强,决策边界越来越趋于平滑(受到噪声点的影响越来越小)。
下面我们来总结一下随机森林的优缺点:
上面我们已经系统了解了随机森林的原理与机制,下面我们一起来看看工程应用实践中的一些重点,比如随机森林模型有众多可调参数,它们有什么影响,又如何调优。
更多监督学习的算法模型总结可以查看ShowMeAI的文章 AI知识技能速查 | 机器学习-监督学习。
可以点击 B站 查看视频的【双语字幕】版本
双语字幕+资料下载】MIT 6.036 | 机器学习导论(2020·完整版)
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。