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.

bayesopt

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

Descripción

ejemplo

results = bayesopt(fun,vars) intenta encontrar valores de ese minimización.varsfun(vars)

ejemplo

results = bayesopt(fun,vars,Name,Value) modifica el proceso de optimización de acuerdo con los argumentos.Name,Value

Ejemplos

contraer todo

En este ejemplo se muestra cómo crear un objeto mediante el uso para minimizar la pérdida de validación cruzada.BayesianOptimizationbayesopt

Optimice los hiperparámetros de un clasificador KNN para los datos, es decir, encuentre los hiperparámetros KNN que minimizan la pérdida de validación cruzada.ionosphere Minimice los siguientes hiperparámetros:bayesopt

  • Los tamaños de vecindad más cercanos de 1 a 30

  • Funciones de distancia, y.'chebychev''euclidean''minkowski'

Para reproducibilidad, establezca la inicialización aleatoria, establezca la partición y establezca la opción en.AcquisitionFunctionName'expected-improvement-plus' Las opciones de conjunto no proporcionan una visualización iterativa.

load ionosphere rng default num = optimizableVariable('n',[1,30],'Type','integer'); dst = optimizableVariable('dst',{'chebychev','euclidean','minkowski'},'Type','categorical'); c = cvpartition(351,'Kfold',5); fun = @(x)kfoldLoss(fitcknn(X,Y,'CVPartition',c,'NumNeighbors',x.n,...     'Distance',char(x.dst),'NSMethod','exhaustive')); results = bayesopt(fun,[num,dst],'Verbose',0,...     'AcquisitionFunctionName','expected-improvement-plus')

results =    BayesianOptimization with properties:                        ObjectiveFcn: [function_handle]               VariableDescriptions: [1x2 optimizableVariable]                            Options: [1x1 struct]                       MinObjective: 0.1197                    XAtMinObjective: [1x2 table]              MinEstimatedObjective: 0.1213           XAtMinEstimatedObjective: [1x2 table]            NumObjectiveEvaluations: 30                   TotalElapsedTime: 113.3536                          NextPoint: [1x2 table]                             XTrace: [30x2 table]                     ObjectiveTrace: [30x1 double]                   ConstraintsTrace: []                      UserDataTrace: {30x1 cell}       ObjectiveEvaluationTimeTrace: [30x1 double]                 IterationTimeTrace: [30x1 double]                         ErrorTrace: [30x1 double]                   FeasibilityTrace: [30x1 logical]        FeasibilityProbabilityTrace: [30x1 double]                IndexOfMinimumTrace: [30x1 double]              ObjectiveMinimumTrace: [30x1 double]     EstimatedObjectiveMinimumTrace: [30x1 double]  

Una restricción acoplada es aquella que solo se puede evaluar evaluando la función objetiva. En este caso, la función objetiva es la pérdida validada entre un modelo SVM. La restricción acoplada es que el número de vectores de soporte no es superior a 100. Los detalles del modelo están en.Optimice un clasificador SVM con validación cruzada mediantebayesopt

Cree los datos para la clasificación.

rng default grnpop = mvnrnd([1,0],eye(2),10); redpop = mvnrnd([0,1],eye(2),10); redpts = zeros(100,2); grnpts = redpts; for i = 1:100     grnpts(i,:) = mvnrnd(grnpop(randi(10),:),eye(2)*0.02);     redpts(i,:) = mvnrnd(redpop(randi(10),:),eye(2)*0.02); end cdata = [grnpts;redpts]; grp = ones(200,1); grp(101:200) = -1; c = cvpartition(200,'KFold',10); sigma = optimizableVariable('sigma',[1e-5,1e5],'Transform','log'); box = optimizableVariable('box',[1e-5,1e5],'Transform','log'); 

