天天看点

随机森林笔记随机森林

随机森林

顾名思义,是用随机的方式建立一个森林,森林里面有很多的决策树组成,随机森林的每一棵决策树之间是没有关联的

随机森林的优点

  • 能够处理很高维度的数据,并且不用做特征选择
  • 在训练完后,它能够给出哪些feature比较重要
  • 在创建随机森林的时候,对generlization error使用的是无偏估计
  • 训练速度快
  • 在训练过程中,能够检测到feature间的互相影响
  • 容易做成并行化方法
  • 实现比较简单

随机森林的缺点

  • 随机森林已经被证明在某些噪音较大的分类或回归问题上会过拟
  • 对于有不同级别的属性的数据,级别划分较多的属性会对随机森林产生更大的影响,所以随机森林在这种数据上产出的属性权值是不可信的。

随机森林构建过程

(1)、设输入样本为N个,对样本有放回重复进行N次采样,得N个样本,即bootstrap采样。
比如:X={ X0,X1,X2,X3,X4,X5 },可能采到的样本是:{ X0,X0,X1,X2,X3,X4 }.

(2)、从M 个feature中,选择m个(m << M)。之后就是对采样之后的数据使用完全分裂的方式建立出决策树,这样决策树的某一个叶子节点要么是无法继续分裂的,要么里面的所有样本的都是指向的同一 个分类。

(3)、重复1,2步直到满足条件。由于之前的两个随机采样的过程保证了随机性,所以就算不剪枝,也不会出现over-fitting。这里有两个参数一个是决策树的个数,一个是m的大小,m一般去取 M−−√2

判别过程

当有一个新的输 入数据进入的时候,就让森林中的每一棵决策树分别进行一下判断,看看这个数据应该属于哪一类(对于分类算法),然后看看哪一类被选择最多,就预测这个数据为那一类。

继续阅读