||
随机森林是一种比较新的机器学习模型。经典的机器学习模型是神经网络,有半个多世纪的历史了。神经网络预测精确,但是计算量很大。上世纪八十年代Breiman等人发明分类树的算法(Breiman et al. 1984),通过反复二分数据进行分类或回归,计算量大大降低。2001年Breiman把分类树组合成随机森林(Breiman 2001a),即在变量(列)的使用和数据(行)的使用上进行随机化,生成很多分类树,再汇总分类树的结果。随机森林在运算量没有显著提高的前提下提高了预测精度。随机森林对多元公线性不敏感,结果对缺失数据和非平衡的数据比较稳健,可以很好地预测多达几千个解释变量的作用(Breiman 2001b),被誉为当前最好的算法之一(Iverson et al. 2008)。
今年5月在人大组织的R语言会议上,我用朱鹮的例子介绍了随机森林的原理和应用。有些同学要求拷贝演讲材料。这个材料在统计之都(http://cos.name)上有。为了更方便地下载,我把它放在这里 Random Forest.pdf。
这个pdf共25页,首先是原理,然后列举R的两个运行随机森林包,后面有数据格式、代码和结果。随机森林完成两个任务:回归(y为连续变量时)和判别(y为分类变量时)。这两个的任务的代码略有不同。这个材料对于要编代码运行随机森林模型的人有用。没有任何理论基础的人(但是需要有R的知识),看过这个pdf后,可以应用上面的代码运行随机森林,解释因变量的贡献,进行预测。本人强烈建议使用者首先阅读Breiman在2001年发表的两篇文章(见参考文献),然后再应用这个模型。随机森林对数据前提条件的要求(正态性、独立性等)比广义线性模型等要宽松得多,应用前景非常广阔。
参考文献
Breiman, L. 2001a. Random forests. Machine Learning 45:5-32.
Breiman, L. 2001b. Statistical modeling: The two cultures. Statistical Science 16:199-215.
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-26 18:47
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社