想要在一项任务上取得最佳成果,除了对超参数进行优化,另一种强大的技术是模型集成。集成是指将一系列不同模型的预测结果汇集到一起,从而得到更好地预测结果。它可以打败任何单个模型,无论这个模型的表现多么好。集成依赖于这样的假设,即对于独立训练的不同良好模型,它们表现良好可能是因为不同的原因:每个模型都从略有不同的角度观察数据来做出预测,得到了一部分‘真相’,但不是全部真相。每个模型都试图根据自己的假设并从自己的角度来理解训练数据的多样性。每个模型都得到了数据真相的一部分,但不是全部真相。将每个模型的观点汇聚到一起,就得到了更加准确的表述。

以分类器为例。想要将一组分类器的预测结果汇聚在一起(即分类器集成),最简单的方法就是将他们的预测结果取平均值。但只有分类器中每一个性能差不多时,这种方法才比较合理,如果其中一个分类器性能比其他差很多,那么最终预测结果可能不如这一组中最佳分类器那么好。

将分类器集成有一个更聪明的做法,即加权平均,其权重在验证集上学习得到。可以使用随机搜索或简单的优化算法。

集成的模型应尽可能好,同时尽可能不同。这通常意味着使用非常不同的构架,甚至使用不同类型的机器学习方法。有一种方法在实践中非常有效,就是将基于树的方法和深度神经网络进行集成。2014年,Kaggle四等奖获得者集成中的某一个模型来源于与其他模型都不同的方法,正是正则化的贪婪森林,森林的得分低于其他模型,因此在集成中被赋予了较小的权重,但出乎意料的是它极大地改进了总体的集成结果,因为它和其他模型完全不同,提供了其他模型无法获得的信息。这正是集成的关键之处,集成不在于你的最佳模型有多好,而在于候选模型集合的多样性。近年来,一种在实践中非常成功的基本集成方法是宽且深的模型类型,结合了深度学习和浅层学习。这种模型联合训练一个深度神经网络和一个大型的线性模型。对多种模型联合训练,是实现模型集成的另一种选择。

以上只是简单的谈到了模型集成的概念等,更加复杂的方法读者可以自行查询,感谢大家!求点赞+关注,谢谢啦!