optimizableVariable
Descripción de variables para bayesopt
u otros optimizadores
Descripción
Crear variables para optimizadores.
Creación
Sintaxis
Descripción
variable = optimizableVariable(
crea una variable con el nombre y el rango de valores especificados.Name
,Range
)
variable = optimizableVariable(
establece las propiedades utilizando argumentos nombre-valor. Por ejemplo, Name
,Range
,Name,Value)optimizableVariable('xvar',[1 1000],'Type','integer')
crea una variable de enteros de 1 a 1000. Puede especificar varios argumentos nombre-valor. Encierre cada nombre de propiedad entre comillas.
Propiedades
Name
— Nombre de la variable
vector de caracteres | escalar de cadena
Nombre de la variable, especificado como un vector de caracteres o un escalar de cadena. El nombre debe ser único, es decir, diferente de los de otras variables en la optimización.
Nota
Hay dos nombres asociados a una
optimizableVariable
:El nombre de la variable del área de trabajo de MATLAB®
El nombre de la variable en la optimización
Por ejemplo:
xvar = optimizableVariable('spacevar',[1,100]);
xvar
es la variable del área de trabajo de MATLAB y'spacevar'
es la variable en la optimización.Utilice estos nombres de la siguiente manera:
Utilice
xvar
como un elemento del vector de variables que se pasan abayesopt
. Por ejemplo:results = bayesopt(fun,[xvar,tvar])
Utilice
'spacevar'
como el nombre de la variable en la optimización. Por ejemplo, en una función objetivo,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
Range
— Rango de las variables
Vector real creciente de 2 elementos | arreglo de cadenas o arreglo de celdas de nombres de variables categóricas
Rango de las variables, especificado como un vector real creciente finito de 2 elementos o como un arreglo de cadenas o un arreglo de celdas de nombres de variables categóricas:
Para variables reales o de enteros,
Range
da el límite inferior y el límite superior de esa variable.Para variables categóricas,
Range
da los valores posibles.
Ejemplo: [-10,1]
Ejemplo: {'red','blue','black'}
Tipos de datos: double
| string
| cell
Type
— Tipo de variable
'real'
(predeterminado) | 'integer'
| 'categorical'
Tipo de variable, especificado como 'real'
(variable real), 'integer'
(variable de enteros) o 'categorical'
(variable categórica).
Nota
El tipo de datos de MATLAB tanto de las variables 'real'
como de las variables 'integer'
es el número estándar de punto flotante de doble precisión. El tipo de datos de las variables 'categorical'
es categórico. De modo que, por ejemplo, para leer un valor de una variable categórica denominado 'colorv'
en una tabla de variables denominada x
, utilice el comando char(x.colorv)
. Para ver un ejemplo, consulte la función objetivo en Custom Output Functions.
Ejemplo: 'Type','categorical'
Transform
— Transformada aplicada a una variable
'none'
(predeterminado) | 'log'
Transformada aplicada a una variable, especificada como 'none'
(no transformada) o 'log'
(transformada logarítmica).
Para 'log'
, la variable debe ser una variable real positiva ('Type','real'
) o una variable de enteros no negativa ('Type','integer'
). El software busca y modela la variable en una escala logarítmica.
Ejemplo: 'Transform','log'
Optimize
— Indicación para utilizar una variable en la optimización
true
(predeterminado) | false
Indicación para utilizar una variable en la optimización, especificada como true
(utilizar la variable) o false
(no utilizar la variable).
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.
Range
de variables reales o de enteros. Por ejemplo:xvar = optimizableVariable('x',[-10,10]); % Modify the range: xvar.Range = [1,5];
Type
entre'integer'
y'real'
. Por ejemplo:xvar.Type = 'integer';
Transform
de variables reales o de enteros entre'log'
y'none'
. Por ejemplo:xvar.Transform = 'log';
Puede utilizar esta flexibilidad, por ejemplo, para retocar una optimización que desee continuar. Actualice el rango o la transformada utilizando la notación de puntos y, luego, llame a resume
.
Funciones del objeto
bayesopt | Select optimal machine learning hyperparameters using Bayesian optimization |
Ejemplos
Variables para ejemplos de optimización
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 de enteros de 0 a 1000 en una escala logarítmica:
var2 = optimizableVariable('ivar',[0 1000],'Type','integer','Transform','log')
var2 = optimizableVariable with properties: Name: 'ivar' Range: [0 1000] Type: 'integer' Transform: 'log' Optimize: 1
Variable categórica de los colores del arco iris:
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
Historial de versiones
Introducido en R2016b
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)