随机森林简介
随机森林就是通过集成学习的思想将多棵树集成的一种算法,它的基本单元是决策树,而它的本质属于机器学习的一大分支–集成学习(Ensemble Learning)。随机森林用处比较广泛,从市场营销到医疗保健保险,既可以用来做市场营销模拟的建模,统计客户来源,保留和流失,也可用来预测疾病的风险和病患者的易感性。
随机森林是一种有监督学习算法。 就像你所看到的它的名字一样,它创建了一个森林,并使它拥有某种方式随机性。 所构建的“森林”是决策树的集成,大部分时候都是用“bagging”方法训练的。 bagging方法,即bootstrap aggregating,采用的是随机有放回的选择训练数据然后构造分类器,最后组合学习到的模型来增加整体的效果
随机森林优点
- 具有极好的准确率
- 能够有效的运用到大数据集上
- 能够处理具有高维特征的数据样本,不需要降维
- 能够评估各个特征在分类问题上的重要性
- 在生成过程中,能够获得到内部生成的一种无偏估计
- 对于缺省值问题也能够获得很好的结果
随机森林缺点
- 在某些噪音比较大的样本集上,随机森林模型容易陷入过拟合。
- 取值划分比较多的特征容易对随机森林的决策产生更大的影响,从而影响拟合的模型的效果。
随机森林相关基础知识
- 信息是用来消除随机不确定性的东西
- 熵是用来度量不确定性的,当熵越大,事件的不确定性越大,反之越小。对于机器学习中的分类问题而言,熵越大即这个类别的不确定性更大,反之越小。
- 信息增益在决策树算法中是用来选择特征的指标,信息增益越大,则这个特征的选择性越好。
随机森林生成
每棵树的生成规则:
1.如果训练集为N,对于每棵树而言,随机且有放回的从训练集中抽取N个训练样本(这种采样方式称为bootstrap sample方法),作为该数的训练集;这样就可以做到每棵树的训练集都是不同的,但里面包含重复的训练样本。
随机采样的必要:
如果不进行随机采样,那每棵树的训练集都是一样的,最终训练的结果也都是一样的,这样就没有bagging的必要了。
有放回采样的必要:
如果不是有放回的抽样,那么每棵树的训练样本都是不同的,都是没有交集的,这样每棵树训练出来都是有很大差异的;而随机森林最后的分类取决于多棵树(弱分类器)的投票表决,这种表决应该是”求同“的。
2.如果每个样本的特征维度为M,指定一个常数m<<M,随机地从M个特征中选取m个特征子集,每次数进行分裂时,从这m个特征中选取最优的。
3.每棵树都尽量最大程度的生长,并且没有剪枝过程。
随机森林分类效果(错误率)的影响因素:
森林中任意两棵树的相关性:相关性越大,错误率越大;
森林中每棵树的分类能力:每棵树的分类能力越强,整个森林的错误率越低.