随机森林算法通俗易懂,比随机森林好的分类算法
单击上面的3358www.Sina.com/,然后选择俊逸的乌冬面学视觉或3358www。Sina.com/.
重型晾衣架,第一时间发货。
星标
上一节介绍了包括bagging法和boosting法在内的综合学习法。随机森林是一种基于bagging框架的决策树模型。本文详细总结了随机森林的算法,以期对随机森林有尽可能全面的了解。
置顶
1.随机森林的算法流程
2.随机森林应用场景
3.对随机森林相关的理解
4.《随机森林》中的思想
5.随机森林模型的估计方法
6.摘要
前言
基于bagging框架的随机森林决策树模型。森林随机包含许多树,每棵树都显示分类结果。每棵树的生成规则如下。
1)假设训练集的大小为N,从训练中抽取N个训练样本,对每棵树随机返回,重复K次作为该树的训练集,从而生成K个训练样本集。
2)如果每个特征的样本维数为M,指定一个常数mM,从M个特征中随机选取M个特征。
)3)利用M特征,每棵树都有最大生长,没有修剪过程。
随机森林分类算法的流程如下图所示。
目录
Nqdsb老师在《机器学习》公开课上讨论了如何优化目前的机器学习模式。首先,我们需要知道当前模型是处于高方差状态还是高偏差状态。高方差需要增加训练数据,降低模型复杂度,高偏差需要增加迭代次数和模型复杂度,优化当前模型。
随机森林是基于bagging思想的模型框架。本文从装袋的角度讨论了随机森林的偏差和方差,并给出了一个应用场景。
随机森林的算法流程
森林随机训练每个重采样数据集的最佳模型,总共k个模型。
设Xi为n维变量,可以随机返回采样数据集,i=1,k
由于使用了与子数据集相似度相同的模型,可以还原为实例,所以每个模型的偏倚和方差大致相等,模型的分布大致相同但不独立(因为子数据集之间存在重复变量)。因此:
从上式可以看出,bagging模型的偏差与各个子模型的偏差相似,因此bagging方法并不能显著降低偏差。
a)极限法分析bagging模型的方差:
如果模型是完全独立的:
如果型号相同:
原因是bagging的子数据集既不是独立的,也不是相同的,子数据集之间有一定的相似性,所以bagging模型的方差在(1)和(2)之间。
b)公式法bagging模型的方差分析:
假设子数据集中变量的方差为,则两个变量之间的相关性为
因此,分散装袋法:
根据等式(4),bagging方法的方差减小。
随机森林的应用场景:bagging法的模型偏差与子模型相似,方差小于子模型。所以随机森林的主要作用是降低模型的复杂度,解决模型的过拟合问题。
随机森林的偏差与方差讨论:
随机森林相关性包括子数据集之间的相关性和子数据集之间的特征相关性。在这里,相关性可以被视为相似性。子数据集之间的重叠样本越多,子数据集之间的重叠特征越多,相关性越大。
随机森林分类效果(错误率)相关性:
(1)森林中任意两棵树的相关性越大,错误率越大。
)减少子数据之间的特征选择数量,树的相关性和分类能力会相应降低;随着特征数量的增加,树的相关性和分类能力也会相应提高。
3558 www.sina.com/(1)随机返回带提取
是的,相关性是随机的,所以特征的数量是优化随机森林模型的一个重要参数。
森林中的随想
让我们回顾一下随机森林学习模型的步骤:
(1)随机采样原始数据集,形成k组子数据集;
(2)从样本的N个特征中随机抽取M个特征;
(3)为每个子数据集构建最优学习模型。
(4)对于新的输入数据,根据K个最优学习模型,得到最终结果。
思想:(2)随机抽样的结果是子数据集之间有不同的子特征,我们代表不同的领域。(3)是指我们在不同领域都学到了最好的东西,(4)是指对于某一个输入数据,我们用不同领域最好的观点来看待输入数据,得到一个更全面的结果。
森林的随机模型估计方法
对于包含M个样本的原始数据集,可以将原始数据集放回采样M次,每次被采集的概率为1/m,不被采集的概率为(1-1/m)。m个样本未被抽样的概率为。
那时候。因此,在装袋的每一轮抽样中,训练集中约有36.8%的数据没有被抽样,这被称为出袋(OOB)。
在《随机森林》一文中,Breiman证明了现金外数据(OOB)误差估计是一种可以替代检验集的误差估计方法,即现金外数据误差是检验数据集误差的无偏估计,因此可以用OOB数据来检验模型的泛化能力。
注意:如上所示,测试数据集的误差非常接近OOB误差。
论文下载地址
https://www.stat.berkeley.edu/~breiman/randomforest2001.pdf
总结:模型的估计方法有两种,(1)袋外数据误差估计模型,(2)交叉验证率估计模型。
总结
目前,综合学习法的框架是流行的,并被广泛使用。本文详细总结了随机森林算法的各种理论要点。我对学习随机森林的看法是,随机森林的原理很简单,但是知识点很复杂,需要耐心去深入理解。
下载1:OpenCV-Contrib扩展模块中文版教程
在“俊逸的乌冬面学视觉”微信官方账号后台,回复:扩展模块中文教程,下载全网首个中文版OpenCV扩展模块教程,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等20多个章节。
下载2:Python视觉实战项目52讲
在“俊逸的乌冬面学视觉”微信官方账号后台,回复:Python视觉实战项目,下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别在内的31个视觉实用项目,帮助快校计算机视觉。
下载3:OpenCV实战项目20讲
在“俊逸的乌冬面学视觉”微信官方账号后台,回复:OpenCV实战项目20讲,,可以基于20下载20个OpenCV,实现OpenCV的高级学习。
交换组
欢迎加入读者微信官方账号,与同行交流。目前有SLAM、3D视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群。(以后会逐步细分)。请扫描以下微信号添加群。备注:“昵称学校/公司的研究方向”,例如:“甜路人上海交大视觉SLAM”。请按格式备注,否则不能通过。添加成功后,会根据研究方向邀请你进入相关微信群。实战项目在群里发广告,不然就请你出群。谢谢理解~
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。