贝叶斯调参

机器学习中参数调优的目的是为了找到模型在测试集上表现最好的参数,目前常见的调参方法主要有四种:

  • 1、手动调参;
  • 2、网格搜索;
  • 3、随机搜索;
  • 4、基于贝叶斯方法的参数调优。

上面四种方法从上到下效率是依次上升的。除此之外,其实还有遗传算法和梯度算法可用来调参,但是梯度算法是不适用于调节超参的。超参数是指模型在训练之前人为设置的参数,例如随机森林中的树数量是一个超参数,而神经网络中的权重则不是,权重是训练期间学习得到的模型参数。

贝叶斯超参调优的简单总结就是:建立目标函数的概率模型,并使用它选择最优的超参数以对真实目标函数进行评估。

超参调优可用下式来表示:


其中f(x)表示模型的目标函数(或称loss函数),如RMSE。x*则是使得f(x)得分最好的参数。

手动调参是一件非常费时费力的工作,网格调参和随机调参虽然没那么费力但是费机器。网格调参和随机调参一个很关键的缺点是其不能从已经搜索过的参数结果中获取信息。从贝叶斯角度来说,网格调参和随机调参无法将已经搜索过的参数有效转化为先验信息,并与后续的最优参数选择(即后验)建立联系。而贝叶斯调参则是对这一点进行了改进,其将已搜索过的参数作为参数的先验信息并以其为基础选择出最优(后验)参数。

因此我们可以先使用一个替代目标函数来找出当前最优参数,即


其中 x*表示未使用过的参数组合,而 f* 则表示 x* 参数时候的目标函数的得分。x, y 分别表示已使用过的参数和其对应的目标函数得分。因此我们的替代函数的目标就是在已使用的参数分布的基础上进行搜索得到可能的最优解,一步一步不断更新,每一步试探都会更新我们的参数分布,使得参数搜索更加准确。这个其实跟贝叶斯原理是一致的,利用先验来推断后验,先验信息越丰富,后验结果也就越准确。

因此,贝叶斯调参的步骤为:

  • 1、建立一个替代目标函数的概率模型,我们暂且称之为替代函数;
  • 2、找到使替代函数概率最大化的参数;
  • 3、将找到的参数代入机器学习模型中进行训练,得到原目标函数得分;
  • 4、更新目标函数的先验分布 (x, y);
  • 5、重复2-4步直到达到最大迭代次数或最大时长。



    更新先验后模型每次寻找的参数都更加接近目标函数

基于序列模型的优化方法(Sequential model-based optimization (SMBO) methods (SMBO))是贝叶斯优化的一种形式。序列模型是指我们会进行多次参数尝试,通过贝叶斯推断和更新替代函数的先验分布概率,每一次都会比之前的结果要更加好。

基于模型的参数优化方法更详细的步骤:

  • 1、确定一个参数搜索空间;
  • 2、机器学习模型的目标函数(或loss函数),这个函数是与超参密切相关的。每一组参数在模型的目标函数上都会得到一个得分,我们的目标就是要最大或最小化这个得分;
  • 3、建立目标函数的替代函数;
  • 4、选择函数,评估参数在替代函数上面的得分,以选择得分最高的参数;
  • 5、将参数应用到机器学习模型中,得到参数的得分,更新替代函数的先验分布;
  • 6、重复4-5步直到达到最大迭代次数。

不同的优化方法的区别主要在3、4步,即如何来建立替代函数和使用何种指标来选择出当前最优参数。

替代函数的建模主要有高斯过程(实现有BayesianOptimizationMOEspearmint),随机森林回归(SMAC3实现)和TPE(Tree Parzen Estimators,SMAC的改进版本,hyperopt实现)。

选择函数(指标)主要使用Expected Improvement(EI),这是新试验将在当前最佳观察上改进的预期概率。

小结:
基于贝叶斯模型的优化方法将建立目标函数的概率模型,以便为下一组要评估的超参数提出更明智的选择。 SMBO是贝叶斯优化的形式化形式,它比随机或网格搜索更有效地为机器学习模型找到最佳超参数。

本文主要介绍了贝叶斯优化的直观理解,并未涉及太多数学推理知识,详细原理可参考各个实现方法中的参考论文。

参考:
A Conceptual Explanation of Bayesian Hyperparameter Optimization for Machine Learning
机器学习-贝叶斯自动调参-20190104
Auto Machine Learning笔记 - Bayesian Optimization
BayesianOptimization
MOE
spearmint
SMAC3
hyperopt

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,504评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,434评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,089评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,378评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,472评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,506评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,519评论 3 413
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,292评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,738评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,022评论 2 329
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,194评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,873评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,536评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,162评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,413评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,075评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,080评论 2 352