La función objetiva es la pérdida de validación cruzada del modelo SVM para la partición.c La restricción acoplada es el número de vectores de soporte menos 100,5. Esto garantiza que los vectores de soporte 100 den un valor de restricción negativo, pero 101 vectores de soporte dan un valor positivo. El modelo tiene 200 puntos de datos, por lo que los valores de restricción acoplados oscilan entre-99,5 (siempre hay al menos un vector de soporte) a 99,5. Los valores positivos significan que la restricción no se satisface.

 function [objective,constraint] = mysvmfun(x,cdata,grp,c) SVMModel = fitcsvm(cdata,grp,'KernelFunction','rbf',...     'BoxConstraint',x.box,...     'KernelScale',x.sigma); cvModel = crossval(SVMModel,'CVPartition',c); objective = kfoldLoss(cvModel); constraint = sum(SVMModel.IsSupportVector)-100.5;  
fun = @(x)mysvmfun(x,cdata,grp,c); 

Fije el para así que el optimizador sabe que hay una restricción acoplada.NumCoupledConstraints1 Configure las opciones para trazar el modelo de restricción.

results = bayesopt(fun,[sigma,box],'IsObjectiveDeterministic',true,...     'NumCoupledConstraints',1,'PlotFcn',...     {@plotMinObjective,@plotConstraintModels},...     'AcquisitionFunctionName','expected-improvement-plus','Verbose',0); 

La mayoría de los puntos conducen a un número infactible de vectores de soporte.

Mejore la velocidad de una optimización bayesiana utilizando la evaluación de la función objetiva paralela.

Prepare variables y la función objetiva para la optimización bayesiana.

La función objetiva es la tasa de error de validación cruzada para los datos de ionosfera, un problema de clasificación binaria. Utilízese como clasificador, con y como parámetros para optimizar.fitcsvmBoxConstraintKernelScale

load ionosphere box = optimizableVariable('box',[1e-4,1e3],'Transform','log'); kern = optimizableVariable('kern',[1e-4,1e3],'Transform','log'); vars = [box,kern]; fun = @(vars)kfoldLoss(fitcsvm(X,Y,'BoxConstraint',vars.box,'KernelScale',vars.kern,...     'Kfold',5));

Busque los parámetros que proporcionan el error de validación cruzada más bajo mediante la optimización bayesiana paralela.

results = bayesopt(fun,vars,'UseParallel',true);
Copying objective function to workers... Done copying objective function to workers. 

