决策树(二)- 随机森林
决策树在建立树时需要将所有的绿点无差错的分出来(即参数选择不是很合理的情况),决策树会产生过拟合的现象,导致泛化能力变弱。 如图例:
因此随机森林采用多个决策树的投票机制来改善决策树。 我们假设随机森林使用了m棵决策树,那么就需要产生m个一定数量的样本集来训练每一棵树,如果用全样本去训练m棵决策树显然是不可取的,全样本训练忽视了局部样本的规律,对于模型的泛化能力是有害的。
产生n个样本的方法采用Bootstraping法,这是一种有放回的抽样方法,产生n个样本
而最终结果采用Bagging的策略来获得,即多数投票机制
Bootstrapping自助抽样法
名字来自成语“pull up by your own bootstraps”,意思是依靠你自己的资源,称为自助法,它是一种有放回的抽样方法,它是非参数统计中一种重要的估计统计量方差进而进行区间估计的统计方法。其核心思想和基本步骤如下:
- 采用重抽样技术从原始样本中抽取一定数量(自己给定)的样本,此过程允许重复抽样。
- 根据抽出的样本计算给定的统计量T。
- 重复上述N次(一般大于1000),得到N个统计量T。
- 计算上述N个统计量T的样本方差,得到统计量的方差。
优点:在小样本时效果好。通过方差的估计可以构造置信区间。
Bagging策略
bootstrap aggregating的缩写。即多数投票机制。 [训练R个分类器f_i,分类器之间其他相同就是参数不同。其中f_i是通过从训练集合中(N篇文档)随机取(取后放回)N次文档构成的训练集合训练得到的。对于新文档d,用这R个分类器去分类,得到的最多的那个类别作为d的最终类别。]
随机森林的生成
- 从样本集中通过重采样的方式产生n个样本
- 假设样本特征数目为a,对n个样本选择a中的k个特征,用建立决策树的方式获得最佳分割点
- 重复m次,产生m棵决策树
- 多数投票机制来进行预测
- 优点1:对于多维特征的数据集分类有很高的效率,还可以做特征重要性的选择
- 优点2:运行效率和准确率较高,实现起来也比较简单
- 缺点1:在数据噪音比较大的情况下会过拟合,过拟合的缺点对于随机森林来说还是比较致命的