了解随机森林之前,请先简单了解一下决策树,传送门
https://blog.youkuaiyun.com/yao09605/article/details/93741998
传送门回来之后可以发现决策树有决策树的问题,容易不符合现实,或者过拟合。在样本数量较小的情况下,容易因为训练集产生偏差。
举个?,比如我们需要对学生的成绩等第进行分类,简化起见分为(A,B)两类。供我们选择的特征有(语文成绩,数学成绩,体育成绩,英语成绩,身高,性别)
假如恰巧训练集中男生的成绩较好,大多数为A,女生大多数为B,那么根据决策树算法,可能认为性别是一个区分度很大的特征,在预测的时候就将性别作为重要的区分依据,但我们知道这是不符合常识的。但只用决策树就是没有办法。
于是有了随机森林,随机森林的基本思想是在样本和特征两个纬度进行随机。构建多个决策树构成森林。
训练阶段:使用随机的样本选择随机的特征构建决策树;
预测阶段:综合各个决策树的结果,投票决定最后结果。
盗个图:
下面介绍两个随机:
-
样本纬度的随机-- bootstrap
bootstrap原意是拔靴带,引申义是自力更生,在训练集较小的情况下,我们就需要自力更生了。 所以bootstrap这个词用来形容这么一种算法:训练集样本数为N,我们希望从中生成m个大小为N的不同训练集。方法是从原始的训练集中随机抽取1个样本假设为 x 1 , 1 x_{1,1} x1,1(下标中第一个参数为新样本的编号,第二个参数为样本中样本编号)加入新样本集