登录

  • 登录
  • 忘记密码?点击找回

注册

  • 获取手机验证码 60
  • 注册

找回密码

  • 获取手机验证码60
  • 找回
毕业论文网 > 外文翻译 > 地理科学类 > 大气科学 > 正文

随机森林的分类与回归外文翻译资料

 2022-12-04 14:53:47  

英语原文共 5 页,剩余内容已隐藏,支付完成后下载完整资料


随机森林的分类与回归

Andy Liaw和Matthew Wiener

介绍

“集成学习”方法是一种能产生许多分类器并汇总其结果的学习方法。其中两种众所周知的方法是增强分类树(参见例如Shapire等,1998)和装袋Breiman(1996)。在助推中,连续的树会给以前的预测变量错误预测的点增加重量。最后,加权投票进行预测。在装袋时,连续的树木不依赖于早期的树木,每个都是使用数据集的自举样本独立构建的。 最后,以少数服从多数的投票进行预测。

Breiman(2001)提出了随机森林,它为套袋增加了一层附加的随机性。 除了使用不同的bootstrap样本数据构建每棵树之外,随机森林还会改变分类树或回归树的构建方式。 在标准树中,每个节点使用所有变量之间的最佳分割进行分割。在随机森林中,每个节点使用在该节点随机选择的预测变量的子集中的最佳值进行分割。与许多其他分类器(包括判别分析,支持向量机和神经网络)相比,这种有点违反直觉的策略表现得非常好,并且对过度拟合(Breiman,2001)具有很强的抵抗力。另外,它只有两个参数(每个节点随机子集中的变量数量和森林中的树木数量),从某种意义上来讲是非常方便用户的,并且通常对它们的值不是很敏感。