|===============================================================================================================| | Iter | Active  | Eval   | Objective   | Objective   | BestSoFar   | BestSoFar   |          box |         kern | |      | workers | result |             | runtime     | (observed)  | (estim.)    |              |              | |===============================================================================================================| |    1 |       3 | Accept |     0.35897 |     0.10852 |     0.27066 |     0.27066 |      0.40251 |       972.28 | |    2 |       3 | Best   |     0.27066 |     0.10422 |     0.27066 |     0.27066 |    0.0073203 |       1.1872 | |    3 |       3 | Accept |     0.35897 |     0.11258 |     0.27066 |     0.27066 |      0.63346 |       220.31 | |    4 |       3 | Accept |     0.35897 |     0.10982 |     0.27066 |     0.27066 |      0.24185 |       444.02 | |    5 |       6 | Best   |     0.15385 |    0.099978 |     0.15385 |     0.15386 |   0.00011168 |     0.093528 | |    6 |       6 | Best   |     0.12821 |     0.12967 |     0.12821 |     0.12818 |   0.00063866 |     0.018135 | |    7 |       6 | Accept |     0.19373 |     0.10296 |     0.12821 |     0.12776 |    0.0001005 |      0.11991 | |    8 |       6 | Accept |     0.37322 |      20.593 |     0.12821 |     0.13249 |       8.7031 |   0.00011125 | |    9 |       6 | Accept |      0.1339 |    0.086394 |     0.12821 |     0.13216 |   0.00010824 |     0.023311 | |   10 |       6 | Accept |      0.5812 |      19.209 |     0.12821 |     0.13415 |       237.89 |   0.00010012 | |   11 |       6 | Accept |     0.14245 |     0.10978 |     0.12821 |      0.1376 |   0.00010041 |     0.022664 | |   12 |       6 | Accept |     0.17664 |      23.135 |     0.12821 |      0.1289 |      0.30037 |    0.0014962 | |   13 |       5 | Accept |     0.23647 |      22.508 |     0.12821 |     0.12809 |       876.57 |     0.012627 | |   14 |       5 | Accept |     0.35897 |    0.099327 |     0.12821 |     0.12809 |    0.0001005 |        988.9 | |   15 |       5 | Accept |     0.35897 |    0.083674 |     0.12821 |     0.12814 |       990.27 |       985.91 | |   16 |       6 | Best   |     0.12251 |     0.13437 |     0.12251 |     0.12571 |   0.00093129 |     0.033266 | |   17 |       6 | Best   |     0.11966 |     0.18898 |     0.11966 |     0.12289 |    0.0011252 |     0.011984 | |   18 |       6 | Accept |      0.1339 |     0.16574 |     0.11966 |     0.12306 |    0.0028325 |     0.036476 | |   19 |       6 | Best   |     0.10541 |     0.29174 |     0.10541 |      0.1142 |    0.0022156 |     0.013997 | |   20 |       5 | Accept |     0.11681 |      3.4201 |     0.10541 |      0.1179 |   0.00019144 |     0.004792 | |===============================================================================================================| | Iter | Active  | Eval   | Objective   | Objective   | BestSoFar   | BestSoFar   |          box |         kern | |      | workers | result |             | runtime     | (observed)  | (estim.)    |              |              | |===============================================================================================================| |   21 |       5 | Accept |     0.13675 |     0.21393 |     0.10541 |      0.1179 |   0.00081046 |      0.01568 | |   22 |       5 | Accept |     0.12821 |     0.49429 |     0.10541 |     0.12063 |    0.0031922 |    0.0095725 | |   23 |       6 | Accept |      0.1453 |     0.49944 |     0.10541 |     0.12027 |     0.038828 |     0.026798 | |   24 |       6 | Accept |     0.12251 |     0.44988 |     0.10541 |     0.12041 |    0.0034879 |     0.012684 | |   25 |       5 | Accept |     0.11111 |      1.7729 |     0.10256 |     0.11523 |       206.59 |       1.1184 | |   26 |       5 | Best   |     0.10256 |     0.32152 |     0.10256 |     0.11523 |   0.00083077 |    0.0090062 | |   27 |       5 | Accept |      0.1339 |    0.094543 |     0.10256 |      0.1178 |       999.01 |       81.922 | |   28 |       6 | Accept |     0.11681 |     0.20018 |     0.10256 |     0.11785 |        987.2 |       13.241 | |   29 |       6 | Accept |     0.11681 |     0.14953 |     0.10256 |     0.11787 |        995.8 |       22.417 | |   30 |       6 | Accept |     0.11681 |     0.71489 |     0.10256 |     0.11786 |       962.75 |       4.0028 |  __________________________________________________________ Optimization completed. MaxObjectiveEvaluations of 30 reached. Total function evaluations: 30 Total elapsed time: 38.2851 seconds. Total objective function evaluation time: 95.7048  Best observed feasible point:        box          kern        __________    _________      0.00083077    0.0090062  Observed objective function value = 0.10256 Estimated objective function value = 0.11786 Function evaluation time = 0.32152  Best estimated feasible point (according to models):        box         kern       _________    ________      0.0011252    0.011984  Estimated objective function value = 0.11786 Estimated function evaluation time = 0.28326 

Devuelva el mejor punto factible en el modelo bayesiano utilizando la función.resultsbestPoint Utilice el criterio predeterminado, que determina el mejor punto factible como el punto visitado que minimiza un intervalo de confianza superior en el valor de la función objetiva.min-visited-upper-confidence-interval

zbest = bestPoint(results)
zbest=1×2 table
       box         kern  
    _________    ________

    0.0011252    0.011984

La tabla contiene los valores estimados óptimos para los argumentos de par nombre-valor.zbest'BoxConstraint''KernelScale' Utilice estos valores para entrenar un nuevo clasificador optimizado.

Mdl = fitcsvm(X,Y,'BoxConstraint',zbest.box,'KernelScale',zbest.kern);

