集成学习的目的是让机器学习算法的效果更好

集成学习主要有三种方式:
1.Bagging:训练多个分类器,并以取平均或者众数的方式去的最终结果
2.Boosting:从弱学习器开始加强,通过对分类错误的样本赋予更高的权重完成模型的强化
3.Stacking:以分阶段的模式聚和多个分类或回归模型

降方差(bagging)减偏差(boosting)提升预测准确性(stacking)


Bagging
Bagging方法最大的特点是并行训练一堆分类器
全称:boostrap aggregation
最典型的代表就是随机森林

并不是所有算法都适合继承,公认的基础模型就是数模型

随机森林原理
随机(随机森林算法最重要的特点):数据采样随机(这里的数据采样是从所有数据中有放回采样,注意每一棵决策树样本量是相同的)、特征选取随机(每一棵决策树选取的总特征数量也是相同的)(进行随机的目的是要保证模型的泛化能力)
森林:很多个决策树并行放在一起

随机森林优势:
1.可以处理高纬度数据,并且不用特征选取工程
2.训练完成后,它能够给出哪些feature比较重要
3.并行训练,速度比较快
4.可以进行可视化分析

feature重要性比较方式:
例如比较B属性的重要性:先以A、B、C、D四个特征构建模型并最终得出一个准确率,再以随机值替换B特征并以A、B’、C、D四个特征构建模型得出准确率。如果两次的准确率差异不大,则说明B特征重要性不强,如果两次准确性差异较大,则说明B特征比较重要。

理论上来说越多的树效果越好,但实际上超过一定数量准确率就在上下浮动了


Boosting
Boosting方法的最大特征是串行训练,从弱学习器开始一步步强化学习器
最典型代表:Adaboost、Xgboost

Adaboost原理
Adaboost方法会根据前一次分类的效果调整数权重,如果某一个数据在前一次分类错了,那么在下一次迭代时就会有更大的权重,最终每个分类器根据自身的准确性来确定各自的权重再合体

步骤:
1.先为每一个数据赋相同的权重,得出一个分类器随机森林的功能说明_随机森林
2.得出该分类器的错误率随机森林的功能说明_数据_02
3.利用随机森林的功能说明_权重_03公式计算出该分类器在总分类器中的比重
4.利用随机森林的功能说明_权重_04公式计算第二次迭代时各个样本权重
5.例如只强化学习三次,则最后的结果为随机森林的功能说明_数据_05

具体的公式推导是由Adaboost的损失函数(指数损失函数)求偏导得出


Stacking
Stacking方法是将很多算法堆叠在一起,可以用来对得的算法有KNN、SVM、RF等算法
Stacking算法会分阶段来完成堆叠工作
第一阶段由多个基学习器预测,得出多个预测结果,第二阶段将上一步的预测结果作为特征传入元模型,得出最终的结果