achieves

如何使用Keras快速构建集成卷积网络模型?在统计学和机器学习领域,集成方法(ensemble method)使用多种学习算法以获得更好的预测性能(相比单独使用其中任何一种算法) 。和统计力学中的统计集成(通常是无穷集合)不同,一个机器学习集成仅由一个离散的可选模型的离散集合组成,但通常拥有更加灵活的结构 [1] 。GitHub 地址:https://github.com/LawnboyMax/keras_ensemblng使用集成的主要动机是在发现新的假设,该假设不一定存在于构成模型的假设空间中 。从经验的角度看,当模型具有显著的多样性时,集成方法倾向于得到更好的结果 [2] 。动机在一个大型机器学习竞赛的比赛结果中,最好的结果通常是由模型的集成而不是由单个模型得到的 。例如,ILSVRC2015 的得分最高的单个模型架构得到了第 13 名的成绩 。而第 1 到 12 名都使用了不同类型的模型集成 。我目前并没有发现有任何的教程或文档教人们如何在一个集成中使用多种模型,因此我决定自己做一个这方面的使用向导 。我将使用 Keras,具体来说是它的功能性 API,以从相对知名的论文中重建三种小型 CNN(相较于 ResNet50、Inception 等而言) 。我将在 CIFAR-10 数据集上独立地训练每个模型 [3] 。然后使用测试集评估每个模型 。之后,我会将所有三个模型组成一个集合,并进行评估 。通常按照预期,这个集成相比单独使用其中任何一个模型,在测试集上能获得更好的性能 。有很多种不同类型的集成:其中一种是堆叠(stacking) 。这种类型更加通用并且在理论上可以表征任何其它的集成技术 。堆叠涉及训练一个学习算法结合多种其它学习算法的预测 [1] 。对于这个示例,我将使用堆叠的最简单的一种形式,其中涉及对集成的模型输出取平均值 。由于取平均过程不包含任何参数,这种集成不需要训练(只需要训练模型) 。本文介绍的集成的简要结构准备数据首先,导入类和函数:from keras.models im


    以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

    「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: