主要内容

变量的贝叶斯优化

语法创建优化变量

在你的目标函数为每个变量,创建一个变量描述对象使用optimizableVariable。每个变量都有一个唯一的名称和值的范围。最小的语法变量创建

变量= optimizableVariable(名称、范围)

这个函数创建一个真正的变量范围的下限范围(1)的上限范围(2)

您可以指定在三种类型的变量类型名称-值参数:

  • “真实”的——连续有限边界之间的真正价值。给范围作为二极向量(低上),这代表着上下界限。

  • “整数”——整数值之间的有限范围,类似“真实”的

  • “分类”-单元阵列的可能值的名字,等{“红”、“绿”、“蓝”}你指定的范围论点。

“真实”的“整数”变量,您可以指定bayesopt通过设置在对数搜索空间变换名称-值参数“日志”。对于这种转变,确保的下界范围是严格的“真实”的和非负“整数”

包括变量bayesopt作为第二个参数向量。

结果= bayesopt(有趣,[xvar, ivar rvar])

排除一个变量的优化设置优化的名称参数optimizableVariable,或者点符号:

xvar。优化= false;

提示

  • 有两个相关联的一个名字optimizableVariable:

    • MATLAB®工作空间变量名

    • 优化变量的名称

    例如,

    xvar = optimizableVariable (“spacevar”[1100]);

    xvarMATLAB的工作空间变量,“spacevar”是变量的优化。

    使用这些名称如下:

    • 使用xvar作为一个向量的元素传递给变量bayesopt。例如,

      结果= bayesopt(乐趣,xvar,tvar])
    • 使用“spacevar”优化变量的名称。例如,在一个目标函数,

      功能目标= mysvmfun (x, cdata, grp) SVMModel = fitcsvm (grp cdata,‘KernelFunction’,‘rbf’,……“BoxConstraint”,x.spacevar,……KernelScale, x.tvar);目标= kfoldLoss (crossval (SVMModel));

为优化变量的例子

实变量从0到1:

var1 = optimizableVariable (“xvar”[0,1])
var1 = optimizableVariable属性:名称:“xvar”范围:[0 1]类型:“真实”的变换:“没有一个”优化:1

从0到1000的整数变量对数尺度:

var2 = optimizableVariable (“ivar”1000年[0],“类型”,“整数”,“转换”,“日志”)
var2 = optimizableVariable属性:名称:“ivar”范围:1000年[0]类型:“整数”转变:“日志”优化:1

分类变量的彩虹颜色:

var3 = optimizableVariable (“rvar”,{“r”“o”“y”‘g’“b”“我”“v”},“类型”,“分类”)
var3 = optimizableVariable属性:名称:“rvar”范围:{' r ' ' o ' y ' g ' ' b ' '我' ' v '}类型:“直言”转变:“没有一个”优化:1

相关的话题