Observe que los parámetros óptimos están en.Mdl

Mdl.BoxConstraints(1)
ans = 0.0011 
Mdl.KernelParameters.Scale
ans = 0.0120 

Argumentos de entrada

contraer todo

Función objetiva, especificada como un identificador de función o, cuando el par nombre-valor es, a cuyo es un identificador de función.UseParalleltrueparallel.pool.ConstantValue Normalmente, devuelve una medida de pérdida (por ejemplo, un error de clasificación errónea) para un modelo de aprendizaje automático que tiene hiperparámetros ajustables para controlar su entrenamiento. tiene estas firmas:funfun

objective = fun(x) % or [objective,constraints] = fun(x) % or [objective,constraints,UserData] = fun(x)

acepta, una 1 por tabla de valores de variable y devuelve, un escalar real que representa el valor de la función objetivo.funxDobjectivefun(x)

Opcionalmente, también devuelve:fun

  • , un vector real de infracciones de restricciones acopladas.constraints Para obtener una definición, consulte. significa que se infringe la restricción. significa que se cumple la restricción.Restricciones acopladasconstraint(j) > 0jconstraint(j) < 0j

  • , una entidad de cualquier tipo (por ejemplo, un escalar, una matriz, una estructura u objeto).UserData Para ver un ejemplo de una función de trazado personalizada que utiliza, consulte.UserDataCree una función de trazado personalizada

Para obtener más información sobre el uso de, consulte.parallel.pool.ConstantbayesoptLa colocación de la función objetiva sobre los trabajadores

Ejemplo: @objfun

Tipos de datos: function_handle

Descripciones de variables, especificadas como un vector de objetos que definen los hiperparámetros que se deben ajustar.optimizableVariable

Ejemplo: , dónde y cuáles son los objetos[X1,X2]X1X2optimizableVariable

Argumentos de par nombre-valor

Especifique pares de argumentos separados por comas opcionales. es el nombre del argumento y es el valor correspondiente. deben aparecer dentro de las cotizaciones.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como.Name1,Value1,...,NameN,ValueN

Ejemplo: results = bayesopt(fun,vars,'AcquisitionFunctionName','expected-improvement-plus')

Control de algoritmos

contraer todo

Función para elegir el siguiente punto de evaluación, especificado como una de las opciones enumeradas.

Las funciones de adquisición cuyos nombres incluyen no producen resultados reproducibles porque la optimización depende del tiempo de ejecución de la función objetiva.per-second Las funciones de adquisición cuyos nombres incluyen modificar su comportamiento cuando están sobreexplotando un área.plus Para obtener más información, consulte.Tipos de función de adquisición

Ejemplo: 'AcquisitionFunctionName','expected-improvement-per-second'

Especifique la función objetiva determinista, especificada como o.falsetrue Si es estocástico (es decir, puede devolver valores diferentes para el mismo), a continuación, establecer en.funfun(x)xIsObjectiveDeterministicfalse En este caso, estima un nivel de ruido durante la optimización.bayesopt

Ejemplo: 'IsObjectiveDeterministic',true

Tipos de datos: logical

Propensión a explorar, especificado como un real positivo. Se aplica a las funciones de adquisición.'expected-improvement-plus''expected-improvement-per-second-plus' Ver.Más

Ejemplo: 'ExplorationRatio',0.2

Tipos de datos: double

Ajuste el modelo de proceso Gaussiano a o menos puntos, especificado como un entero positivo.GPActiveSetSize Cuando ha visitado más de puntos, las iteraciones subsiguientes que utilizan un modelo GP ajustan el modelo a puntos. elige los puntos uniformemente al azar sin reemplazo entre los puntos visitados.bayesoptGPActiveSetSizeGPActiveSetSizebayesopt El uso de menos puntos conduce a un ajuste más rápido del modelo GP, a expensas de un ajuste posiblemente menos preciso.

Ejemplo: 'GPActiveSetSize',80

Tipos de datos: double

