主要内容

贝叶斯优化目标函数

目标函数的语法

bayesopt试图最小化目标函数。相反,如果你想最大化一组函数,函数的目标函数的-你想最大化。看到最大化的功能。包括额外的参数的目标函数,看看参数化功能

bayesopt通过一个表变量目标函数。变量声明的名称和类型;看到变量的贝叶斯优化

目标函数有以下签名:

(目标,coupledconstraints,用户数据)=乐趣(x)
  1. 客观的——目标函数值x,一个数字标量。bayesopt返回一个错误如果目标函数返回一个非数字值或一个矩阵与多个条目。

  2. coupledconstraints——耦合约束的价值,如果任何(可选输出),一个向量的值。一个负值表明一个约束满足,积极的值表示不满意。有关详细信息,请参见耦合约束

  3. 用户数据-可选的函数可以返回的数据为进一步使用,如策划或日志输出(可选)。例如,看到的贝叶斯优化情节功能

目标函数的例子

这个目标函数返回损失的旨在配合支持向量机模型参数盒子σ。还返回一个耦合约束函数,目的是积极的(不可行)的支持向量的个数超过100(100是可行的,101不是)。金宝app

函数(目标、约束)= mysvmfun (x, cdata, grp) SVMModel = fitcsvm (grp cdata,“KernelFunction”,“rbf”,“BoxConstraint”x.box,“KernelScale”,x.sigma);目标= kfoldLoss (crossval (SVMModel));约束=总和(SVMModel.SupportVect金宝appors) - 100.5;

使用目标函数,假设cdatagrp存在于工作区,创建一个匿名函数,包含数据,所述参数化功能

有趣= @ (x) mysvmfun (x, cdata, grp);结果= bayesopt(有趣,var)%假定var存在

目标函数的错误

bayesopt认为你的目标函数返回一个错误当目标函数返回以外的任何一个有限的真正的标量。例如,如果您的复杂目标函数返回一个值,,或,然后bayesopt认为你的目标函数的错误。如果bayesopt遇到一个错误,它继续优化,并自动更新的贝叶斯模型点,导致错误。这是贝叶斯模型误差模型bayesopt包含了误差模型耦合约束。看到耦合约束

当错误存在,你可以画出误差模型通过设置bayesoptPlotFcn名称-值参数@plotConstraintModels。或者你可以回顾情节在贝叶斯优化的结果,包括@plotConstraintModels

相关的话题