Байесовские результаты оптимизации
A BayesianOptimization объект содержит результаты байесовской оптимизации. Это выход bayesopt или функцию аппроксимации, которая принимает OptimizeHyperparameters Пара "имя-значение", такие как fitcdiscr. В сложение a BayesianOptimization объект содержит данные для каждой итерации bayesopt к которому можно получить доступ с помощью функции построения графика или выходной функции.
Создайте BayesianOptimization использование объекта bayesopt функция или функция аппроксимации с OptimizeHyperparameters Пара "имя-значение".
ObjectiveFcn — ObjectiveFcn аргумент, используемый bayesoptЭто свойство доступно только для чтения.
ObjectiveFcn аргумент, используемый bayesopt, возвращается как указатель на функцию.
Если вы звоните bayesopt непосредственно, ObjectiveFcn является bayesopt аргумент функции.
Если вы вызываете функцию fit, содержащую 'OptimizeHyperparameters' аргумент пары "имя-значение", ObjectiveFcn - указатель на функцию, который возвращает скорость неправильной классификации для классификации или возвращает логарифм единицы плюс потери перекрестной валидации для регрессии, измеренные пятикратной перекрестной валидацией.
Типы данных: function_handle
VariableDescriptions — VariableDescriptions аргумент, который bayesopt б/УoptimizableVariable объектыЭто свойство доступно только для чтения.
VariableDescriptions аргумент, который bayesopt используется, возвращается как вектор optimizableVariable объекты.
Если вы позвонили bayesopt непосредственно, VariableDescriptions является bayesopt аргумент описания переменной.
Если вы вызвали функцию fit с OptimizeHyperparameters Пара "имя-значение", VariableDescriptions - вектор гиперпараметров.
Options - Опции, которые bayesopt б/УЭто свойство доступно только для чтения.
Опции, которые bayesopt используется, возвращается как структура.
Если вы позвонили bayesopt непосредственно, Options - опции, используемые в bayesopt, которые являются парами "имя-значение" См. bayesopt
Входные параметры.
Если вы вызвали функцию fit с OptimizeHyperparameters Пара "имя-значение", Options являются значениями по умолчанию bayesopt опции, измененные HyperparameterOptimizationOptions Пара "имя-значение".
Options является структурой только для чтения, содержащей следующие поля.
| Имя опции | Значение |
|---|---|
AcquisitionFunctionName | Имя функции сбора. См. «Типы функций сбора». |
IsObjectiveDeterministic | true означает, что целевая функция является детерминированной, false в противном случае. |
ExplorationRatio | Используется только при AcquisitionFunctionName является 'expected-improvement-plus' или 'expected-improvement-per-second-plus'. См. Плюс. |
MaxObjectiveEvaluations | Цель вычисления функции предел. |
MaxTime | Временные пределы. |
XConstraintFcn | Детерминированные ограничения на переменные. См. «Детерминированные ограничения - XConstraintFcn». |
ConditionalVariableFcn | Условные ограничения переменной. См. Условные ограничения - ConditionalVariableFcn. |
NumCoupledConstraints | Количество связанных ограничений. См. «Сопряженные ограничения». |
CoupledConstraintTolerances | Связанные допуски ограничений. См. «Сопряженные ограничения». |
AreCoupledConstraintsDeterministic | Логический вектор, определяющий, является ли каждое связанное ограничение детерминированным. |
Verbose | Уровень отображения командной строки. |
OutputFcn | Функция вызывается после каждой итерации. См. Байесовские выходные функции оптимизации. |
SaveVariableName | Имя переменной для @assignInBase выходная функция. |
SaveFileName | Имя файла для @saveToFile выходная функция. |
PlotFcn | Функция построения графика вызывается после каждой итерации. См. «Байесовские Функции построения графика оптимизации» |
InitialX | Точки где bayesopt оценивал целевую функцию. |
InitialObjective | Значения целевой функции в InitialX. |
InitialConstraintViolations | Связанные значения ограничительных функций в InitialX. |
InitialErrorValues | Значения ошибок в InitialX. |
InitialObjectiveEvaluationTimes | Целевое вычисление функции время в InitialX. |
InitialIterationTimes | Время для каждой итерации, включая объективные вычисления функции и другие расчеты. |
Типы данных: struct
MinObjective - Минимальное наблюдаемое значение целевой функцииЭто свойство доступно только для чтения.
Минимальное наблюдаемое значение целевой функции, возвращаемое как действительный скаляр. Когда существуют связанные ограничения или ошибки оценки, это значение является минимальным по всем наблюдаемым точкам, которые допустимы в соответствии с конечными моделями ограничений и ошибок.
Типы данных: double
XAtMinObjective - Наблюдаемая точка с минимальным значением целевой функции1-by- D таблицаЭто свойство доступно только для чтения.
Наблюдаемая точка с минимальным значением целевой функции, возвращенная как 1-by- D таблица, где D - количество переменных.
Типы данных: table
MinEstimatedObjective - Минимальное расчетное значение целевой функцииЭто свойство доступно только для чтения.
Минимальное оцененное значение целевой функции, возвращаемое как действительный скаляр. MinEstimatedObjective использует конечную целевую модель.
MinEstimatedObjective является тем же самым, что и CriterionValue результат bestPoint с критерием по умолчанию.
Типы данных: double
XAtMinEstimatedObjective - Точка с минимальным предполагаемым значением целевой функции1-by- D таблицаЭто свойство доступно только для чтения.
Точка с минимальным оцененным значением целевой функции, возвращенная как 1-by- D таблица, где D - количество переменных. XAtMinEstimatedObjective использует конечную целевую модель.
Типы данных: table
NumObjectiveEvaluations - Количество оценок целевых функцийЭто свойство доступно только для чтения.
Количество вычислений целевой функции, возвращаемое как положительное целое число. Это включает начальные оценки для формирования апостериорной модели, а также оценку во время итераций оптимизации.
Типы данных: double
TotalElapsedTime - Общее время оптимизации в секундахЭто свойство доступно только для чтения.
Общее время оптимизации в секундах, возвращаемое как положительная скалярная величина.
Типы данных: double
NextPoint - Следующая точка для оценки, продолжается ли оптимизация1-by- D таблицаЭто свойство доступно только для чтения.
Следующая точка для оценки, продолжается ли оптимизация, возвращается как 1-by- D таблица, где D - количество переменных.
Типы данных: table
XTrace - Точки, в которых оценивалась целевая функцияT-by- D таблицаЭто свойство доступно только для чтения.
Точки, где была оценена целевая функция, возвращаются как T-by- D таблица, где T количество точек оценки и D - количество переменных.
Типы данных: table
ObjectiveTrace - Значения целевой функцииTЭто свойство доступно только для чтения.
Значения целевой функции, возвращенные как вектор-столбец длины T, где T количество точек оценки. ObjectiveTrace содержит историю вычислений целевой функции.
Типы данных: double
ObjectiveEvaluationTimeTrace - Время оценки целевой функцииTЭто свойство доступно только для чтения.
Целевое вычисление функции раз, возвращаемое как вектор-столбец длины T, где T количество точек оценки. ObjectiveEvaluationTimeTrace включает время оценки связанных ограничений, потому что целевая функция вычисляет эти ограничения.
Типы данных: double
IterationTimeTrace - Время итерацииTЭто свойство доступно только для чтения.
Время итерации, возвращенное как вектор-столбец длины T, где T количество точек оценки. IterationTimeTrace включает в себя как целевое вычисление функции время, так и другие накладные расходы.
Типы данных: double
ConstraintsTrace - Связанные значения ограниченийT-by- K массивЭто свойство доступно только для чтения.
Связанные значения ограничений, возвращенные как T-by- K массив, где T количество точек оценки и K - количество связанных ограничений.
Типы данных: double
ErrorTrace - Индикации ошибокT от -1 или 1 записиЭто свойство доступно только для чтения.
Индикации ошибок, возвращенные как вектор-столбец длины T от -1 или 1 записи, где T количество точек оценки. Каждый 1 запись указывает, что целевая функция была отклонена или возвращена NaN на соответствующей точке в XTrace. Каждый -1 запись указывает, что значение целевой функции было вычислено.
Типы данных: double
FeasibilityTrace - Указания на осуществимостьTЭто свойство доступно только для чтения.
Указания выполнимости, возвращенные как логический вектор-столбец длины T, где T количество точек оценки. Каждый 1 запись указывает, что конечная модель ограничений предсказывает допустимость в соответствующей точке XTrace.
Типы данных: logical
FeasibilityProbabilityTrace - Вероятность того, что точка оценки является допустимойTЭто свойство доступно только для чтения.
Вероятность того, что точка оценки допустима, возвращается как вектор-столбец длины T, где T количество точек оценки. Вероятности исходят из конечной модели ограничений, включая модель ограничения ошибок, на соответствующих точках в XTrace.
Типы данных: double
IndexOfMinimumTrace - Какая оценка дает минимально допустимую цельTЭто свойство доступно только для чтения.
Какая оценка дала минимально допустимую цель, возвращенную как вектор-столбец целочисленных индексов длины T, где T количество точек оценки. Выполнимость определяется относительно моделей ограничений, которые существовали при каждой итерации, включая модель ограничений ошибок.
Типы данных: double
ObjectiveMinimumTrace - Минимальная наблюдаемая цельTЭто свойство доступно только для чтения.
Минимальная наблюдаемая цель, возвращенная как вектор-столбец целочисленных индексов длины T, где T количество точек оценки.
Типы данных: double
EstimatedObjectiveMinimumTrace - Минимальная предполагаемая цельTЭто свойство доступно только для чтения.
Минимальная предполагаемая цель, возвращенная как вектор-столбец целочисленных индексов длины T, где T количество точек оценки. Оцененная цель в каждой итерации определяется относительно целевой модели, которая существовала при этой итерации.
Типы данных: double
UserDataTrace - Вспомогательные данные от целевой функцииTЭто свойство доступно только для чтения.
Вспомогательные данные из целевой функции, возвращенные как массив ячеек длины T, где T количество точек оценки. Каждая запись в массиве ячеек является UserData возвращается в третий выход целевой функции.
Типы данных: cell
bestPoint | Лучшая точка в байесовской оптимизации согласно критерию |
plot | Постройте график результатов байесовской оптимизации |
predictConstraints | Предсказание связанных нарушений ограничений в наборе точек |
predictError | Предсказать значение ошибки в наборе точек |
predictObjective | Спрогнозируйте целевую функцию в наборе точек |
predictObjectiveEvaluationTime | Предсказать время запуска целевой функции в наборе точек |
resume | Возобновите байесовскую оптимизацию |
BayesianOptimization Использование объекта bayesoptВ этом примере показано, как создать BayesianOptimization объект при помощи bayesopt чтобы минимизировать потери перекрестной валидации.
Оптимизируйте гиперпараметры классификатора KNN для ionosphere данные, то есть найти гиперпараметры KNN, которые минимизируют потери перекрестной валидации. Иметь bayesopt минимизировать по следующим гиперпараметрам:
Размеры по ближайшему соседству от 1 до 30
Функции расстояния 'chebychev', 'euclidean', и 'minkowski'.
Для воспроизводимости установите случайный seed, установите раздел и установите AcquisitionFunctionName опция для 'expected-improvement-plus'. Чтобы подавить итерационное отображение, задайте 'Verbose' на 0. Передайте разделы c и подбор данных X и Y к целевой функции fun путем создания fun как анонимная функция, которая включает в себя эти данные. См. Параметризация функций.
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: 85.9010
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]
BayesianOptimization Объект, использующий функцию подгонкиВ этом примере показано, как минимизировать потери перекрестной валидации в ionosphere данные с использованием байесовской оптимизации классификатора SVM.
Загрузите данные.
load ionosphereОптимизируйте классификацию с помощью 'auto' параметры.
rng default % For reproducibility Mdl = fitcsvm(X,Y,'OptimizeHyperparameters','auto')
|=====================================================================================================| | Iter | Eval | Objective | Objective | BestSoFar | BestSoFar | BoxConstraint| KernelScale | | | result | | runtime | (observed) | (estim.) | | | |=====================================================================================================| | 1 | Best | 0.20513 | 21.603 | 0.20513 | 0.20513 | 64.836 | 0.0015729 | | 2 | Accept | 0.35897 | 0.39269 | 0.20513 | 0.21471 | 0.036335 | 5.5755 | | 3 | Best | 0.13105 | 11.882 | 0.13105 | 0.14133 | 0.0022147 | 0.0023957 | | 4 | Accept | 0.35897 | 0.23727 | 0.13105 | 0.13109 | 5.1259 | 98.62 | | 5 | Best | 0.12536 | 0.85649 | 0.12536 | 0.12538 | 0.0010035 | 0.022328 | | 6 | Accept | 0.13105 | 0.5998 | 0.12536 | 0.12624 | 0.0010683 | 0.010111 | | 7 | Accept | 0.1339 | 0.74139 | 0.12536 | 0.12546 | 0.0010422 | 0.0092339 | | 8 | Accept | 0.13105 | 8.3916 | 0.12536 | 0.12545 | 0.073559 | 0.013649 | | 9 | Accept | 0.12536 | 0.36602 | 0.12536 | 0.12536 | 0.004201 | 0.036641 | | 10 | Accept | 0.12536 | 0.26415 | 0.12536 | 0.1251 | 0.0010019 | 0.048774 | | 11 | Accept | 0.12821 | 0.4705 | 0.12536 | 0.12586 | 0.0010389 | 0.032236 | | 12 | Accept | 0.12536 | 0.33724 | 0.12536 | 0.12485 | 0.0088035 | 0.050804 | | 13 | Accept | 0.13105 | 0.31094 | 0.12536 | 0.12627 | 0.010612 | 0.039027 | | 14 | Best | 0.12251 | 0.32727 | 0.12251 | 0.12434 | 0.0010188 | 0.054959 | | 15 | Accept | 0.12251 | 0.50242 | 0.12251 | 0.12341 | 0.0010193 | 0.060797 | | 16 | Accept | 0.18234 | 27.658 | 0.12251 | 0.12339 | 982.41 | 0.061539 | | 17 | Accept | 0.12536 | 0.23811 | 0.12251 | 0.12387 | 0.0011921 | 0.068996 | | 18 | Accept | 0.1339 | 0.14245 | 0.12251 | 0.1238 | 0.001054 | 0.090485 | | 19 | Accept | 0.12536 | 0.23321 | 0.12251 | 0.12369 | 0.0010318 | 0.048155 | | 20 | Accept | 0.14245 | 0.16127 | 0.12251 | 0.12351 | 0.0033218 | 0.48658 | |=====================================================================================================| | Iter | Eval | Objective | Objective | BestSoFar | BestSoFar | BoxConstraint| KernelScale | | | result | | runtime | (observed) | (estim.) | | | |=====================================================================================================| | 21 | Accept | 0.1396 | 0.1984 | 0.12251 | 0.12359 | 0.0011213 | 0.26917 | | 22 | Accept | 0.1339 | 0.19936 | 0.12251 | 0.12362 | 0.090154 | 0.31906 | | 23 | Accept | 0.35897 | 0.12703 | 0.12251 | 0.12365 | 4.7175 | 567.41 | | 24 | Accept | 0.35897 | 0.1614 | 0.12251 | 0.12374 | 4.4477 | 998.29 | | 25 | Accept | 0.13675 | 0.10585 | 0.12251 | 0.12336 | 0.026541 | 1.3348 | | 26 | Accept | 0.12251 | 0.17536 | 0.12251 | 0.12337 | 0.22207 | 0.89524 | | 27 | Accept | 0.12536 | 0.23248 | 0.12251 | 0.12338 | 3.4035 | 1.0021 | | 28 | Accept | 0.12251 | 0.38345 | 0.12251 | 0.12338 | 1.7753 | 0.75668 | | 29 | Accept | 0.12251 | 0.17042 | 0.12251 | 0.12244 | 0.40018 | 0.85004 | | 30 | Accept | 0.12536 | 0.25447 | 0.12251 | 0.12311 | 0.53182 | 0.86058 |


