主要内容

贝叶斯优化的变量

创建优化变量的语法

对于目标函数中的每个变量,使用optimizableVariable.每个变量都有一个惟一的名称和一个值范围。创建变量的最小语法是

变量= optimizableVariable(名称、范围)

这个函数创建一个从下界开始的实变量范围(1)到上界范围(2)

属性中可以指定三种类型的变量类型名称-值参数:

  • “真实”的-有限界之间的连续实值。给范围作为二元向量(低上),代表下限和上限。

  • “整数”-有限边界之间的整数值,类似于“真实”的

  • “分类”—单元格数组中可能值的名称,例如{“红”、“绿”、“蓝”},你在范围论点。

“真实”的或者“整数”变量,你可以指定bayesopt通过设置来搜索日志缩放的空间变换名称-值参数“日志”.对于这个转换,确保范围是完全正确的“真实”的和非负“整数”

包括变量bayesopt作为第二个论点的矢量。

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

要从优化中排除变量,请设置优化的名称-值参数optimizableVariable,或用点表示法:

xvar。优化= false;

提示

  • 有两个名字与optimizableVariable

    • MATLAB®工作空间变量名

    • 优化中变量的名称

    例如,

    xvar = optimizableVariable ('spacevar'[1100]);

    xvar是MATLAB工作空间变量,和'spacevar'为优化中的变量。

    使用这些名称如下:

    • 使用xvar作为您传递的变量矢量的元素bayesopt.例如,

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

      mysvmfun(x,cdata,grp) = mysvmfun(x,cdata,grp) = mysvmfun(x,cdata,grp)“BoxConstraint”,X.Spacevar.,……KernelScale, x.tvar);目标= kfoldLoss (crossval (SVMModel));

优化变量示例

从0到1的实变量:

var1 = optimizableVariable (“xvar”[0, 1])
var1 =与属性的优化变性:名称:'xvar'范围:[0 1]类型:'实际'变换:'无'优化:1

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

var2 =优化不变(“ivar”1000年[0],“类型”“整数”“转换”“日志”
var2 = optimizablevvariable with properties: Name: 'ivar' Range: [0 1000] Type: 'integer' Transform: 'log

彩虹颜色的分类变量:

var3 = optimizableVariable (“rvar”, {“r”'o'“y”‘g’“b”“我”“v”},“类型”“分类”
var3 = optimizablevvariable with properties: Name: 'rvar' Range: {'r' ' 'o' 'y' ' 'g' 'b' 'i' ' 'v'} Type: 'categorical' Transform: 'none'最优化:1

相关话题