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.

Optimización Bayesiana con Tall arrays

En este ejemplo se muestra cómo usar la optimización bayesiana para seleccionar los parámetros óptimos para entrenar un clasificador de kernel mediante el argumento de par nombre-valor.'OptimizeHyperparameters' El conjunto de datos de ejemplo es un conjunto de datos de gran tamaño que contiene un archivo tabular de datos de vuelo de la aerolínea.airlinesmall.csv En este ejemplo se crea una tabla alta que contiene los datos y se utiliza la tabla alta para ejecutar el procedimiento de optimización.

Obtener datos en MATLAB®

Cree un almacén de datos que hace referencia a la ubicación de la carpeta con los datos. Los datos pueden estar contenidos en un único archivo, una colección de archivos o una carpeta completa. Para las carpetas que contienen una colección de archivos, puede especificar toda la ubicación de la carpeta, o usar el carácter comodín, para incluir varios archivos con la misma extensión de archivo en el almacén de datos.'*.csv' Seleccione un subconjunto de las variables con las que trabajar y trate los valores como datos faltantes para que los reemplace por valores.'NA'datastoreNaN Cree una tabla alta que contenga los datos en el almacén.

ds = datastore('airlinesmall.csv'); ds.SelectedVariableNames = {'Month','DayofMonth','DayOfWeek',...                             'DepTime','ArrDelay','Distance','DepDelay'}; ds.TreatAsMissing = 'NA'; tt  = tall(ds) % Tall table
Starting parallel pool (parpool) using the 'local' profile ... Connected to the parallel pool (number of workers: 6).  tt =    M×7 tall table      Month    DayofMonth    DayOfWeek    DepTime    ArrDelay    Distance    DepDelay     _____    __________    _________    _______    ________    ________    ________       10          21            3          642          8         308          12         10          26            1         1021          8         296           1         10          23            5         2055         21         480          20         10          23            5         1332         13         296          12         10          22            4          629          4         373          -1         10          28            3         1446         59         308          63         10           8            4          928          3         447          -2         10          10            6          859         11         954          -1          :          :             :           :          :           :           :       :          :             :           :          :           :           : 

Al ejecutar cálculos en matrices altas, el entorno de ejecución predeterminado utiliza la sesión de MATLAB local o un grupo paralelo local (si tiene Parallel Computing Toolbox™). Puede utilizar la función para cambiar el entorno de ejecución.mapreducer

Prepare etiquetas de clase y Datos predictores

Determine los vuelos que se retrasan 10 minutos o más definiendo una variable lógica que es verdadera para un vuelo tardío. Esta variable contiene las etiquetas de clase. Una vista previa de esta variable incluye las primeras filas.

Y = tt.DepDelay > 10 % Class labels
Y =    M×1 tall logical array     1    0    1    1    0    1    0    0    :    : 

Cree una matriz alta para los Datos predictores.

X = tt{:,1:end-1} % Predictor data
X =    M×6 tall double matrix    Columns 1 through 5            10          21           3         642           8           10          26           1        1021           8           10          23           5        2055          21           10          23           5        1332          13           10          22           4         629           4           10          28           3        1446          59           10           8           4         928           3           10          10           6         859          11           :           :            :          :           :           :           :            :          :           :    Column 6           308          296          480          296          373          308          447          954           :           : 

Eliminar filas y que contengan datos faltantes.XY

R = rmmissing([X Y]); % Data with missing entries removed X = R(:,1:end-1);  Y = R(:,end); 

Realice la optimización bayesiana utilizandoOptimizeHyperparameters

Optimice los hiperparámetros automáticamente mediante el argumento de par nombre-valor.'OptimizeHyperparameters'

Estandarizar las variables predictoras.

Z = zscore(X);

Busque los valores óptimos para los argumentos de par nombre-valor que minimizan la pérdida de validación cruzada de cinco veces.'KernelScale''Lambda' Para reproducibilidad, utilice la función de adquisición y establezca las semillas de los generadores de números aleatorios utilizando y.'expected-improvement-plus'rngtallrng Los resultados pueden variar en función del número de trabajadores y del entorno de ejecución de los arrays altos. Para obtener más información, consulte.Controle dónde se ejecuta el código (MATLAB)