__________________________________________________________
Optimization completed.
MaxObjectiveEvaluations of 30 reached.
Total function evaluations: 30
Total elapsed time: 153.2006 seconds
Total objective function evaluation time: 77.7245
Best observed feasible point:
BoxConstraint KernelScale
_____________ ___________
0.0010188 0.054959
Observed objective function value = 0.12251
Estimated objective function value = 0.12338
Function evaluation time = 0.32727
Best estimated feasible point (according to models):
BoxConstraint KernelScale
_____________ ___________
0.53182 0.86058
Estimated objective function value = 0.12311
Estimated function evaluation time = 0.21175
Mdl =
ClassificationSVM
ResponseName: 'Y'
CategoricalPredictors: []
ClassNames: {'b' 'g'}
ScoreTransform: 'none'
NumObservations: 351
HyperparameterOptimizationResults: [1x1 BayesianOptimization]
Alpha: [109x1 double]
Bias: -3.5170
KernelParameters: [1x1 struct]
BoxConstraints: [351x1 double]
ConvergenceInfo: [1x1 struct]
IsSupportVector: [351x1 logical]
Solver: 'SMO'
Properties, Methods
Подгонка достигла около 12% потерь для 5-кратной перекрестной валидации по умолчанию.
Исследуйте BayesianOptimization объект, который возвращается в HyperparameterOptimizationResults свойство возвращаемой модели.
disp(Mdl.HyperparameterOptimizationResults)
BayesianOptimization with properties:
ObjectiveFcn: @createObjFcn/inMemoryObjFcn
VariableDescriptions: [5x1 optimizableVariable]
Options: [1x1 struct]
MinObjective: 0.1225
XAtMinObjective: [1x2 table]
MinEstimatedObjective: 0.1231
XAtMinEstimatedObjective: [1x2 table]
NumObjectiveEvaluations: 30
TotalElapsedTime: 153.2006
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]
bayesopt | fitcdiscr | fitcecoc | fitcensemble | fitcknn | fitclinear | fitcnb | fitcsvm | fitctree | fitrensemble | fitrgp | fitrlinear | fitrsvm | fitrtree
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.