随机森林程序包提供了由Breiman和Cutler提供的Fortran程序的R接口(http://www.stat.berkeley.edu/breiman /)。本文将简要介绍R函数的用法和功能。

算法

随机森林算法(用于分类和回归)如下:

1.从原始数据中抽取的自举样本。

2.对于每个自举样本,生成未剪枝的分类或回归树,并进行以下修改:在每个节点处,而不是在所有预测变量中选择最佳分割,随机抽样预测变量,并从那些变量中选择最佳分割。(套袋可以被认为是当= p预测因子的数量时得到的随机森林的特例。)

3.通过汇总棵树的预测(即,通过少数服从多数的投票进行分类,通过平均进行回归)来预测新数据。

根据训练数据,可以通过以下方式获得误差率的估计值:

1.在每个自举迭代中,使用随自举样本生长的树预测不在自举样本中的数据(Breiman称之为“out-of-bag”或OOB数据)。

2.汇总OOB预测(平均而言,每个数据点将有36%概率成为袋外数据,因此汇总了这些预测)计算错误率,并将其称为错误率的OOB估计值。

我们的经验是,考虑到已经生成了足够多的树木,OOB估计的错误率是相当准确的(否则OOB估计值会偏向上方;参见Bylander(2002))。

来自随机森林的额外信息

随机森林程序包可以选择性地生成两个附加信息:预测变量重要性的度量和数据内部结构的度量(不同数据点之间的接近度)。

变量重要性:这是一个难以定义的概念,因为变量的重要性可能是由于其与其他变量(可能是复杂的)的相互作用而产生的。随机森林算法通过查看当该变量的(OOB)数据被置换而所有其他变量保持不变时有多少预测误差增加来估计变量的重要性。在构建随机森林时有必要进行相应的计算。(实际上在分类代码中实施了四种不同重要度量方法,读者可以参考Breiman(2002)的定义。)

邻近度度量:由随机森林生成的邻近度矩阵的(i,j)元素是元素i和j落入同一终端节点的树的比例。直觉是“相似的”观察应该在相同的终端节点中比不同的终端节点更频繁。可以使用关系矩阵来确定数据结构(参见Breiman,2002年)或随机森口的无监督学习(见下文)。

用于R

随机森林的用户界面与其他分类函数如nnet()(在nnet程序包中)和svm()(在e1071程序包中)的用户界面一致。(我们实际上从这两个函数中借用了一些接口代码。)有一个公式接口,可以通过x参数将预测变量指定为矩阵或数据框,通过y参数的响应作为矢量。如果响应是一个因素,随机森林执行分类;如果响应是连续的(即不是一个因素),随机森林执行回归。如果未指定响应,随机森林执行无监督学习(见下文)。目前随机森不处理顺序分类响应。注意,分类预测变量也必须指定为因子(否则它们将被错误地视为连续)。

随机森林函数返回类“随机森林”的对象,在线文档中提供了有关此类对象组件的详细信息,为课程提供了预测和打印的方法。

分类示例

法证类数据集在MASS4(Venables and Ripley,2002)的第12章中被用来说明各种分类算法。我们在这里使用它来展示随机森林的工作原理:

我们可以使用ipred程序包中的errorest函数重复10重交叉验证十次,将随机森林与支持向量机进行比较:

随机森林与SVM相比相当有利。

随机森林产生的可变重要性措施有时可用于减少模型(例如,使用“重要”变量来构建更简单,更容易解释的模型)。 图1显示了基于上面创建的fgl.rf对象的法证类数据集的变量重要性。 粗略地说,它是由以下命令创建的

我们可以看到,度量1最明显地区分了变量。如果我们再次运行随机森林,从模型中抽出钠、钾、铁,错误率低于20%。

图1:法医类数据的变量重要性。

有更多的预测指标时,增益可能会更大。在具有数千个预测变量的数据集中,我们使用可变重要性度量来仅选择数十个预测变量,并且我们能够保持基本相同的预测精度。对于我们构建的具有1000个变量的模拟数据集,使用默认的随机森林,我们能够清楚地识别仅有的两个信息变量,并完全忽略其他998个噪声变量。

回归示例

我们使用Boston Housing数据(可在MASS程序包中获得)作为随机森林回归的例子。 请注意随机森林分类和回归之间的一些差异:

1、默认的是p/3,相反是进行分类,其中p是预测变量的数量。

2、默认节点大小是5,1是分类。(在树形结构算法中,具有少于节点观察值的节点不会被分割。)

3、只有一个衡量变量的重要性,而不是四个。

“平方残差”的计算公式如下:

其中是第i次观测的OOB预测的平均值,“方差百分比”计算公式为:,其中用n作为除数(而不是n-1)。

我们可以将结果与实际数据以及线性模型的拟合值进行比较,如图2所示。

图2:来自随机森林和线性模型的预测与波士顿住房数据的实际响应的比较。

一个无人监督的学习示例

由于随机森林是分类树或回归树的集合,因此它们如何被应用于无监督学习并不是很明显。“诀窍”是调用数据“class 1”并构造“class2”合成数据,然后尝试用随机森林对合并数据进行分类。 有两种方法来模拟“class2”数据:

1、“class2”数据是从变量的边际分布乘积中抽取的(分别通过每个变量独立的自举)。

2、从包含数据的超立方体中统一采样“class2”数据(通过在每个变量范围内均匀采样)。

我们的想法是,彼此相似的实际数据点(通过使用随机森林的proximity = TRUE选项可以返回的相关矩阵测量的数据点)经常会在树的同一终端节点中结束。因此,可以将相关矩阵看作相似性度量,并且可以使用使用这种相似性的聚类或多维缩放来将原始数据点划分为用于视觉探索小组。

我们使用MASS4中的螃蟹数据来演示随机森林的无监督学习模式。我们按照MASS4第308-309页(也在lsquo;$R_ HOME/library/MASS/scripts/ch11.Rrsquo;中的第28-29行和第63-68行)中建议的方式缩放数据,导致下面的dslcrab数据框。然后运行随机森林来获得相关矩阵。然后,我们可以使用cmdscale()(在mva程序包中)来显示1-proximity,如图3所示,从图中可以看出,两种颜色格式是明显分离的。

图3:螃蟹数据的相关矩阵的度量多维缩放表示。

随机森林中还有一个超级选项,如果设置为TRUE,则会为每个观察返回一个“偏离度”度量数据集。 第j次观测的这种偏离度测量值被计算为该观测值和同一类别所有其他观测值之间的平方近似值之和的倒数。随机森林的帮助页面的示例部分显示了虹膜数据的偏离度量(假设它们未标记)。

一些笔记实际使用

良好表现所需树木的数量随着预测因子的增加而增加。确定需要多少树的最佳方法是比较森林所做的预测与森林子集所做的预测。当子集和全森林一样工作时,意味着你有足够的树木。

为了选择,Breiman教授建议尝试默认值,默认值的一半,默认值的两倍,并选择最佳值。根据我们的经验,结果通常不会发生显着变化。即使= 1也可以为某些数据提供非常好的性能。如果一个变量的数量非常大,但预计只有很少的变量是“重要的”,那么使用较大的变量尝试可能会提供更好的性能。

需要很多树来获得对变量重要性和邻近度的稳定估计。然而,我们的经验是,即使不同的重要性措施可能会因不同的运行而有所不同,重要性的排名也是相当稳定的。

对于类别频率非常不平衡的分类问题(例如,99%的class1和1%的class2),可能有必要将预测规则改为非多数票。例如,在99%的class1和1%的class2的两类问题中,可能希望预测具有最大的class2概率的观测值的1%为class2,并且使用这些概率中的最小值作为阈值测试数据的预测(即,在预测方法中使用type =prob参数输出的第二列阈值)。我们经常做这个来获得ROC曲线。Breiman教授正在为他的下一个随机森林版本进行类似的改进。

默认情况下,整个森林包含在随机森林对象的森林组件中。对于大型数据集或大量的树,它可能占用相当多的内存。如果不需要预测测试数据,请在运行随机森林时设置参数keep.forest = FALSE。这样,随时只有一棵树被留在记忆中,因此很多内存(和潜在的之行时间)可以保存。

由于该算法属于“不易并行”类别,因此可以在不同的机器上运行多个随机森林,然后汇总投票组件以获得最终结果。

承认

我们想向Breiman教授表示衷心的感谢,感谢他们提供Fortran代码,并回答了我们的许多问题。 我们也感谢审稿人非常有帮助的评论,并指出Bylander(2002)的参考文献。

参考书目

L. Breiman. Bagging predictors.Machine Learning,24(2):123-140,1996.18

L. Breiman. Random Forests.Machine Learning,45(1):5-32,2001.18

L. Breiman.Manual on setting up ,using,and understanding random forests v3.1,2002..http://oz.berkeley.edu/users/breiman/ Using_random_forests_V3.1.pdf. 18,19

T. Bylander.Estimating generalization error on two-class datasets using out-of-bag estimates. Machine Learning,48:287-297,2002.18,22

R.Shapire,Y.Freund,P.Bartlett and W.Lee.Boosting the margin:A new explanation for the effectiveness of vtlemanoting methods.Annals of Statistics,26(5):1651-1686,1998.18

W.N .Venables and BD Ripley.Modern Applied Statistics in S. Springer,4th edition,2002.19

处理基因组数据的一些策略

by R.Gentleman

介绍

分子生物学的最新进展使得在分子水平上探索许多不同的生物体成为可能。这些技术正在被应用于大量的实验中。在本文中,我们考虑了设计和实现将生物元数据与实验获得的数据相关联的软件中出现的一些问题。该软件正在作为Bioconductor项目的一部分进行开发。(www.bioconductor)

也许这种类型的最常见的实验是使用一种常见仪器检查单个物种和测定样品。样品通常是特定类型的细胞的同质收集。一个具体的例子是使用Affymetrix U95A v2芯片Affymetrix(2001)研究白血病患者样品中的mRNA表达。在这种情况下,使用普通仪器研究单一类型的人体细胞。

这些实验提供了数千(或数万)样本特定特征的估计。在前述的Affymetrix实验中,大约10000个基因的mRNA表达数据(有12600个探针组,但这些对应于大约10000个基因)。 尽管有价值和有趣的实验数据需要额外的生物元数据才能被正确解释。再次考虑这个例子,我们看到染色体定位,序列,参与不同途径等方面的知识提供了实质性的解释性益处。

元数据对统计人员来说不是一个新概念,然而,基因组实验中元数据的规模是。在很多情况下,元数据比实验数据更大更复杂。因此,处理元数据需要新工具和策略。帮助管理和操作生物标注并将其与实验数据相关联的软件设计将具有一定的重要性。作为Bioconductor项目的一部分,我们已经做了一些初步研究并实施了一些旨在解决这些问题的软件。这里考虑我们调查

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[21517],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

企业微信

Copyright © 2010-2022 毕业论文网 站点地图