主要内容

贝叶斯优化输出功能

什么是贝叶斯优化输出功能?

输出功能是在每次迭代结束时调用的函数Bayesopt.。输出函数可以停止迭代。它还可以创建绘图,将信息保存到工作区或文件,或执行您喜欢的任何其他计算。

除了停止迭代之外,输出函数不能改变贝叶斯优化的过程。他们只是监控优化的进度。

内置输出功能

这些内置输出函数将优化结果保存到文件或工作区。

  • @assignInbase.- 将每个迭代到名为的变量后保存结果'贝叶特遗露'在您的工作区。选择不同的名称,通过savevariablename.名称值对。

  • @savetofile.- 将每次迭代到名为的文件后保存结果'Bayesoptresults.mat'在您当前的文件夹中。选择不同的名称或文件夹,通过savefilename.名称值对。

例如,要在每次迭代后保存结果,以命名为工作区变量'贝叶森'

结果= Bayesopt(乐趣,vars,'outputfcn',@ assiveinbase,......'savevariablename''贝叶森'

自定义输出功能

用签名写一个自定义输出函数

停止=输出函数(结果,状态)

Bayesopt.通过了结果状态变量到您的功能。您的功能返回停止,你设定的真的停止迭代,或者错误的允许迭代继续。

结果是课堂的对象贝叶斯偏见结果到目前为止包含有关计算的可用信息。

状态有可能的价值观:

  • '最初的'-Bayesopt.即将开始迭代。

  • '迭代'-Bayesopt.刚刚完成了迭代。

  • '完毕'-Bayesopt.刚完成最终迭代。

例如,看到贝叶斯优化输出功能

贝叶斯优化输出功能

此示例显示如何使用具有贝叶斯优化的自定义输出功能。当目标函数是交叉验证错误率下降的目标函数低于13%时,输出函数会停止优化。输出功能也绘制每个迭代的时间。

功能停止=输出函数(结果,状态)执着的h stop = false;转变状态案件'最初的'h =图;案件'迭代'如果结果.MInjective <0.13停止=真;结尾图(h)tms =结果.TerationTimetrace;绘图(1:Numel(TMS),TMS')XLabel('迭代号')ylabel('迭代的时间') 标题('每次迭代的时间')绘制结尾

目标函数是KNN分类的交叉验证损失电离层数据。加载数据,以便重复性设置默认随机流。

加载电离层RNG.默认

优化1到30的邻域大小,以及三个距离指标。

num =优化不变('n',[1,30],'类型''整数');DST =优化不变('DST',{'chebbychev''euclidean''minkowski'},'类型''分类');vars = [num,dst];

设置交叉验证分区和目标函数。为了再现性,请设置收集功能名称'预期改善加'。运行优化。

c = cvpartition(351,'kfold'5);fun = @(x)kfoldloss(fitcknn(x,y,'cvpartition',C,'numneighbors',x.n,......'距离',char(x.dst),'nsmethod''彻底的'));结果= Bayesopt(乐趣,vars,'outputfcn',@ outputfun,......'获取功能名称''预期改善加');
| ===================================================================================================== ||磨练|eval |目标|目标|Bestsofar |Bestsofar |n |DST | | | result | | runtime | (observed) | (estim.) | | | |=====================================================================================================| | 1 | Best | 0.19943 | 0.31699 | 0.19943 | 0.19943 | 24 | chebychev | | 2 | Best | 0.16809 | 0.19654 | 0.16809 | 0.1747 | 9 | euclidean | | 3 | Best | 0.12536 | 0.16571 | 0.12536 | 0.12861 | 3 | chebychev | __________________________________________________________ Optimization completed. Total function evaluations: 3 Total elapsed time: 6.414 seconds Total objective function evaluation time: 0.67924 Best observed feasible point: n dst _ _________ 3 chebychev Observed objective function value = 0.12536 Estimated objective function value = 0.12861 Function evaluation time = 0.16571 Best estimated feasible point (according to models): n dst _ _________ 3 chebychev Estimated objective function value = 0.12861 Estimated function evaluation time = 0.21764

相关话题