rng('default')  tallrng('default') Mdl = fitckernel(Z,Y,'Verbose',0,'OptimizeHyperparameters','auto',...     'HyperparameterOptimizationOptions',struct('AcquisitionFunctionName','expected-improvement-plus'))
Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 2: Completed in 9 sec - Pass 2 of 2: Completed in 8.9 sec Evaluation completed in 18 sec 

Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2.7 sec Evaluation completed in 2.7 sec |=====================================================================================================| | Iter | Eval   | Objective   | Objective   | BestSoFar   | BestSoFar   |  KernelScale |       Lambda | |      | result |             | runtime     | (observed)  | (estim.)    |              |              | |=====================================================================================================| |    1 | Best   |     0.19672 |       153.5 |     0.19672 |     0.19672 |       1.2297 |    0.0080902 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.5 sec Evaluation completed in 1.5 sec |    2 | Accept |     0.19672 |      69.775 |     0.19672 |     0.19672 |     0.039643 |   2.5756e-05 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2.1 sec Evaluation completed in 2.1 sec |    3 | Accept |     0.19672 |      72.586 |     0.19672 |     0.19672 |      0.02562 |   1.2555e-08 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.5 sec Evaluation completed in 1.5 sec |    4 | Accept |     0.19672 |      81.345 |     0.19672 |     0.19672 |       92.644 |   1.2056e-07 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2 sec |    5 | Best   |     0.11469 |      116.54 |     0.11469 |     0.12698 |       11.173 |   0.00024836 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2 sec |    6 | Best   |     0.11365 |      108.21 |     0.11365 |     0.11373 |       10.609 |   0.00025761 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.5 sec Evaluation completed in 1.5 sec |    7 | Accept |     0.19672 |      66.926 |     0.11365 |     0.11373 |    0.0059498 |   0.00043861 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2 sec |    8 | Accept |     0.12122 |      121.38 |     0.11365 |     0.11371 |        11.44 |   0.00045722 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.5 sec Evaluation completed in 1.5 sec |    9 | Best   |     0.10417 |      55.569 |     0.10417 |     0.10417 |       8.0424 |   6.7998e-05 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 2 sec |   10 | Accept |     0.10433 |      56.204 |     0.10417 |     0.10417 |       9.6694 |   1.4948e-05 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2 sec |   11 | Best   |     0.10409 |       56.93 |     0.10409 |     0.10411 |       6.2099 |   6.1093e-06 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.4 sec Evaluation completed in 1.5 sec |   12 | Best   |     0.10383 |      61.958 |     0.10383 |     0.10404 |       5.6767 |   7.6134e-08 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.5 sec Evaluation completed in 1.5 sec |   13 | Accept |     0.10408 |      60.655 |     0.10383 |     0.10365 |       8.1769 |   8.5993e-09 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2.1 sec |   14 | Accept |     0.10404 |      57.069 |     0.10383 |     0.10361 |       7.6191 |   6.4079e-07 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 1.9 sec |   15 | Best   |     0.10351 |      56.101 |     0.10351 |     0.10362 |       4.2987 |   9.2645e-08 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2 sec |   16 | Accept |     0.10404 |      60.269 |     0.10351 |     0.10362 |       4.8747 |   1.7838e-08 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2 sec |   17 | Accept |     0.10657 |      119.73 |     0.10351 |     0.10357 |       4.8239 |   0.00016344 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.4 sec Evaluation completed in 1.5 sec |   18 | Best   |     0.10299 |      55.899 |     0.10299 |     0.10358 |       3.5555 |   2.7165e-06 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2 sec |   19 | Accept |     0.10366 |      56.413 |     0.10299 |     0.10324 |       3.8035 |   1.3542e-06 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2 sec |   20 | Accept |     0.10337 |       55.97 |     0.10299 |     0.10323 |        3.806 |   1.8101e-06 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 2 sec |=====================================================================================================| | Iter | Eval   | Objective   | Objective   | BestSoFar   | BestSoFar   |  KernelScale |       Lambda | |      | result |             | runtime     | (observed)  | (estim.)    |              |              | |=====================================================================================================| |   21 | Accept |     0.10345 |      56.155 |     0.10299 |     0.10322 |       3.3655 |    9.082e-09 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.5 sec Evaluation completed in 1.5 sec |   22 | Accept |     0.19672 |       82.67 |     0.10299 |     0.10322 |       999.62 |   1.2609e-06 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2.1 sec |   23 | Accept |     0.10315 |      56.062 |     0.10299 |     0.10306 |       3.6716 |   1.2445e-08 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2 sec |   24 | Accept |     0.19672 |      68.283 |     0.10299 |     0.10306 |    0.0010004 |   2.6214e-08 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.9 sec Evaluation completed in 2 sec |   25 | Accept |     0.19672 |      67.775 |     0.10299 |     0.10306 |      0.21865 |    0.0026529 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2.1 sec |   26 | Accept |     0.19672 |      84.329 |     0.10299 |     0.10306 |       299.92 |    0.0032109 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.4 sec Evaluation completed in 1.4 sec |   27 | Accept |     0.19672 |      67.871 |     0.10299 |     0.10306 |     0.002436 |    0.0040428 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2.4 sec Evaluation completed in 2.4 sec |   28 | Accept |     0.19672 |      75.278 |     0.10299 |     0.10305 |      0.50559 |   3.3667e-08 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2.1 sec Evaluation completed in 2.2 sec |   29 | Accept |     0.10354 |      60.527 |     0.10299 |     0.10313 |       3.7754 |   9.5626e-09 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2 sec |   30 | Accept |     0.10405 |      59.206 |     0.10299 |     0.10315 |       8.9864 |   2.3136e-07 |  __________________________________________________________ Optimization completed. MaxObjectiveEvaluations of 30 reached. Total function evaluations: 30 Total elapsed time: 2243.1781 seconds. Total objective function evaluation time: 2221.1816  Best observed feasible point:     KernelScale      Lambda       ___________    __________        3.5555       2.7165e-06  Observed objective function value = 0.10299 Estimated objective function value = 0.10315 Function evaluation time = 55.8993  Best estimated feasible point (according to models):     KernelScale      Lambda       ___________    __________        3.6716       1.2445e-08  Estimated objective function value = 0.10315 Estimated function evaluation time = 57.638 
Mdl =    ClassificationKernel             PredictorNames: {'x1'  'x2'  'x3'  'x4'  'x5'  'x6'}               ResponseName: 'Y'                 ClassNames: [0 1]                    Learner: 'svm'     NumExpansionDimensions: 256                KernelScale: 3.6716                     Lambda: 1.2445e-08              BoxConstraint: 665.9442     Properties, Methods  

