Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

optimizableVariable

Descripción de variable para u otros optimizadoresbayesopt

Descripción

Cree variables para optimizadores.

Creación

Descripción

ejemplo

variable = optimizableVariable(Name,Range) crea una variable con el nombre y el rango de valores especificados.

ejemplo

variable = optimizableVariable(Name,Range,Name,Value) conjuntos con argumentos de par nombre-valor.Propiedades Por ejemplo, crea una variable de enteros de 1 a 1000.optimizableVariable('xvar',[1 1000],'Type','integer') Puede especificar varios argumentos de par nombre-valor. Incluya cada nombre de propiedad entre comillas.

Propiedades

expandir todo

Nombre de variable, especificado como un vector de caracteres o un escalar de cadena. El nombre debe ser único, lo que significa diferente de los de otras variables en la optimización.

Nota

  • Hay dos nombres asociados con un:optimizableVariable

    • El nombre de variable del espacio de trabajoMATLAB®

    • El nombre de la variable en la optimización

    Por ejemplo,

    xvar = optimizableVariable('spacevar',[1,100]);

    es la variable de espacio de trabajo y es la variable en la optimización.xvarMATLAB'spacevar'

    Utilice estos nombres de la siguiente manera:

    • Se utiliza como un elemento en el vector de las variables a las que se pasa.xvarbayesopt Por ejemplo,

      results = bayesopt(fun,[xvar,tvar])
    • Utilice como nombre de la variable en la optimización.'spacevar' Por ejemplo, en una función objetiva,

      function objective = mysvmfun(x,cdata,grp)
      SVMModel = fitcsvm(cdata,grp,'KernelFunction','rbf',...
          'BoxConstraint',x.spacevar,...
          'KernelScale',x.tvar);
      objective = kfoldLoss(crossval(SVMModel));

Ejemplo: 'X1'

Tipos de datos: char | string

Rango variable, especificado como un vector real de aumento finito de 2 elementos, o como una matriz de cadenas o matriz de celdas de nombres de variables categóricas:

  • Para las variables reales o enteras, da el límite inferior y el límite superior de esa variable.Range

  • Para las variables categóricas, proporciona los valores posibles.Range

Ejemplo: [-10,1]

Ejemplo: {'red','blue','black'}

Tipos de datos: double | string | cell

Tipo de variable, especificado como (variable real), (variable entera) o (variable categórica).'real''integer''categorical'

Nota

El tipo de datos de ambos y variables es el número de punto flotante de precisión doble estándar.MATLAB'real''integer' El tipo de datos de variables es categórico.'categorical' Así, por ejemplo, para leer un valor de una variable categórica nombrada en una tabla de variables nombradas, utilice el comando.'colorv'xchar(x.colorv) Para obtener un ejemplo, vea la función de objetivo en.Funciones de salida personalizadas

Ejemplo: 'Type','categorical'

Transformación aplicada a variable, especificada como (sin transformación) o (transformación logarítmica).'none''log'

Para, la variable debe ser o y positiva.'log''real''integer' La variable se busca y se modela en una escala de registro.

Ejemplo: 'Transform','log'

Indicación para utilizar la variable en la optimización, especificada como (utilice la variable) o (no utilice la variable).truefalse

Ejemplo: 'Optimize',false

Tipos de datos: logical

Nota

Puede utilizar la notación de puntos para cambiar las siguientes propiedades después de la creación.

  • de variables reales o enteras.Range Por ejemplo,

    xvar = optimizableVariable('x',[-10,10]); % Modify the range: xvar.Range = [1,5];
  • entre y.Type'integer''real' Por ejemplo,

    xvar.Type = 'integer';
  • de variables reales o enteras entre y.Transform'log''none' Por ejemplo,

    xvar.Transform = 'log';

Puede utilizar esta flexibilidad, por ejemplo, para ajustar una optimización que desea continuar. Actualice el intervalo o transforme utilizando la notación de puntos y, a continuación, llame.resume

Funciones del objeto

bayesoptSeleccione hiperparámetros óptimos de aprendizaje automático mediante la optimización bayesiana

Ejemplos

contraer todo

Variable real de 0 a 1:

var1 = optimizableVariable('xvar',[0 1])
var1 =    optimizableVariable with properties:           Name: 'xvar'         Range: [0 1]          Type: 'real'     Transform: 'none'      Optimize: 1  

Variable entera de 1 a 1000 en una escala de registro:

var2 = optimizableVariable('ivar',[1 1000],'Type','integer','Transform','log')
var2 =    optimizableVariable with properties:           Name: 'ivar'         Range: [1 1000]          Type: 'integer'     Transform: 'log'      Optimize: 1  

Variable categórica de colores arcoíris:

var3 = optimizableVariable('rvar',{'r' 'o' 'y' 'g' 'b' 'i' 'v'},'Type','categorical')
var3 =    optimizableVariable with properties:           Name: 'rvar'         Range: {'r'  'o'  'y'  'g'  'b'  'i'  'v'}          Type: 'categorical'     Transform: 'none'      Optimize: 1  

Introducido en R2016b