Calcular en paralelo, especificado como (no calcular en paralelo) o (calcular en paralelo). realiza simultáneamente evaluaciones de funciones objetivas paralelas en los trabajadores paralelos.falsetruebayesopt Para obtener detalles algorítmicos, consulte.Optimización bayesiana paralela

Ejemplo: 'UseParallel',true

Tipos de datos: logical

Método de imputación para los valores de función objetivo de trabajador paralelo, especificados como,,, o.'clipped-model-prediction''model-prediction''max-observed''min-observed' Para generar un nuevo punto para evaluar, se adapta a un proceso Gaussiano a todos los puntos, incluidos los puntos que se evalúan en los trabajadores.bayesopt Para ajustar el proceso, imputa valores de función objetivo para los puntos que se encuentran actualmente en los trabajadores. especifica el método utilizado para la imputación.bayesoptParallelMethod

  • — Imputar el máximo de estas cantidades:'clipped-model-prediction'

    • Predicción del proceso Gaussiano medio en el puntox

    • Función objetiva mínima observada entre los puntos factibles visitados

    • La predicción mínima del modelo entre todos los puntos factibles

  • — Imputar la predicción del proceso Gaussiano medio en el punto.'model-prediction'x

  • — Imputar el valor máximo de la función objetiva observada entre los puntos factibles.'max-observed'

  • — Imputar el valor de la función objetiva mínima observada entre los puntos factibles.'min-observed'

Ejemplo: 'ParallelMethod','max-observed'

Tolerancia en el número de trabajadores paralelos activos, especificado como un entero positivo. Después asigna un punto para evaluar y, antes de calcular un nuevo punto para asignar, comprueba si hay menos que los trabajadores están activos.bayesoptMinWorkerUtilization Si es así, asigna puntos aleatorios dentro de los límites a todos los trabajadores disponibles.bayesopt De lo contrario, calcula el mejor punto para un trabajador. crea puntos aleatorios mucho más rápido que los puntos ajustados, por lo que este comportamiento conduce a una mayor utilización de los trabajadores, a costa de puntos posiblemente más pobres.bayesoptbayesopt Para obtener más información, consulte.Optimización bayesiana paralela

Ejemplo: 'MinWorkerUtilization',3

Tipos de datos: double

Iniciar y detener

contraer todo

Límite de evaluación de la función objetiva, especificado como un entero positivo.

Ejemplo: 'MaxObjectiveEvaluations',60

Tipos de datos: double

Límite de tiempo, especificado como real positivo. El límite de tiempo es en segundos, medido por y.tictoc

El tiempo de ejecución puede exceder porque no interrumpe las evaluaciones de funciones.MaxTimebayesopt

Ejemplo: 'MaxTime',3600

Tipos de datos: double

Número de puntos de evaluación iniciales, especificados como un entero positivo. elige estos puntos aleatoriamente dentro de los límites de la variable, de acuerdo con la configuración de la configuración para cada variable (uniforme para, logarmicamente espaciado para).bayesoptTransform'none''log'

Ejemplo: 'NumSeedPoints',10

Tipos de datos: double

Restricciones

contraer todo

Restricciones deterministas en las variables, especificadas como un identificador de función.

Para obtener más información, consulte.Restricciones deterministas —XConstraintFcn

Ejemplo: 'XConstraintFcn',@xconstraint

Tipos de datos: function_handle

Restricciones de variables condicionales, especificadas como un identificador de función.

Para obtener más información, consulte.Restricciones condicionales —ConditionalVariableFcn

Ejemplo: 'ConditionalVariableFcn',@condfun

Tipos de datos: function_handle

Número de restricciones acopladas, especificadas como un entero positivo. Para obtener más información, consulte.Restricciones acopladas

Nota

es necesario cuando tiene restricciones acopladas.NumCoupledConstraints

Ejemplo: 'NumCoupledConstraints',3

Tipos de datos: double

Indicación de si las restricciones acopladas son deterministas, especificadas como un vector lógico de longitud.NumCoupledConstraints Para obtener más información, consulte.Restricciones acopladas

Ejemplo: 'AreCoupledConstraintsDeterministic',[true,false,true]

Tipos de datos: logical

