贝叶斯超参数优化-图文

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

选择方程
• 选择函数是从代理函数中选择下一组超参数的标准。最常见的标 准是预期改善:
•目标是最大化x的预期改进
历史信息
• 每次算法提出一组新的候选超参数时,它用实际的目标函数对它 们进行评估,并将结果记录在一对(分数、超参数)中。
• 这些记录构成了历史。该算法利用历史建立l(x)和g(x),提出目标 函数的概率模型,该模型随着每次迭代而改进。
序列模型优化(SMBO)
• 序列模型优化(SMBO)是贝叶斯优化的一种形式化方法
• 基于模型的超参数优化有五个方面: • 要搜索的超参数域 • 一个目标函数,它接受超参数并输出我们想要最小化(或最大化)的分
数 • 目标函数的代理模型 • 一个称为选择函数的标准,用于计算接下来要从代理模型中选择哪个
Bayesian Hyperparameter Optimization for Machine
Learning
什么是超参数优化
• 机器学习中超参数优化的目的是找到给定机器学习算法的超参数,以返回在 验证集上测量的最佳性能。
• 比如:随机森林中树的个数
• 简单地说,我们希望找到在验证集指标上获得最佳分数的模型超参数。
• 建立目标函数的概率模型,并用它来选择最有希望的超参数来评 估真实的目标函数。
• 这种模型被称为代理模型,被表示为P(y|x), 代理函数比目标函数 更容易优化,贝叶斯方法通过选择在代理函数上性能最好的超参 数来寻找下一组超参数来对实际目标函数进行评估。
Leabharlann Baidu
步骤
• 建立目标函数的代理概率模型 • 查找在代理项上执行得最好的超参数 • 将这些超参数应用于真正的目标函数 • 更新包含新结果的代理模型 • 重复步骤2-4,直到达到最大的迭代次数或时间
超参数优化常用方法
• Following are four common methods of hyperparameter optimization for machine learning in order of increasing efficiency:
• Manual • Grid search • Random search • Bayesian model-based optimization • (There are also other methods such as evolutionary and gradient-
(a)中的序列优化过程只有一个模型在不断优化,消耗大量时间。(b)中的并行搜索可以节省 时间,但是相互之间没有任何交互,不利于信息利用。(c)中的PBT算法结合了二者的优点 。
关于群智能(进化计算)研究的一些思考?
• 涌现(emergency)是指由多个部分组成的整体出现各部分都没有的 新性质的现象,即通常所说的“1+1>2”。
其它超参数优化方法
• 《Population Based Training of Neural Networks》
• 思想朴素,但是应用广泛。
• Multi-Agent
• 比如第一视角多人游戏(Quake III Arena Capture the Flag)的超人表现,NeurIPS2018首届多智能 体竞赛(The NeurIPS 2018 Pommerman Competition)的冠军算法,DeepMind团队ICLR 2019 conference paper的2V2足球,甚至星际争霸II里的AlphaStar,都运用了类似方法。
• 在随机搜索和网格搜索的情况下,我们搜索的超参数域是一个网 格。上面是一个随机森林的例子
Objective Function
• 目标函数就是问题的评估。 • 计算起来较为昂贵
代理模型
代理函数有几种不同的形式,包括
高斯过程和随机森林回归,树
结构Parzen估计器。
这些方法在构造代理函数的方式上 有所不同,稍后我们将对此进行解 释。首先我们需要讨论选择函数。
总结
• 基于贝叶斯模型的优化方法建立目标函数的概率模型,为下一组 要评估的超参数提出更明智的选择。SMBO是贝叶斯优化的一种 形式化形式,它在为机器学习模型寻找最佳超参数方面比随机搜 索或网格搜索更有效。
• 基于序列模型的优化方法的不同之处在于它们构建代理,但它们 都依赖于以前试验的信息,以便为下一次评估提出更好的超参数 。树Parzen估计器是一种使用贝叶斯推理来构造代理模型的算法 ,它可以使用预期的改进来选择下一个超参数。
based.)
网格和随机 搜索完全不 受过去评估 的影响,因 此,通常会 花费大量时 间评估“糟 糕的”超参 数。
Bayesian optimization
与随机搜索或网格搜索不同,贝叶斯方法跟踪过去的评估结果, 从而形成一个概率模型,将超参数映射为目标函数上得分的概率:
一句话总结贝叶斯超参数优化
超参数 • 由算法用于更新代理模型的(分数、超参数)对组成的历史记录
Domain
• hyperparameter_grid = { • 'n_estimators': [100, 200, 300, 400, 500, 600], • 'max_depth': [2, 5, 10, 15, 20, 25, 30, 35, 40], • 'min_samples_leaf': [1, 2, 3, 4, 5, 6, 7, 8] •}
• 目标就是当历史信息增加(经验)的时候,让寻找最优参数的错 误减小。
• 多花一点时间选择下一个超参数,以减少对目标函数的调用。
• 在实践中,花费在选择下一个超参数上的时间与花费在目标函数 上的时间相比是无关紧要的。通过评估从过去的结果中看起来更 有希望的超参数,贝叶斯方法可以在更少的迭代中找到比随机搜 索更好的模型设置。
population based training
• 主要用来自适应调节超参数
• 这种基于种群(population)的进化方式,淘汰差的模型,利用 (exploit)好的模型并添加随机扰动(explore)进一步优化,最终得到 最优的模型。
左边的gif是GAN在CIFAR-10上的效果,右边是 Feudal Networks(FuN)在 Ms Pacman上的效果。
相关文档
最新文档