机器学习-集成算法

集成算法用一些相对较弱的学习模型独立地就同样的样本进行训练,然后把结果整合起来进行整体预测。集成算法的主要难点在于究竟集成哪些独立的较弱的学习模型以及如何把学习结果整合起来。这是一类非常强大的算法,同时也非常流行。

常见的算法包括:Boosting, Bootstrapped Aggregation, AdaBoost,堆叠泛化,梯度推进机,随机森林,GBDT

是构建多个学习器,然后通过一定策略结合把它们来完成学习任务的,常常可以获得比单一学习显著优越的学习器。周志华的书上说,“个体学习器的"准确性"和"多样性"本身就存在冲突,一般准确性很高之后,要增加多样性就需牺牲准确性。事实上,如何产生并结合‘好而不同’的个体学习器,恰是集成学习研究的核心”(对准确性和多样性的论述还不是很理解)。

按照个体学习器之间的关系,分为Bagging、Boosting、Stacking三大类。

Bagging的原理首先是基于自助采样法(bootstrap sampling)随机得到一些样本集训练,用来分别训练不同的基学习器,然后对不同的基学习器得到的结果投票得出最终的分类结果。自助采样法得到的样本大概会有63%的数据样本被使用,剩下的可以用来做验证集。

随机森林其实也算Bagging的一种,但是有一点区别是随机森林在构建决策树的时候,会随机选择样本特征中的一部分来进行划分。由于随机森林的二重随机性,它具有良好的学习性能。

 
原文地址:https://www.cnblogs.com/520520520zl/p/14326144.html