Informes, parcelas y detención

contraer todo

Nivel de visualización de línea de comandos, especificado como, o.012

  • : No se muestra la línea de comandos.0

  • — En cada iteración, muestre el número de iteración, el informe de resultados (véase el párrafo siguiente), el modelo de función objetiva, el tiempo de evaluación de la función objetiva, el mejor valor de función objetiva (más bajo) observado, el mejor valor de función objetivo Estimado (el más bajo) y el valores de restricción observados (si los hay).1 Al optimizar en paralelo, la pantalla también incluye una columna que muestra el número de trabajadores activos, contados después de asignar un trabajo al siguiente trabajador.

    El informe de resultados de cada iteración es uno de los siguientes:

    • — La función objetiva devuelve un valor finito y se satisfacen todas las restricciones.Accept

    • — Se satisfacen las restricciones y la función objetiva devuelve el valor más bajo entre los puntos factibles.Best

    • — La función objetiva devuelve un valor que no es un escalar real finito.Error

    • — Se infringe al menos una restricción.Infeas

  • — Igual que, añadiendo información de diagnóstico como el tiempo para seleccionar el siguiente punto, el tiempo de adaptación del modelo, la indicación de que las funciones de adquisición "Plus" declaran la sobreexplotación, y los trabajadores paralelos se asignan a puntos aleatorios debido a la baja utilización paralela.21

Ejemplo: 'Verbose',2

Tipos de datos: double

Función llamada después de cada iteración, especificada como un identificador de función o matriz de celdas de identificadores de función. Una función de salida puede detener el solucionador y puede realizar cálculos arbitrarios, incluida la creación de variables o el trazado. Especifique varias funciones de salida mediante una matriz de identificadores de función de celda.

Hay dos funciones de salida incorporadas:

  • : Construye una instancia en cada iteración y la asigna a una variable en el área de trabajo base.@assignInBaseBayesianOptimization Elija un nombre de variable utilizando el par nombre-valor.SaveVariableName

  • : Construye una instancia en cada iteración y la guarda en un archivo de la carpeta actual.@saveToFileBayesianOptimization Elija un nombre de archivo utilizando el par nombre-valor.SaveFileName

Puede escribir sus propias funciones de salida. Para obtener más información, consulte.Funciones de salida de optimización bayesiana

Ejemplo: 'OutputFcn',{@saveToFile @myOutputFunction}

Tipos de datos: cell | function_handle

Nombre de archivo para la función de salida, especificado como un vector de caracteres o un escalar de cadena.@saveToFile El nombre de archivo puede incluir una ruta de acceso, como.'../optimizations/September2.mat'

Ejemplo: 'SaveFileName','September2.mat'

Tipos de datos: char | string

Nombre de variable para la función de salida, especificado como un vector de caracteres o un escalar de cadena.@assignInBase

Ejemplo: 'SaveVariableName','September2Results'

Tipos de datos: char | string

Función de trazado llamada después de cada iteración, especificada como, un identificador de función o una matriz de celdas de identificadores de función.'all' Una función de trazado puede detener el solucionador y puede realizar cálculos arbitrarios, incluida la creación de variables, además del trazado.

No especifique ninguna función de trazado como.[]

llama a todas las funciones de trazado integradas.'all' Especifique varias funciones de trazado mediante una matriz de identificadores de función de celda.

Las funciones de trazado integradas aparecen en las tablas siguientes.

Parcelas modelo: aplicar cuando D ≤ 2Descripción
@plotAcquisitionFunction

Graficar la superficie de la función de adquisición.

@plotConstraintModels

Trace cada superficie del modelo de restricción. Los valores negativos indican puntos factibles.

También trazar una superficie (factible).P

También Trace el modelo de error, si existe, que va desde a.–11 Los valores negativos significan que el modelo probablemente no error, los valores positivos significan que probablemente haga el error. El modelo es:

Error de trazado = 2 * probabilidad (error) – 1.

@plotObjectiveEvaluationTimeModel

Trace la superficie del modelo de tiempo de evaluación de función objetiva.

