贝叶斯优化(hyperopt)参数介绍

     网格搜索和随机搜索则对ml模型超参数的优化能取得不错的效果,但是需要大量运行时间去评估搜索空间中并不太可能找到最优点的区域。因此越来越多的的超参数调优过程都是通过自动化的方法完成的,它们旨在使用带有策略的启发式搜索(informed search)在更短的时间内找到最优超参数。 

     贝叶斯优化是一种基于模型的用于寻找函数最小值的方法。近段时间以来,贝叶斯优化开始被用于机器学习超参数调优,结果表明,该方法在测试集上的表现更加优异,并且需要的迭代次数小于随机搜索。

贝叶斯优化问题有四个组成部分:

(1)目标函数:我们想要最小化的对象,这里指带超参数的机器学习模型的验证误差

(2)域空间:待搜索的超参数值

(3)优化算法:使用的搜索算法

(4)结果的历史数据:存储搜索的所有点评估的数据库,存储数据包含超参数和验证损失

通过以上四个步骤,我们可以对任意实值函数进行优化(找到最小值)

不同分布名称含义:

 choice:类别变量

   quniform:离散均匀分布(在整数空间上均匀分布)

   uniform:连续均匀分布(在浮点数空间上均匀分布)

   loguniform:连续对数均匀分布(在浮点数空间中的对数尺度上均匀分布)

  • hp.pchoice(label,p_options)以一定的概率返回一个p_options的一个选项。这个选项使得函数在搜索过程中对每个选项的可能性不均匀。
  • hp.uniform(label,low,high)参数在low和high之间均匀分布。
  • hp.quniform(label,low,high,q),参数的取值round(uniform(low,high)/q)*q,适用于那些离散的取值。
  • hp.loguniform(label,low,high) 返回根据 exp(uniform(low,high)) 绘制的值,以便返回值的对数是均匀分布的。
    优化时,该变量被限制在[exp(low),exp(high)]区间内。
  • hp.randint(label,upper) 返回一个在[0,upper)前闭后开的区间内的随机整数。
  • hp.normal(label, mu, sigma) where mu and sigma are the mean and standard deviation σ , respectively. 正态分布,返回值范围没法限制。
  • hp.qnormal(label, mu, sigma, q)
  • hp.lognormal(label, mu, sigma)
  • hp.qlognormal(label, mu, sigma, q)

https://blog.csdn.net/qq_41076797/article/details/102941095?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.control

posted @ 2020-12-23 12:05  dalege  阅读(1399)  评论(0编辑  收藏  举报