任务一随机森林算法梳理
一、集成学习的概念
集成学习(ensemble learning)通过构建并结合多个学习器来完成学习任务,有时也被称为多分类系统。
上图显示出集成学习的一般结构:先产生一组“个体学习器”,再用某种策略将它们组合起来。个体学习器通常由一个现有的学习算法从训练数据中产生,例如C4.5决策树算法、BP神经网络算法。
集成学习通过将多个学习器进行结合,常常可以获得比单一学习器具有显著优越的泛化性能,这个对于弱学习器尤为明显。
如何获得一个好的集成学习器呢?每个个体学习器具有一定的准确性(每个学习器不能太坏)和多样性(每个学习器之间存在差异) 。
集成学习方法可以分为两大类:
一是个体学习器间存在强依赖关系、必须串行生成序列化方法,代表有Boosting算法;
二是个体学习器之间不存在强依赖关系、可同时生成的并行化方法,代表有Bagging和随机森林(Random Forest)。
- 序列集成方法,其中参与训练的基础学习器按照顺序生成(如AdaBoost)。序列方法的原理是利用基础学习器之间的依赖关系。通过对之前训练中错误标记的样本赋值较高的权重,可以提高整体的预测效果。
- 并行集成方法,其中参与训练的基础学习器并行生成(如Random Forest)。并行方法的原理是利用基础学习器之间的独立性,通过平均可以显著降低错误。
二、个体学习器概念
个体学习器:通常由一个现有的学习算法从训练数据产生。
同质集成中由类型相同的个体学习器组合而成,同质集成中个体学习器可称为基学习器
异质集成中由类型不相同的个体学习器组合而成,异质集成中个体学习器可称为“组件学习器” 或直接称为“个体学习器”。
三、boosting bagging
http://www.cnblogs.com/liuwu265/p/4690486.html
bagging和boosting都是将已有的分类或回归算法通过一定方式组合起来,形成一个更强大的分类器,即将弱分类器组装成强分类器。
bagging(并行式集成学习方法)
A)从原始样本集中抽取训练集。每轮从原始样本集中使用Bootstraping(自助法,有放回抽样方法)的方法抽取n个训练样本(在训练集中,有些样本可能被多次抽取到,而有些样本可能一次都没有被抽中)。共进行k轮抽取,得到k个训练集。(k个训练集之间是相互独立的)
B)每次使用一个训练集得到一个模型,k个训练集共得到k个模型。(注:这里并没有具体的分类算法或回归方法,我们可以根据具体问题采用不同的分类或回归方法,如决策树、感知器等)
C)对分类问题:将上步得到的k个模型采用投票的方式得到分类结果;对回归问题,计算上述模型的均值作为最后的结果。(所有模型的重要性相同)
boosting<