bayesopt
试图最小化目标函数。相反,如果你想最大化一组函数,函数的目标函数的-你想最大化。看到最大化的功能。包括额外的参数的目标函数,看看参数化功能。
bayesopt
通过一个表变量目标函数。变量声明的名称和类型;看到变量的贝叶斯优化。
目标函数有以下签名:
(目标,coupledconstraints,用户数据)=乐趣(x)
这个目标函数返回损失的旨在配合支持向量机模型参数盒子
和σ
。还返回一个耦合约束函数,目的是积极的(不可行)的支持向量的个数超过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;
使用目标函数,假设cdata
和grp
存在于工作区,创建一个匿名函数,包含数据,所述参数化功能。
有趣= @ (x) mysvmfun (x, cdata, grp);结果= bayesopt(有趣,var)%假定var存在
bayesopt
认为你的目标函数返回一个错误当目标函数返回以外的任何一个有限的真正的标量。例如,如果您的复杂目标函数返回一个值,南
,或正
,然后bayesopt
认为你的目标函数的错误。如果bayesopt
遇到一个错误,它继续优化,并自动更新的贝叶斯模型点,导致错误。这是贝叶斯模型误差模型。bayesopt
包含了误差模型耦合约束。看到耦合约束。
当错误存在,你可以画出误差模型通过设置bayesopt
PlotFcn
名称-值参数@plotConstraintModels
。或者你可以回顾情节
在贝叶斯优化的结果,包括@plotConstraintModels
。