随机森林笔记
2015-10-01 07:00
232 查看
随机森林
顾名思义,是用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林的每一棵决策树之间是没有关联的随机森林的优点
能够处理很高维度的数据,并且不用做特征选择在训练完后,它能够给出哪些feature比较重要
在创建随机森林的时候,对generlization error使用的是无偏估计
训练速度快
在训练过程中,能够检测到feature间的互相影响
容易做成并行化方法
实现比较简单
随机森林的缺点
随机森林已经被证明在某些噪音较大的分类或回归问题上会过拟对于有不同级别的属性的数据,级别划分较多的属性会对随机森林产生更大的影响,所以随机森林在这种数据上产出的属性权值是不可信的。
随机森林构建过程
(1)、设输入样本为N个,对样本有放回重复进行N次采样,得N个样本,即bootstrap采样。比如:X={X0,X1,X2,X3,X4,X5X_0,X_1,X_2,X_3,X_4,X_5},可能采到的样本是:{X0,X0,X1,X2,X3,X4X_0,X_0,X_1,X_2,X_3,X_4}.
(2)、从M 个feature中,选择m个(m << M)。之后就是对采样之后的数据使用完全分裂的方式建立出决策树,这样决策树的某一个叶子节点要么是无法继续分裂的,要么里面的所有样本的都是指向的同一 个分类。
(3)、重复1,2步直到满足条件。由于之前的两个随机采样的过程保证了随机性,所以就算不剪枝,也不会出现over-fitting。这里有两个参数一个是决策树的个数,一个是m的大小,m一般去取M−−√2\sqrt[2]{M}
判别过程
当有一个新的输 入数据进入的时候,就让森林中的每一棵决策树分别进行一下判断,看看这个数据应该属于哪一类(对于分类算法),然后看看哪一类被选择最多,就预测这个数据为那一类。相关文章推荐
- BIOS和DOS中断大全
- Binary Tree Postorder Traversal
- 游戏震屏效果的实现
- 游戏震屏效果的实现
- K-th largest element in an array
- Android Api Demos登顶之路(八十二)Graphics-->Picture
- OSChina 周四乱弹 —— 十一精品旅游路线
- ZOJ.2540 Form a Square【水】 2015/10/01
- Android项目使用support v7时遇到的各种问题GOOD
- nf使用 Python 的 turtle 模块画图
- Peeking Iterator
- 二进制的一个常见技巧
- 写Swift用Cocoapods兼容IOS7
- Solr 4.2.0的一些知识
- PowerShell 查询操作
- PowerShell 条件判断和循环
- svg vs canvas
- Bootlaoder分析详解
- nw
- 在线Markdown Editor