Realice la optimización bayesiana mediantebayesopt

Alternativamente, puede utilizar la función para encontrar los valores óptimos de los hiperparámetros.bayesopt

Divida el conjunto de datos en conjuntos de pruebas y entrenamiento. Especifique una muestra de exclusión de 1/3 para el conjunto de pruebas.

rng('default') % For reproducibility tallrng('default') % For reproducibility Partition = cvpartition(Y,'Holdout',1/3); trainingInds = training(Partition); % Indices for the training set testInds = test(Partition);         % Indices for the test set

Extraiga los datos de entrenamiento y pruebas y estandarice los Datos predictores.

Ytrain = Y(trainingInds); % Training class labels Xtrain = X(trainingInds,:); [Ztrain,mu,stddev] = zscore(Xtrain); % Standardized training data  Ytest = Y(testInds); % Testing class labels Xtest = X(testInds,:); Ztest = (Xtest-mu)./stddev; % Standardized test data

Defina las variables y busque los valores óptimos para los argumentos de par nombre-valor.sigmalambda'KernelScale''Lambda' Utilice y especifique un rango amplio para las variables porque los valores óptimos son desconocidos.optimizableVariable Aplique la transformación logarítmica a las variables para buscar los valores óptimos en una escala de registro.

N = gather(numel(Ytrain)); % Evaluate the length of the tall training array in memory
Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.2 sec Evaluation completed in 1.2 sec 
sigma = optimizableVariable('sigma',[1e-3,1e3],'Transform','log'); lambda = optimizableVariable('lambda',[(1e-3)/N, (1e3)/N],'Transform','log');

Cree la función objetiva para la optimización bayesiana. La función objetiva toma una tabla que contiene las variables y, a continuación, calcula el valor de pérdida de clasificación para el modelo de clasificación de kernel gaussiano binario entrenado con la función.sigmalambdafitckernel Se establece en para suprimir la visualización iterativa de la información de diagnóstico.'Verbose',0fitckernel

minfn = @(z)gather(loss(fitckernel(Ztrain,Ytrain, ...     'KernelScale',z.sigma,'Lambda',z.lambda,'Verbose',0), ...     Ztest,Ytest));

Optimice los parámetros del modelo de clasificación del kernel con respecto a la pérdida de clasificación mediante el uso.[sigma,lambda]bayesopt De forma predeterminada, muestra información iterativa sobre la optimización en la línea de comandos.bayesopt Para reproducibilidad, establezca la opción en.AcquisitionFunctionName'expected-improvement-plus' La función de adquisición predeterminada depende del tiempo de ejecución y, por lo tanto, puede dar resultados variables.

