(也是面试常考)
主要思想:利用一定的手段学习出多个分类器,而且这多个分类器要求是弱分类器,然后将多个分类器进行组合公共预测。核心思想就是如何训练处多个弱分类器以及如何将这些弱分类器进行组合,个体分类器应该“好而不同”。
弱分类器如何选择:一般采用弱分类器的原因在于将误差进行均衡,因为一旦某个分类器太强了就会造成后面的结果受其影响太大,严重的会导致后面的分类器无法进行分类,,常用的弱分类器可以采用误差小于0.5的,比如逻辑斯蒂回归,SVM,神经网络等。
如何生成个体学习器:
(1)个体学习器间存在强依赖关系,必须串行生成的序列化方法,例如基于Booosting;
(2)个体学习器间不存在强依赖关系,可同时生成的并行化方法,例如基于Bagging和随机森林。
Boosting算法:
(1)基本思想:先从初始训练集上训练一个基学习器,再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多关注,然后基于调整后的样本分布来训练下一个基学习器,如此反复进行,直至基学习器数目达到实现指定的值T,最终将这T个基学习器进行加权结合。
(2)Adaboost算法
基本思想:通过训练数据的分布构造一个分类器,然后通过误差率求出这个弱分类器的权重,通过更新训练数据的分布,迭代进行,直到达到迭代次数或者损失函数小于某一阈值。
算法流程:a.初始化训练数据的分布,训练数据的权重设置为平均分配;b.选择合适的基本分类器;c.计算分类器的系数和更新数据权重: