一、集成学习
bagging:
基本流程:
Bagging的基本流程:
- 经过 M 轮自助采样,可以得到 M 个包含 N 个训练样本的采样集。
- 然后基于每个采样集训练出一个基学习器。
- 最后将这 M 个基学习器进行组合,得到集成模型。
在使用 Bagging学习器进行预测时:
分类任务采取简单投票法,取每个基学习器的预测类别的众数。
回归任务使用简单平均法,取每个基学习器的预测值的平均。
参考链接:https://www.jianshu.com/p/4ef2ddf3d615
Boosting 就是一族可以将弱学习器提升为强学习器的算法:
- 先从初始训练集训练出一个基学习器。
- 再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多关注。
- 然后基于调整后的样本分布来训练下一个基学习器。
- 如此重复,直到基学习器数量达到事先指定的值M 。
- 最终将这M个基学习器进行加权组合。
深度学习中的集成学习技巧:
1.dropout:Dropout可以作为训练深度神经网络的一种技巧。在每个训练批次中,通过随机让一部分的节点停止工作。同时在预测的过程中让所有的节点都其作用。
作用:防止过拟合。
2.TTA:测试集数据扩增(Test Time Augmentation,简称TTA)也是常用的集成学习技巧,数据扩增不仅可以在训练时候用,而且可以同样在预测时候进行数据扩增,对同一个样本预测三次,然后对三次结果进行平均。
参考链接:github模型形成