随机森林算法梳理
1. 集成学习概念
集成学习是通过在数据上构建多个模型,通过一定的结合策略,集成所有模型的建模结果的方法。
2. 个体学习器概念
集成学习中,个体学习器是指单个的模型,常见的集成学习算法如随机森林中,个体学习器为CART决策树,其个体学习器为同一种类的。
目前来说,同质个体学习器的应用是最广泛的,一般我们常说的集成学习的方法都是指的同质个体学习器。而同质个体学习器使用最多的模型是CART决策树和神经网络。同质个体学习器按照个体学习器之间是否存在依赖关系可以分为两类,第一个是个体学习器之间存在强依赖关系,一系列个体学习器基本都需要串行生成,代表算法是boosting系列算法,第二个是个体学习器之间不存在强依赖关系,一系列个体学习器可以并行生成,代表算法是bagging和随机森林(Random Forest)系列算法。下面就分别对这两类算法做一个概括总结。
3. boosting 和 bagging
在集成学习中,按照个体学习器之间是否存在依赖关系可以分为两类;第一类是个体学习器之间存在强依赖关系,一系列个体学习器基本都需要串行生产,代表算法是boosting系列算法;一类是个体学习器之间不存在强依赖关系,一系列个体学习器可以并行生成,代表算法是bagging算法。
boosting算法的工作机制是首先从训练集中用初始权重训练出一个弱学习器,根据弱学习器的误差率表现来更新新训练样本的权重,使得之前弱学习器误差率高的训练样本点的权重变高,这样误差率高的样本点在后面的学习器中会得到更多的重视。然后基于调整权重的训练样本来训练第2个弱学习器,然后重复进行上述操作,直至弱学习器的数量达到指定数目,最终将所有训练的弱学习器通过集合策略进行整合,得到最终的强学习器。
bagging算法的个体学习器是通过随机采样训练得到的,通过N次采样,训练N个弱学习器,再对N个弱学习器通过集合策略进行整合,最终得到强学习器。