results = bayesopt(minfn,[sigma,lambda],'AcquisitionFunctionName','expected-improvement-plus')

Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 2: Completed in 1 sec - Pass 2 of 2: Completed in 1.9 sec Evaluation completed in 3 sec |=====================================================================================================| | Iter | Eval   | Objective   | Objective   | BestSoFar   | BestSoFar   |        sigma |       lambda | |      | result |             | runtime     | (observed)  | (estim.)    |              |              | |=====================================================================================================| |    1 | Best   |     0.19651 |      167.42 |     0.19651 |     0.19651 |       1.2297 |     0.012135 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2.1 sec Evaluation completed in 2.2 sec |    2 | Accept |     0.19651 |      230.16 |     0.19651 |     0.19651 |     0.039643 |   3.8633e-05 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2.2 sec Evaluation completed in 2.2 sec |    3 | Accept |     0.19651 |      161.51 |     0.19651 |     0.19651 |      0.02562 |   1.8832e-08 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.7 sec Evaluation completed in 1.7 sec |    4 | Accept |     0.19651 |      106.77 |     0.19651 |     0.19651 |       92.644 |   1.8084e-07 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2.1 sec Evaluation completed in 2.1 sec |    5 | Accept |     0.19651 |       106.9 |     0.19651 |     0.19651 |       978.95 |   0.00015066 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2.1 sec Evaluation completed in 2.2 sec |    6 | Accept |     0.19651 |      185.97 |     0.19651 |     0.19651 |    0.0089609 |    0.0059189 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2.3 sec Evaluation completed in 2.3 sec |    7 | Accept |     0.19651 |      107.88 |     0.19651 |     0.19651 |       97.709 |   0.00010771 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2.1 sec Evaluation completed in 2.2 sec |    8 | Accept |     0.19651 |      97.478 |     0.19651 |     0.19651 |       422.03 |    4.841e-06 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2.2 sec Evaluation completed in 2.2 sec |    9 | Accept |     0.19651 |      167.96 |     0.19651 |     0.19651 |    0.0012826 |   5.5116e-07 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.6 sec Evaluation completed in 1.7 sec |   10 | Accept |     0.19651 |      212.44 |     0.19651 |     0.19651 |     0.031682 |   3.1742e-05 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2.1 sec Evaluation completed in 2.2 sec |   11 | Best   |     0.10029 |      65.889 |     0.10029 |      0.1003 |       3.9327 |   3.5022e-06 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.6 sec Evaluation completed in 1.6 sec |   12 | Accept |     0.10059 |      65.692 |     0.10029 |      0.1003 |       3.1844 |    7.385e-07 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2.2 sec Evaluation completed in 2.2 sec |   13 | Accept |     0.10098 |      69.683 |     0.10029 |     0.10031 |       5.2372 |   4.9773e-07 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.5 sec Evaluation completed in 1.6 sec |   14 | Accept |     0.10133 |      72.595 |     0.10029 |    0.099825 |       4.2748 |    1.262e-06 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.6 sec Evaluation completed in 1.7 sec |   15 | Accept |     0.10141 |       76.94 |     0.10029 |     0.10059 |       3.3388 |   2.1269e-08 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.6 sec Evaluation completed in 1.6 sec |   16 | Accept |     0.12235 |      143.29 |     0.10029 |     0.10058 |       9.0019 |    0.0010713 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2.2 sec Evaluation completed in 2.2 sec |   17 | Accept |     0.10668 |      141.51 |     0.10029 |     0.10042 |       3.6288 |   0.00063589 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2.1 sec Evaluation completed in 2.1 sec |   18 | Best   |     0.10016 |      70.404 |     0.10016 |     0.10058 |        4.311 |   1.2975e-08 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2.1 sec Evaluation completed in 2.1 sec |   19 | Accept |     0.10034 |      68.692 |     0.10016 |     0.10001 |       3.8228 |   8.1818e-08 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2.1 sec Evaluation completed in 2.2 sec |   20 | Accept |     0.10123 |      71.019 |     0.10016 |     0.10004 |       6.3387 |   1.2575e-08 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.6 sec Evaluation completed in 1.6 sec |=====================================================================================================| | Iter | Eval   | Objective   | Objective   | BestSoFar   | BestSoFar   |        sigma |       lambda | |      | result |             | runtime     | (observed)  | (estim.)    |              |              | |=====================================================================================================| |   21 | Accept |     0.10113 |      70.865 |     0.10016 |    0.099988 |       5.1223 |   1.2705e-08 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2.1 sec Evaluation completed in 2.2 sec |   22 | Accept |     0.10041 |      70.621 |     0.10016 |     0.10006 |       3.6363 |   4.4732e-07 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.6 sec Evaluation completed in 1.6 sec |   23 | Accept |     0.10061 |      64.482 |     0.10016 |     0.10019 |       3.7705 |   2.8022e-07 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.6 sec Evaluation completed in 1.6 sec |   24 | Accept |     0.10044 |      69.779 |     0.10016 |     0.10025 |       3.6538 |   3.4072e-07 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2 sec Evaluation completed in 2.1 sec |   25 | Accept |     0.19651 |      220.15 |     0.10016 |     0.10026 |      0.24021 |   1.3156e-08 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.6 sec Evaluation completed in 1.6 sec |   26 | Best   |     0.10016 |      69.161 |     0.10016 |     0.10024 |       3.5161 |   4.6627e-07 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.6 sec Evaluation completed in 1.7 sec |   27 | Accept |     0.16207 |      59.461 |     0.10016 |     0.10024 |       28.573 |    1.356e-08 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.5 sec Evaluation completed in 1.6 sec |   28 | Accept |     0.10036 |      70.388 |     0.10016 |     0.10025 |       3.5285 |   7.3662e-07 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 1.6 sec Evaluation completed in 1.6 sec |   29 | Accept |     0.19651 |      166.35 |     0.10016 |     0.10025 |    0.0038154 |   1.3372e-08 | Evaluating tall expression using the Parallel Pool 'local': - Pass 1 of 1: Completed in 2.2 sec Evaluation completed in 2.2 sec |   30 | Accept |     0.19651 |       180.6 |     0.10016 |     0.10024 |      0.12353 |     0.012337 |  __________________________________________________________ Optimization completed. MaxObjectiveEvaluations of 30 reached. Total function evaluations: 30 Total elapsed time: 3629.6678 seconds. Total objective function evaluation time: 3432.0825  Best observed feasible point:     sigma       lambda       ______    __________      3.5161    4.6627e-07  Observed objective function value = 0.10016 Estimated objective function value = 0.10024 Function evaluation time = 69.1611  Best estimated feasible point (according to models):     sigma       lambda       ______    __________      3.6538    3.4072e-07  Estimated objective function value = 0.10024 Estimated function evaluation time = 68.4572 
results =    BayesianOptimization with properties:                        ObjectiveFcn: @(z)gather(loss(fitckernel(Ztrain,Ytrain,'KernelScale',z.sigma,'Lambda',z.lambda,'Verbose',0),Ztest,Ytest))               VariableDescriptions: [1×2 optimizableVariable]                            Options: [1×1 struct]                       MinObjective: 0.1002                    XAtMinObjective: [1×2 table]              MinEstimatedObjective: 0.1002           XAtMinEstimatedObjective: [1×2 table]            NumObjectiveEvaluations: 30                   TotalElapsedTime: 3.6297e+03                          NextPoint: [1×2 table]                             XTrace: [30×2 table]                     ObjectiveTrace: [30×1 double]                   ConstraintsTrace: []                      UserDataTrace: {30×1 cell}       ObjectiveEvaluationTimeTrace: [30×1 double]                 IterationTimeTrace: [30×1 double]                         ErrorTrace: [30×1 double]                   FeasibilityTrace: [30×1 logical]        FeasibilityProbabilityTrace: [30×1 double]                IndexOfMinimumTrace: [30×1 double]              ObjectiveMinimumTrace: [30×1 double]     EstimatedObjectiveMinimumTrace: [30×1 double]  

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
    sigma       lambda  
    ______    __________

    3.6538    3.4072e-07

La tabla contiene los valores estimados óptimos para los argumentos de par nombre-valor.zbest'KernelScale''Lambda' Puede especificar estos valores al entrenar un nuevo clasificador de kernel optimizado mediante

Mdl = fitckernel(Ztrain,Ytrain,'KernelScale',zbest.sigma,'Lambda',zbest.lambda) 

Para matrices altas, el procedimiento de optimización puede tardar mucho tiempo. Si el conjunto de datos es demasiado grande para ejecutar el procedimiento de optimización, puede intentar optimizar los parámetros utilizando solo datos parciales. Utilice la función y especifique los datos de muestra sin reemplazo.datasample'Replace','false'

Consulte también

| | | | | | | | | |