CSDN|如何提高模型性能?这几个方法值得尝试 | CSDN 博文精选( 三 )
- 计算反馈信号(这组超参数在这个任务上是否得到了一个高性能的模型)的计算代价可能非常高 , 它需要在数据集上创建一个新模型并从头开始训练 。
- 超参数空间通常由许多离散的决定组成 , 因而既不是连续的 , 也不是可微的 。 因此 , 你通常不能在超参数空间中做梯度下降 。 相反 , 你必须依赖不使用梯度的优化方法 , 而这些方法的效率比梯度下降要低很多 。
模型集成
想要在一项任务上获得最佳结果 , 另一种强大的技术是模型集成(model ensembling) 。 集 成是指将一系列不同模型的预测结果汇集到一起 , 从而得到更好的预测结果 。 观察机器学习竞赛 ,特别是Kaggle 上的竞赛 , 你会发现优胜者都是将很多模型集成到一起 , 它必然可以打败任何单 个模型 , 无论这个模型的表现多么好 。
集成依赖于这样的假设 , 即对于独立训练的不同良好模型 , 它们表现良好可能是因为不同 的原因:每个模型都从略有不同的角度观察数据来做出预测 , 得到了“真相”的一部分 , 但不 是全部真相 。 你可能听说过盲人摸象的古代寓言:一群盲人第一次遇到大象 , 想要通过触摸来 了解大象 。 每个人都摸到了大象身体的不同部位 , 但只摸到了一部分 , 比如鼻子或一条腿 。 这 些人描述的大象是这样的 , “它像一条蛇”“像一根柱子或一棵树” , 等等 。 这些盲人就好比机器 学习模型 , 每个人都试图根据自己的假设(这些假设就是模型的独特架构和独特的随机权重初 始化)并从自己的角度来理解训练数据的多面性 。 每个人都得到了数据真相的一部分 , 但不是 全部真相 。 将他们的观点汇集在一起 , 你可以得到对数据更加准确的描述 。 大象是多个部分的 组合 , 每个盲人说的都不完全准确 , 但综合起来就成了一个相当准确的故事 。
我们以分类问题为例 。 想要将一组分类器的预测结果汇集在一起[即分类器集成(ensemble the classifiers)] , 最简单的方法就是将它们的预测结果取平均值作为预测结果 。
preds_a= model_a.predict(x_val) preds_b= model_b.predict(x_val) preds_c= model_c.predict(x_val) preds_d= model_d.predict(x_val) 只有这组分类器中每一个的性能差不多一样好时 , 这种方法才奏效 。 如果其中一个分类器 性能比其他的差很多 , 那么最终预测结果可能不如这一组中的最佳分类器那么好 。将分类器集成有一个更聪明的做法 , 即加权平均 , 其权重在验证数据上学习得到 。 通常来 说 , 更好的分类器被赋予更大的权重 , 而较差的分类器则被赋予较小的权重 。 为了找到一组好 的集成权重 , 你可以使用随机搜索或简单的优化算法(比如 Nelder-Mead 方法) 。
推荐阅读
- Spacex|卫星互联网轨道资源稀缺,中国航天如何与国际卫星界大亨竞争?
- iQOO手机|毕业想换5G手机不知如何选?别犹豫了,iQOO Z1x适合你
- 蓝橡树|牛娃爸爸分享: 孩子如何通过学习编程, 激活大脑, 提升成绩, 逆袭名校?
- 中年|什么是余压监控系统?余压监控系统如何接线和安装?一篇文章搞懂
- 行业互联网|突围造车红海 恒大如何冲刺下半场?
- AMD,英特尔|英特尔i5-10400和AMD 3600如何选择?看性价比?
- 互通lightroom教程|如何拍摄高级感服装产品图
- |证券类APP如何运营?拉新篇
- 5G|ROG游戏手机3体验如何?144Hz+6000mAh组合惊艳
- 见谈说|喧嚣的噪声如何改变我们的听觉