@plotObjectiveModel

Trace la superficie del modelo, la ubicación estimada del mínimo y la ubicación del siguiente punto propuesto para evaluar.fun Para problemas unidimensionales, trazar sobres un intervalo creíble por encima y por debajo de la función media, y sobres una desviación estándar de ruido por encima y por debajo de la media.

Trazar trazados: aplicar a todos los DDescripción
@plotObjective

Trace cada valor de función observado frente al número de evaluaciones de función.

@plotObjectiveEvaluationTime

Trace cada tiempo de ejecución de evaluación de función observada frente al número de evaluaciones de función.

@plotMinObjective

Graficar los valores mínimos observados y estimados de la función frente al número de evaluaciones de función.

@plotElapsedTime

Trace tres curvas: el tiempo total transcurrido de la optimización, el tiempo total de evaluación de la función y el tiempo total de modelado y selección de puntos, todo en comparación con el número de evaluaciones de función.

Puede escribir sus propias funciones de trazado. Para obtener más información, consulte.Funciones de trazado de optimización bayesiana

Nota

Cuando hay restricciones acopladas, la visualización iterativa y las funciones de trazado pueden dar resultados contradictorio como:

  • Una trama puede aumentar.minimum objective

  • La optimización puede declarar un problema inviable incluso cuando mostró un punto factible anterior.

La razón de este comportamiento es que la decisión sobre si un punto es factible puede cambiar a medida que avanza la optimización. determina la viabilidad con respecto a su modelo de restricción, y este modelo cambia como puntos de evaluación.bayesoptbayesopt Por lo tanto, una trama de "objetivo mínimo" puede aumentar cuando el punto mínimo se considera más tarde inviable, y la pantalla iterativa puede mostrar un punto factible que más tarde se considera inviable.

Ejemplo: 'PlotFcn','all'

Tipos de datos: char | string | cell | function_handle

Inicialización

contraer todo

Los puntos de evaluación iniciales, especificados como un-por-tabla, donde es el número de puntos de evaluación, y es el número de variables.NDND

Nota

Si solo se proporciona, se interpreta como puntos iniciales para evaluar.InitialX La función objetiva se evalúa en.InitialX

Si también se proporcionan otros parámetros de inicialización, se interpreta como datos de evaluación de la función anterior.InitialX La función objetiva no se evalúa. Los valores faltantes se establecen en.NaN

Tipos de datos: table

Los valores objetivos correspondientes, especificados como vector de longitud, son el número de puntos de evaluación.InitialXNN

Ejemplo: 'InitialObjective',[17;-3;-12.5]

Tipos de datos: double

Infracciones de restricción de restricciones acopladas, especificadas como una-por-matriz, donde es el número de puntos de evaluación y es el número de restricciones acoplados.NKNK Para obtener más información, consulte.Restricciones acopladas

Tipos de datos: double

Errores de, especificados como un vector de longitud con entradas o, donde es el número de puntos de evaluación.InitialXN-11N Especifique para ningún error y para un error.-11

Ejemplo: 'InitialErrorValues',[-1,-1,-1,-1,1]

Tipos de datos: double

Los datos iniciales correspondientes, especificados como vector de celda de longitud, son el número de puntos de evaluación.InitialXNN

Ejemplo: 'InitialUserData',{2,3,-1}

Tipos de datos: cell

Tiempos de evaluación de la función objetiva en, especificado como un vector de longitud, donde es el número de puntos de evaluación.InitialXNN El tiempo se mide en segundos.

Tipos de datos: double

Tiempos para las primeras iteraciones, especificadas como un vector de longitud, donde es el número de puntos de evaluación.NNN El tiempo se mide en segundos.

Tipos de datos: double

Argumentos de salida

contraer todo

Resultados de la optimización Bayesiana, devueltos como un objeto.BayesianOptimization

Más acerca de

contraer todo

Restricciones acopladas

Las restricciones acopladas son aquellas restricciones cuyo valor proviene del cálculo de la función objetiva. Ver.Restricciones acopladas

Capacidades ampliadas

Introducido en R2016b