在机器学习中,随机森林由许多的决策树组成,因为这些决策树的形成采用了随机的方法,因此也叫做随机决策树。随机森林中的树之间是没有关联的。当测试数据进入随机森林时,其实就是让每一颗决策树进行分类,最后取所有决策树中分类结果最多的那类为最终的结果。因此随机森林是一个包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。随机森林可以既可以处理属性为离散值的量,比如ID3算法,也可以处理属性为连续值的量,比如C4.5算法。另外,随机森林还可以用来进行无监督学习聚类和异常点检测。
随机森林由决策树组成,决策树实际上是将空间用超平面进行划分的一种方法,每次分割的时候,都将当前的空间一分为二,比如说下面的决策树(其属性的值都是连续的实数):
将空间划分为成的样子为:
随机深林的优点:比较适合做多分类问题;训练和预测速度快;对训练数据的容错能力,是一种有效地估计缺失数据的一种方法,当数据集中有大比例的数据缺失时仍然可以保持精度不变;能够有效地处理大的数据集;可以处理没有删减的成千上万的变量;能够在分类的过程中可以生成一个泛化误差的内部无偏估计;能够检测到特征之间的相互影响以及重要性程度;不过出现过度拟合;实现简单容易并行化。
下面是具体决策树的生成过程:
其中关于信息增益这里就不作具体的介绍,反正信息增益越大,就说明那个属性相对来说越重要。流程图中的identical values 可以理解为是分类值,离散值,就是它本身不具备数值的意义,比如说颜色分为红,绿,蓝等,是人为给它标定的一个离散值而已。流程图中的real values可以理解为连续的实数,也就是说属性本身是具有数值的,比如说物体的长度,这就是一个real value,在进行这种连续值属性构造决策数时,需要按照属性值的范围进行生成子节点。
当可以生成好决策树后,就比较容易生成随机森林了。下面是随机森林的构造过程:
1. 假如有N个样本,则有放回的随机选择N个样本(每次随机选择一个样本,然后返回继续选择)。这选择好了的N个样本用来训练一个决策树,作为决策树根节点处的样本。
2. 当每个样本有M个属性时,在决策树的每个节点需要分裂时,随机从这M个属性中选取出m个属性,满足条件m << M。然后从这m个属性中采用某种策略(比如说信息增益)来选择1个属性作为该节点的分裂属性。
3. 决策树形成过程中每个节点都要按照步骤2来分裂(很容易理解,如果下一次该节点选出来的那一个属性是刚刚其父节点分裂时用过的属性,则该节点已经达到了叶子节点,无须继续分裂了)。一直到不能够再分裂为止。注意整个决策树形成过程中没有进行剪枝。
4. 按照步骤1~3建立大量的决策树,这样就构成了随机森林了。
从上面的步骤可以看出,随机森林的随机性体现在每颗数的训练样本是随机的,树中每个节点的分类属性也是随机选择的。有了这2个随机的保证,随机森林就不会产生过拟合的现象了。
随机森林有2个参数需要人为控制,一个是森林中树的数量,一般建议取很大。另一个是m的大小,推荐m的值为M的均方根。
参考资料:
http://en.wikipedia.org/wiki/Random_forest
作者:tornadomeet 出处:http://www.cnblogs.com/tornadomeet 欢迎转载或分享,但请务必声明文章出处。 (新浪微博:tornadomeet,欢迎交流!)
相关推荐
下面我们将深入探讨该项目中的关键知识点,以及涉及到的编程技术和算法原理。 一、物体检测 物体检测的目标是识别和定位图像中的特定对象。在这个项目中,可能采用了如YOLO(You Only Look Once)、Faster R-CNN或...
《ang_eng_ing_ong》.ppt
让我们深入探讨这个文件的各个组成部分以及它们所代表的知识点。 1. **AccessControl**: 这是Python库的名字,可能是某个特定功能或服务的实现,如权限管理或者访问控制。在Python生态系统中,开发者通常会将他们的...
很抱歉,但根据提供的信息,“《ang_eng_ing_ong》优秀课件.pdf”似乎与IT专业知识不直接相关。标题可能指的是一个教育材料或语言学习资源,专注于英语中的元音发音,如“ang”,“eng”,“ing”和“ong”。这些...
根据所提供的文件信息,内容涉及的是一本关于制造执行系统(Manufacturing Execution Systems,简称MES)的经典教材,这本教材由Dr.-Ing. Jürgen Kletti编辑。以下是从文件标题、描述和部分内容中提取和生成的相关...
Packet Tracer8.1.0Windows 桌面版(版本 8.1.0,英文版)64 位
s7-200的仿真软件
《PyPI官网与matplotlib主题扩展库ing_theme_matplotlib详解》 PyPI(Python Package Index)是Python编程语言的官方软件仓库,它为开发者提供了一个发布和分发Python库的平台。在PyPI官网上,我们可以找到各种各样...
解析WSDL文件方法时,需要用的包
ni-test-workflow-pro_22.5_suite_online.exe
### 初二英语期中易错专题知识点解析 #### 一、词汇填空 1. **Theyspentalotoftimediscussingthesem________,andtheyfinallyfindagoodwaytosolvethem.** - **知识点:**词汇填空考查的是学生对单词的记忆与拼写...
在单选题部分,我们可以看到一系列考察学生语法知识的题目。例如: 1. "My home town _________ a beautiful place." 此题考察主谓一致,主语"home town"是单数,所以应该用be动词的单数形式"is"。 2. "I like ___...
下面是对资源中每道题的详细解释和知识点总结: 1. —Good-bye and thank you very much for a wonderful time.—________A______. Hope to see you again. 知识点:在英语对话中,感谢和道别的表达方式。在这里,...
在软件开发中,版本号通常遵循语义化版本ing(Semantic Versioning,简称SemVer),其中“0.1”表示这是主版本号为0,次版本号为1的早期版本,可能包含了基础功能但可能存在较多问题。 当我们下载了这样的tar.gz...
实现双网卡绑定需要相应的硬件支持,如支持团队ing功能的网卡,以及兼容的操作系统和软件。Windows操作系统内置了NIC Teaming功能,用户可以通过控制面板或命令行工具设置。Bcom LAN软件可能提供了简化这一过程的...
山东春考英语常见结构总结涵盖了九个方面的英语语法知识点,包含 as…as 结构、as soon as 结构、动词-ing 形式、fill…with 结构、be good/bad for 结构、be used to 结构、both…and…结构、can’t help doing sth...
【新目标英语七年级下册练习题解析】 本练习题主要涵盖了初中一年级下学期的英语基础知识,包括词汇、...对于初学者来说,反复练习并理解这些基础知识是非常重要的,这有助于他们在未来的英语学习中打下坚实的基础。
以下是部分题目及其相关的知识点解析: 1. ( ) 1. Adam prefers playing ______ football to playing the piano. 此题考查冠词的使用。在表示球类运动时,通常不使用冠词,所以正确答案是D. /。 2. ( ) 2. People...