Datawhale 零基础入门CV赛事-Task5 模型集成

最后一章,将会学习如何使用集成学习提高预测精度,通过学习知道集成学习方法以及交叉验证情况下的模型集成,最终学会使用深度学习模型的集成学习。

在机器学习中的集成学习可以在一定程度上提高预测精度,常见的集成学习方法有Stacking、Bagging和Boosting,同时这些集成学习方法与具体验证集划分联系紧密。       

由于深度学习模型一般需要较长的训练周期,如果硬件设备不允许建议选取留出法,如果需要追求精度可以使用交叉验证的方法。           

下面假设构建了10折交叉验证,训练得到10个CNN模型。那么在10个CNN模型可以使用如下方式进行集成,对预测的结果的概率值进行平均,然后解码为具体字符;对预测的字符进行投票,得到最终字符。


在不同的任务中可能会有不同的解决方案,不同思路的模型不仅可以互相借鉴,同时也可以修正最终的预测结果。

在本次赛题中,可以从以下几个思路对预测结果进行后处理:     

统计图片中每个位置字符出现的频率,使用规则修正结果;

单独训练一个字符长度预测模型,用来预测图片中字符个数,并修正结果。     

在本章中我们讲解了深度学习模型做集成学习的各种方法,并以此次赛题为例讲解了部分代码。以下几点需要同学们注意:   

集成学习只能在一定程度上提高精度,并需要耗费较大的训练时间,因此建议先使用提高单个模型的精度,再考虑集成学习过程;

具体的集成学习方法需要与验证集划分方法结合,Dropout和TTA在所有场景有可以起作用。

你可能感兴趣的:(Datawhale 零基础入门CV赛事-Task5 模型集成)