Подбирайте Гауссову модель регрессии ядра использование случайного расширения функции
fitrkernel
обучает или перекрестный подтверждает Гауссову модель регрессии ядра для нелинейной регрессии. fitrkernel
более практично, чтобы использовать в больших применениях данных, которые имеют большие наборы обучающих данных, но могут также быть применены к меньшим наборам данных, которые умещаются в памяти.
fitrkernel
данные о картах в низком мерном пространстве в высокое мерное пространство, затем подбирает линейную модель в высоком мерном пространстве путем минимизации упорядоченной целевой функции. Получение линейной модели в высоком мерном пространстве эквивалентно применению Гауссова ядра к модели в низком мерном пространстве. Доступные модели линейной регрессии включают упорядоченную машину опорных векторов (SVM) и модели регрессии наименьших квадратов.
Чтобы обучить нелинейную модель регрессии SVM на данных в оперативной памяти, смотрите fitrsvm
.
возвращает модель регрессии ядра с дополнительными опциями, заданными одним или несколькими аргументами пары "имя-значение". Например, можно реализовать регрессию наименьших квадратов, задать количество размерности расширенного пробела или задать опции перекрестной проверки.Mdl
= fitrkernel(X
,Y
,Name,Value
)
[
также возвращает результаты гипероптимизации параметров управления, когда вы оптимизируете гиперпараметры при помощи Mdl
,FitInfo
,HyperparameterOptimizationResults
] = fitrkernel(___)'OptimizeHyperparameters'
аргумент пары "имя-значение".
Обучите модель регрессии ядра длинному массиву при помощи SVM.
Когда вы выполняете вычисления на длинных массивах, MATLAB® использует любого параллельный пул (значение по умолчанию, если у вас есть Parallel Computing Toolbox™), или локальный сеанс работы с MATLAB. Если вы хотите запустить пример с помощью локального сеанса работы с MATLAB, когда у вас есть Parallel Computing Toolbox, можно изменить глобальную среду выполнения при помощи mapreducer
функция.
Создайте datastore, который ссылается на местоположение папки с данными. Данные могут содержаться в одном файле, наборе файлов или целой папке. Обработайте 'NA'
значения как недостающие данные так, чтобы datastore
заменяет их на NaN
значения. Выберите подмножество переменных, чтобы использовать. Составьте длинную таблицу сверху datastore.
varnames = {'ArrTime','DepTime','ActualElapsedTime'}; ds = datastore('airlinesmall.csv','TreatAsMissing','NA',... 'SelectedVariableNames',varnames); t = tall(ds);
Starting parallel pool (parpool) using the 'local' profile ... Connected to the parallel pool (number of workers: 12).
Задайте DepTime
и ArrTime
как переменные предикторы (X
) и ActualElapsedTime
как переменная отклика (Y
). Выберите наблюдения для который ArrTime
позже, чем DepTime
.
daytime = t.ArrTime>t.DepTime; Y = t.ActualElapsedTime(daytime); % Response data X = t{daytime,{'DepTime' 'ArrTime'}}; % Predictor data
Стандартизируйте переменные предикторы.
Z = zscore(X); % Standardize the data
Обучите Гауссову модель регрессии ядра по умолчанию со стандартизированными предикторами. Извлеките подходящие сводные данные, чтобы определить, как хорошо алгоритм оптимизации подбирает модель к данным.
[Mdl,FitInfo] = fitrkernel(Z,Y)
Found 6 chunks. |========================================================================= | Solver | Iteration / | Objective | Gradient | Beta relative | | | Data Pass | | magnitude | change | |========================================================================= | INIT | 0 / 1 | 4.307833e+01 | 4.345788e-02 | NaN | | LBFGS | 0 / 2 | 3.705713e+01 | 1.577301e-02 | 9.988252e-01 | | LBFGS | 1 / 3 | 3.704022e+01 | 3.082836e-02 | 1.338410e-03 | | LBFGS | 2 / 4 | 3.701398e+01 | 3.006488e-02 | 1.116070e-03 | | LBFGS | 2 / 5 | 3.698797e+01 | 2.870642e-02 | 2.234599e-03 | | LBFGS | 2 / 6 | 3.693687e+01 | 2.625581e-02 | 4.479069e-03 | | LBFGS | 2 / 7 | 3.683757e+01 | 2.239620e-02 | 8.997877e-03 | | LBFGS | 2 / 8 | 3.665038e+01 | 1.782358e-02 | 1.815682e-02 | | LBFGS | 3 / 9 | 3.473411e+01 | 4.074480e-02 | 1.778166e-01 | | LBFGS | 4 / 10 | 3.684246e+01 | 1.608942e-01 | 3.294968e-01 | | LBFGS | 4 / 11 | 3.441595e+01 | 8.587703e-02 | 1.420892e-01 | | LBFGS | 5 / 12 | 3.377755e+01 | 3.760006e-02 | 4.640134e-02 | | LBFGS | 6 / 13 | 3.357732e+01 | 1.912644e-02 | 3.842057e-02 | | LBFGS | 7 / 14 | 3.334081e+01 | 3.046709e-02 | 6.211243e-02 | | LBFGS | 8 / 15 | 3.309239e+01 | 3.858085e-02 | 6.411356e-02 | | LBFGS | 9 / 16 | 3.276577e+01 | 3.612292e-02 | 6.938579e-02 | | LBFGS | 10 / 17 | 3.234029e+01 | 2.734959e-02 | 1.144307e-01 | | LBFGS | 11 / 18 | 3.205763e+01 | 2.545990e-02 | 7.323180e-02 | | LBFGS | 12 / 19 | 3.183341e+01 | 2.472411e-02 | 3.689625e-02 | | LBFGS | 13 / 20 | 3.169307e+01 | 2.064613e-02 | 2.998555e-02 | |========================================================================= | Solver | Iteration / | Objective | Gradient | Beta relative | | | Data Pass | | magnitude | change | |========================================================================= | LBFGS | 14 / 21 | 3.146896e+01 | 1.788395e-02 | 5.967293e-02 | | LBFGS | 15 / 22 | 3.118171e+01 | 1.660696e-02 | 1.124062e-01 | | LBFGS | 16 / 23 | 3.106224e+01 | 1.506147e-02 | 7.947037e-02 | | LBFGS | 17 / 24 | 3.098395e+01 | 1.564561e-02 | 2.678370e-02 | | LBFGS | 18 / 25 | 3.096029e+01 | 4.464104e-02 | 4.547148e-02 | | LBFGS | 19 / 26 | 3.085475e+01 | 1.442800e-02 | 1.677268e-02 | | LBFGS | 20 / 27 | 3.078140e+01 | 1.906548e-02 | 2.275185e-02 | |========================================================================|
Mdl = RegressionKernel PredictorNames: {'x1' 'x2'} ResponseName: 'Y' Learner: 'svm' NumExpansionDimensions: 64 KernelScale: 1 Lambda: 8.5385e-06 BoxConstraint: 1 Epsilon: 5.9303 Properties, Methods
FitInfo = struct with fields:
Solver: 'LBFGS-tall'
LossFunction: 'epsiloninsensitive'
Lambda: 8.5385e-06
BetaTolerance: 1.0000e-03
GradientTolerance: 1.0000e-05
ObjectiveValue: 30.7814
GradientMagnitude: 0.0191
RelativeChangeInBeta: 0.0228
FitTime: 102.6792
History: [1x1 struct]
Mdl
RegressionKernel
модель. Чтобы смотреть ошибку регрессии, можно передать Mdl
и обучающие данные или новые данные к loss
функция. Или, можно передать Mdl
и новые данные о предикторе к predict
функция, чтобы предсказать ответы для новых наблюдений. Можно также передать Mdl
и обучающие данные к resume
функция, чтобы продолжить обучение.
FitInfo
массив структур, содержащий информацию об оптимизации. Используйте FitInfo
определить, являются ли измерения завершения оптимизации удовлетворительными.
Для улучшенной точности можно увеличить максимальное число итераций оптимизации ('IterationLimit'
) и уменьшите значения допуска ('BetaTolerance'
и 'GradientTolerance'
) при помощи аргументов пары "имя-значение" fitrkernel
. Выполнение так может улучшить меры как ObjectiveValue
и RelativeChangeInBeta
в FitInfo
. Можно также оптимизировать параметры модели при помощи 'OptimizeHyperparameters'
аргумент пары "имя-значение".
Загрузите carbig
набор данных.
load carbig
Задайте переменные предикторы (X
) и переменная отклика (Y
).
X = [Acceleration,Cylinders,Displacement,Horsepower,Weight]; Y = MPG;
Удалите строки X
и Y
где любой массив имеет NaN
значения. Удаление строк с NaN
значения перед передающими данными к fitrkernel
может ускорить обучение и уменьшать использование памяти.
R = rmmissing([X Y]); % Data with missing entries removed
X = R(:,1:5);
Y = R(:,end);
Стандартизируйте переменные предикторы.
Z = zscore(X);
Перекрестный подтвердите модель регрессии ядра использование 5-кратной перекрестной проверки.
Mdl = fitrkernel(Z,Y,'Kfold',5)
Mdl = classreg.learning.partition.RegressionPartitionedKernel CrossValidatedModel: 'Kernel' ResponseName: 'Y' NumObservations: 392 KFold: 5 Partition: [1x1 cvpartition] ResponseTransform: 'none' Properties, Methods
numel(Mdl.Trained)
ans = 5
Mdl
RegressionPartitionedKernel
модель. Поскольку fitrkernel
реализации пятикратная перекрестная проверка, Mdl
содержит пять RegressionKernel
модели, которые программное обеспечение обучает на учебном сгибе (окутывают) наблюдения.
Исследуйте потерю перекрестной проверки (среднеквадратическая ошибка) на каждый сгиб.
kfoldLoss(Mdl,'mode','individual')
ans = 5×1
13.0610
14.0975
24.0104
21.1223
24.3979
Оптимизируйте гиперпараметры автоматически с помощью 'OptimizeHyperparameters'
аргумент пары "имя-значение".
Загрузите carbig
набор данных.
load carbig
Задайте переменные предикторы (X
) и переменная отклика (Y
).
X = [Acceleration,Cylinders,Displacement,Horsepower,Weight]; Y = MPG;
Удалите строки X
и Y
где любой массив имеет NaN
значения. Удаление строк с NaN
значения перед передающими данными к fitrkernel
может ускорить обучение и уменьшать использование памяти.
R = rmmissing([X Y]); % Data with missing entries removed
X = R(:,1:5);
Y = R(:,end);
Стандартизируйте переменные предикторы.
Z = zscore(X);
Найдите гиперпараметры, которые минимизируют пятикратную потерю перекрестной проверки при помощи автоматической гипероптимизации параметров управления. Задайте 'OptimizeHyperparameters'
как 'auto'
так, чтобы fitrkernel
находит оптимальные значения 'KernelScale'
\lambda
, и 'Epsilon'
аргументы в виде пар имя-значение. Для воспроизводимости установите случайный seed и используйте 'expected-improvement-plus'
функция приобретения.
rng('default') [Mdl,FitInfo,HyperparameterOptimizationResults] = fitrkernel(Z,Y,'OptimizeHyperparameters','auto',... 'HyperparameterOptimizationOptions',struct('AcquisitionFunctionName','expected-improvement-plus'))
|====================================================================================================================| | Iter | Eval | Objective: | Objective | BestSoFar | BestSoFar | KernelScale | Lambda | Epsilon | | | result | log(1+loss) | runtime | (observed) | (estim.) | | | | |====================================================================================================================| | 1 | Best | 4.8295 | 5.7317 | 4.8295 | 4.8295 | 0.011518 | 6.8068e-05 | 0.95918 |
| 2 | Best | 4.1488 | 0.3083 | 4.1488 | 4.1855 | 477.57 | 0.066115 | 0.091828 |
| 3 | Accept | 4.1521 | 0.19035 | 4.1488 | 4.1747 | 0.0080478 | 0.0052867 | 520.84 |
| 4 | Accept | 4.1506 | 0.189 | 4.1488 | 4.1488 | 0.10935 | 0.35931 | 0.013372 |
| 5 | Best | 4.1446 | 0.24663 | 4.1446 | 4.1446 | 326.29 | 2.5457 | 0.22475 |
| 6 | Accept | 4.1521 | 0.11924 | 4.1446 | 4.1447 | 719.11 | 0.19478 | 881.84 |
| 7 | Accept | 4.1501 | 0.12915 | 4.1446 | 4.1461 | 0.052426 | 2.5402 | 0.051319 |
| 8 | Accept | 4.1521 | 0.12022 | 4.1446 | 4.1447 | 990.71 | 0.014203 | 702.34 |
| 9 | Accept | 4.1521 | 0.11993 | 4.1446 | 4.1465 | 415.85 | 0.054602 | 81.005 |
| 10 | Accept | 4.1454 | 0.12647 | 4.1446 | 4.1455 | 972.49 | 1.1601 | 1.8715 |
| 11 | Accept | 4.1495 | 0.14511 | 4.1446 | 4.1473 | 121.79 | 1.4077 | 0.061055 |
| 12 | Accept | 4.1521 | 0.13289 | 4.1446 | 4.1474 | 985.81 | 0.83297 | 213.45 |
| 13 | Best | 4.1374 | 0.14016 | 4.1374 | 4.1441 | 167.34 | 2.5497 | 4.8997 |
| 14 | Accept | 4.1434 | 0.12979 | 4.1374 | 4.1437 | 74.527 | 2.55 | 6.1044 |
| 15 | Accept | 4.1402 | 0.1309 | 4.1374 | 4.1407 | 877.17 | 2.5391 | 2.2888 |
| 16 | Accept | 4.1436 | 0.1382 | 4.1374 | 4.1412 | 0.0010354 | 0.017613 | 0.11811 |
| 17 | Best | 4.1346 | 0.16029 | 4.1346 | 4.1375 | 0.0010362 | 0.010401 | 8.9719 |
| 18 | Accept | 4.1521 | 0.11671 | 4.1346 | 4.1422 | 0.0010467 | 0.0094817 | 563.96 |
| 19 | Accept | 4.1508 | 0.12426 | 4.1346 | 4.1367 | 760.12 | 0.0079557 | 0.009087 |
| 20 | Accept | 4.1435 | 0.17071 | 4.1346 | 4.143 | 0.020647 | 0.0089063 | 2.3699 |
|====================================================================================================================| | Iter | Eval | Objective: | Objective | BestSoFar | BestSoFar | KernelScale | Lambda | Epsilon | | | result | log(1+loss) | runtime | (observed) | (estim.) | | | | |====================================================================================================================| | 21 | Best | 3.7172 | 0.16359 | 3.7172 | 3.7174 | 818.08 | 2.5529e-06 | 2.1058 |
| 22 | Accept | 4.1521 | 0.13821 | 3.7172 | 3.7177 | 0.006272 | 2.5598e-06 | 93.063 |
| 23 | Accept | 4.0567 | 0.13225 | 3.7172 | 3.7176 | 940.43 | 2.6941e-06 | 0.12016 |
| 24 | Best | 2.8979 | 0.29659 | 2.8979 | 2.8979 | 37.141 | 2.5677e-06 | 2.71 |
| 25 | Accept | 4.1521 | 0.11604 | 2.8979 | 2.898 | 13.817 | 2.5755e-06 | 863.91 |
| 26 | Best | 2.795 | 0.33366 | 2.795 | 2.7953 | 20.022 | 2.6098e-06 | 1.6561 |
| 27 | Accept | 2.8284 | 0.3162 | 2.795 | 2.7956 | 17.252 | 2.7719e-06 | 0.82777 |
| 28 | Best | 2.7896 | 0.32609 | 2.7896 | 2.7898 | 11.432 | 7.621e-06 | 2.094 |
| 29 | Accept | 2.8194 | 0.78505 | 2.7896 | 2.7899 | 8.5133 | 2.5872e-06 | 2.0567 |
| 30 | Accept | 2.8061 | 0.36604 | 2.7896 | 2.7968 | 15.823 | 6.1956e-06 | 2.0085 |
__________________________________________________________ Optimization completed. MaxObjectiveEvaluations of 30 reached. Total function evaluations: 30 Total elapsed time: 41.1197 seconds. Total objective function evaluation time: 11.6437 Best observed feasible point: KernelScale Lambda Epsilon ___________ _________ _______ 11.432 7.621e-06 2.094 Observed objective function value = 2.7896 Estimated objective function value = 2.7984 Function evaluation time = 0.32609 Best estimated feasible point (according to models): KernelScale Lambda Epsilon ___________ __________ _______ 15.823 6.1956e-06 2.0085 Estimated objective function value = 2.7968 Estimated function evaluation time = 0.34338
Mdl = RegressionKernel ResponseName: 'Y' Learner: 'svm' NumExpansionDimensions: 256 KernelScale: 15.8229 Lambda: 6.1956e-06 BoxConstraint: 411.7488 Epsilon: 2.0085 Properties, Methods
FitInfo = struct with fields:
Solver: 'LBFGS-fast'
LossFunction: 'epsiloninsensitive'
Lambda: 6.1956e-06
BetaTolerance: 1.0000e-04
GradientTolerance: 1.0000e-06
ObjectiveValue: 1.3582
GradientMagnitude: 0.0051
RelativeChangeInBeta: 5.3944e-05
FitTime: 0.0665
History: []
HyperparameterOptimizationResults = BayesianOptimization with properties: ObjectiveFcn: @createObjFcn/inMemoryObjFcn VariableDescriptions: [5×1 optimizableVariable] Options: [1×1 struct] MinObjective: 2.7896 XAtMinObjective: [1×3 table] MinEstimatedObjective: 2.7968 XAtMinEstimatedObjective: [1×3 table] NumObjectiveEvaluations: 30 TotalElapsedTime: 41.1197 NextPoint: [1×3 table] XTrace: [30×3 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]
Для больших данных может занять много времени процедура оптимизации. Если набор данных является слишком большим, чтобы запустить процедуру оптимизации, можно попытаться оптимизировать параметры с помощью только частичные данные. Используйте datasample
функционируйте и задайте 'Replace','false'
к выборочным данным без замены.
X
— Данные о предиктореДанные о предикторе, к которым модель регрессии является подходящей в виде n-by-p числовая матрица, где n является количеством наблюдений и p, являются количеством переменных предикторов.
Длина Y
и количество наблюдений в X
должно быть равным.
Типы данных: single
| double
Y
— Данные об ответеДанные об ответе в виде n - размерный числовой вектор. Длина Y
и количество наблюдений в X
должно быть равным.
Типы данных: single
| double
fitrkernel
удаляет недостающие наблюдения, то есть, наблюдения с любой из этих характеристик:
NaN
элементы в ответе (Y
)
По крайней мере один NaN
значение в наблюдении предиктора (строка в X
)
NaN
значение или 0
вес ('Weights'
)
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
Mdl = fitrkernel(X,Y,'Learner','leastsquares','NumExpansionDimensions',2^15,'KernelScale','auto')
регрессия наименьших квадратов реализаций после отображения данных о предикторе к 2^15
мерное пространство с помощью расширения функции с масштабным коэффициентом ядра, выбранным эвристической процедурой.Вы не можете использовать аргумент пары "имя-значение" перекрестной проверки наряду с 'OptimizeHyperparameters'
аргумент пары "имя-значение". Можно изменить перекрестную проверку для 'OptimizeHyperparameters'
только при помощи 'HyperparameterOptimizationOptions'
аргумент пары "имя-значение".
'BoxConstraint'
— Ограничение поля
(значение по умолчанию) | положительная скалярная величинаОграничение поля в виде разделенной запятой пары, состоящей из 'BoxConstraint'
и положительная скалярная величина.
Этот аргумент допустим только когда 'Learner'
'svm'
(значение по умолчанию) и вы не задаете значение для силы срока регуляризации 'Lambda'
. Можно задать любой 'BoxConstraint'
или 'Lambda'
потому что ограничение поля (C) и сила срока регуляризации (λ) связано C = 1 / (λ n), где n является количеством наблюдений (строки в X
).
Пример: 'BoxConstraint',100
Типы данных: single
| double
'Epsilon'
— Полуширина нечувствительной к эпсилону полосы'auto'
(значение по умолчанию) | неотрицательное скалярное значениеПоловина ширины нечувствительной к эпсилону полосы в виде разделенной запятой пары, состоящей из 'Epsilon'
и 'auto'
или неотрицательное скалярное значение.
Для 'auto'
, fitrkernel
функция определяет значение Epsilon
как iqr(Y)/13.49
, который является оценкой одной десятой стандартного отклонения с помощью межквартильного размаха переменной отклика Y
. Если iqr(Y)
равен нулю, затем fitrkernel
устанавливает значение Epsilon
к 0,1.
'Epsilon'
допустимо только когда Learner
svm
.
Пример: 'Epsilon',0.3
Типы данных: single
| double
'NumExpansionDimensions'
— Количество размерностей расширенного пробела'auto'
(значение по умолчанию) | положительное целое числоКоличество размерностей расширенного пробела в виде разделенной запятой пары, состоящей из 'NumExpansionDimensions'
и 'auto'
или положительное целое число. Для 'auto'
, fitrkernel
функция выбирает количество размерностей с помощью 2.^ceil(min(log2(p)+5,15))
, где p
количество предикторов.
Пример: 'NumExpansionDimensions',2^15
Типы данных: char |
string
| single
| double
'KernelScale'
— Масштабный коэффициент ядра
(значение по умолчанию) | 'auto'
| положительная скалярная величинаМасштабный коэффициент ядра в виде разделенной запятой пары, состоящей из 'KernelScale'
и 'auto'
или положительная скалярная величина. MATLAB® получает случайное основание для случайного расширения функции при помощи масштабного коэффициента ядра. Для получения дополнительной информации смотрите Случайное Расширение Функции.
Если вы задаете 'auto'
, затем MATLAB выбирает соответствующий масштабный коэффициент ядра с помощью эвристической процедуры. Эта эвристическая процедура использует подвыборку, таким образом, оценки могут варьироваться от одного вызова до другого. Поэтому, чтобы воспроизвести результаты, установите seed случайных чисел при помощи rng
перед обучением.
Пример: 'KernelScale','auto'
Типы данных: char |
string
| single
| double
'Lambda'
— Сила срока регуляризации'auto'
(значение по умолчанию) | неотрицательный скалярСила срока регуляризации в виде разделенной запятой пары, состоящей из 'Lambda'
и 'auto'
или неотрицательный скаляр.
Для 'auto'
, значение 'Lambda'
1/n, где n является количеством наблюдений (строки в X
).
Можно задать любой 'BoxConstraint'
или 'Lambda'
потому что ограничение поля (C) и сила срока регуляризации (λ) связано C = 1 / (λ n).
Пример: 'Lambda',0.01
Типы данных: char |
string
| single
| double
'Learner'
— Тип модели линейной регрессии'svm'
(значение по умолчанию) | 'leastsquares'
Тип модели линейной регрессии в виде разделенной запятой пары, состоящей из 'Learner'
и 'svm'
или 'leastsquares'
.
В следующей таблице,
x является наблюдением (вектор-строка) от переменных предикторов p.
преобразование наблюдения (вектор-строка) для расширения функции. T (x) сопоставляет x в к высокому мерному пространству ().
β является вектором коэффициентов m.
b является скалярным смещением.
Значение | Алгоритм | Область значений ответа | Функция потерь |
---|---|---|---|
'leastsquares' | Линейная регрессия через обычные наименьшие квадраты | y ∊ (-∞, ∞) | Среднеквадратическая ошибка (MSE): |
'svm' | Регрессия машины опорных векторов | То же самое как 'leastsquares' | Нечувствительный к эпсилону: |
Пример: 'Learner','leastsquares'
'Verbose'
— Уровень многословия
(значение по умолчанию) | 1
Уровень многословия в виде разделенной запятой пары, состоящей из 'Verbose'
и любой 0
или 1
. Verbose
управляет суммой диагностической информации fitrkernel
отображения в командной строке.
Значение | Описание |
---|---|
0
| fitrkernel не отображает диагностическую информацию. |
1
| fitrkernel отображения и хранилища значение целевой функции, величины градиента и другой диагностической информации. FitInfo.History содержит диагностическую информацию. |
Пример: 'Verbose',1
Типы данных: single
| double
'BlockSize'
— Максимальная сумма выделенной памяти4e^3
(4 ГБ) (значение по умолчанию) | положительная скалярная величинаМаксимальная сумма выделенной памяти (в мегабайтах) в виде разделенной запятой пары, состоящей из 'BlockSize'
и положительная скалярная величина.
Если fitrkernel
требует большей памяти, чем значение BlockSize
чтобы содержать преобразованные данные о предикторе, затем MATLAB использует мудрую блоком стратегию. Для получения дополнительной информации о мудрой блоком стратегии, см. Алгоритмы.
Пример: 'BlockSize',1e4
Типы данных: single
| double
'RandomStream'
— Поток случайных чиселПоток случайных чисел для воспроизводимости преобразования данных в виде разделенной запятой пары, состоящей из 'RandomStream'
и случайный потоковый объект. Для получения дополнительной информации смотрите Случайное Расширение Функции.
Используйте 'RandomStream'
воспроизвести случайные основные функции что fitrkernel
использование, чтобы преобразовать данные в X
к высокому мерному пространству. Для получения дополнительной информации смотрите Управление Global Stream (MATLAB) и Создание и Управление Потоком Случайных чисел (MATLAB).
Пример: 'RandomStream',RandStream('mlfg6331_64')
'ResponseTransform'
— Преобразование ответа'none'
(значение по умолчанию) | указатель на функциюПреобразование ответа в виде разделенной запятой пары, состоящей из 'ResponseTransform'
и любой 'none'
или указатель на функцию. Значением по умолчанию является 'none'
, что означает @(y)y
, или никакое преобразование. Для функции MATLAB или функции вы задаете, используете ее указатель на функцию. Указатель на функцию должен принять вектор (исходные значения ответа) и возвратить вектор, одного размера (преобразованные значения ответа).
Пример: Предположим, что вы создаете указатель на функцию, который применяет экспоненциальное преобразование к входному вектору при помощи myfunction = @(y)exp(y)
. Затем можно задать преобразование ответа как 'ResponseTransform',myfunction
.
Типы данных: char |
string
| function_handle
'Weights'
— Веса наблюденияones(n,1)/n
(значение по умолчанию) | числовой вектор положительных значенийВеса наблюдения в виде разделенной запятой пары, состоящей из 'Weights'
и числовой вектор положительных значений. fitrkernel
взвешивает наблюдения в X
с соответствующими значениями в Weights
. Размер Weights
должен равняться n, количеству наблюдений (строки в X
).
fitrkernel
нормирует Weights
суммировать к 1.
Типы данных: double |
single
'CrossVal'
— Флаг перекрестной проверки'off'
(значение по умолчанию) | 'on'
Флаг перекрестной проверки в виде разделенной запятой пары, состоящей из 'Crossval'
и 'on'
или 'off'
.
Если вы задаете 'on'
, затем программное обеспечение реализует 10-кратную перекрестную проверку.
Можно заменить эту установку перекрестной проверки с помощью CVPartition
, Holdout
, KFold
, или Leaveout
аргумент пары "имя-значение". Можно использовать только один аргумент пары "имя-значение" перекрестной проверки за один раз, чтобы создать перекрестную подтвержденную модель.
Пример: 'Crossval','on'
'CVPartition'
— Раздел перекрестной проверки[]
(значение по умолчанию) | cvpartition
объект разделаРаздел перекрестной проверки в виде разделенной запятой пары, состоящей из 'CVPartition'
и cvpartition
объект раздела создается cvpartition
. Объект раздела задает тип перекрестной проверки и индексации для наборов обучения и валидации.
Чтобы создать перекрестную подтвержденную модель, можно использовать один из этих четырех аргументов пары "имя-значение" только: CVPartition
, Holdout
, KFold
, или Leaveout
.
Пример: Предположим, что вы создаете случайный раздел для 5-кратной перекрестной проверки на 500 наблюдениях при помощи cvp = cvpartition(500,'KFold',5)
. Затем можно задать перекрестную подтвержденную модель при помощи 'CVPartition',cvp
.
'Holdout'
— Часть данных для валидации затяжкиЧасть данных, используемых в валидации затяжки в виде разделенной запятой пары, состоящей из 'Holdout'
и скалярное значение в области значений (0,1). Если вы задаете 'Holdout',p
, затем программное обеспечение завершает эти шаги:
Случайным образом выберите и зарезервируйте p*100
% из данных как данные о валидации, и обучают модель с помощью остальной части данных.
Сохраните компактную, обученную модель в Trained
свойство перекрестной подтвержденной модели.
Чтобы создать перекрестную подтвержденную модель, можно использовать один из этих четырех аргументов пары "имя-значение" только: CVPartition
, Holdout
, KFold
, или Leaveout
.
Пример: 'Holdout',0.1
Типы данных: double |
single
'KFold'
— Количество сгибов
(значение по умолчанию) | положительное целочисленное значение, больше, чем 1Количество сгибов, чтобы использовать в перекрестной подтвержденной модели в виде разделенной запятой пары, состоящей из 'KFold'
и положительное целочисленное значение, больше, чем 1. Если вы задаете 'KFold',k
, затем программное обеспечение завершает эти шаги:
Случайным образом разделите данные в k
наборы.
Для каждого набора зарезервируйте набор как данные о валидации и обучите модель с помощью другого k
– 1 набор.
Сохраните k
компактные, обученные модели в ячейках k
- 1 вектор ячейки в Trained
свойство перекрестной подтвержденной модели.
Чтобы создать перекрестную подтвержденную модель, можно использовать один из этих четырех аргументов пары "имя-значение" только: CVPartition
, Holdout
, KFold
, или Leaveout
.
Пример: 'KFold',5
Типы данных: single
| double
'Leaveout'
— Флаг перекрестной проверки "Пропускает один"'off'
(значение по умолчанию) | 'on'
Флаг перекрестной проверки "Пропускает один" в виде разделенной запятой пары, состоящей из 'Leaveout'
и 'on'
или 'off'
. Если вы задаете 'Leaveout','on'
, затем, для каждого из наблюдений n (где n является количеством наблюдений, исключая недостающие наблюдения), программное обеспечение завершает эти шаги:
Зарезервируйте наблюдение как данные о валидации и обучите модель с помощью другого n – 1 наблюдение.
Сохраните n компактные, обученные модели в ячейках n-by-1 вектор ячейки в Trained
свойство перекрестной подтвержденной модели.
Чтобы создать перекрестную подтвержденную модель, можно использовать один из этих четырех аргументов пары "имя-значение" только: CVPartition
, Holdout
, KFold
, или Leaveout
.
Пример: 'Leaveout','on'
'BetaTolerance'
— Относительный допуск на линейных коэффициентах и сроке смещения1e-5
(значение по умолчанию) | неотрицательный скалярОтносительный допуск на линейных коэффициентах и сроке смещения (прерывание) в виде разделенной запятой пары, состоящей из 'BetaTolerance'
и неотрицательный скаляр.
Пусть , то есть, вектор коэффициентов и смещения называет в итерации оптимизации t. Если , затем оптимизация завершает работу.
Если вы также задаете GradientTolerance
, затем оптимизация завершает работу, когда программное обеспечение удовлетворяет любому критерию остановки.
Пример: 'BetaTolerance',1e-6
Типы данных: single
| double
'GradientTolerance'
— Абсолютный допуск градиента1e-6
(значение по умолчанию) | неотрицательный скалярАбсолютный допуск градиента в виде разделенной запятой пары, состоящей из 'GradientTolerance'
и неотрицательный скаляр.
Пусть будьте вектором градиента целевой функции относительно коэффициентов, и смещение называют в итерации оптимизации t. Если , затем оптимизация завершает работу.
Если вы также задаете BetaTolerance
, затем оптимизация завершает работу, когда программное обеспечение удовлетворяет любому критерию остановки.
Пример: 'GradientTolerance',1e-5
Типы данных: single
| double
'HessianHistorySize'
— Размер буфера истории для приближения Гессиана
(значение по умолчанию) | положительное целое числоРазмер буфера истории для приближения Гессиана в виде разделенной запятой пары, состоящей из 'HessianHistorySize'
и положительное целое число. В каждой итерации, fitrkernel
составляет Гессиан при помощи статистики от последнего HessianHistorySize
итерации.
Пример: 'HessianHistorySize',10
Типы данных: single
| double
'IterationLimit'
— Максимальное количество итераций оптимизацииМаксимальное количество итераций оптимизации в виде разделенной запятой пары, состоящей из 'IterationLimit'
и положительное целое число.
Значение по умолчанию 1000 если преобразованные совпадения данных в памяти, как задано BlockSize
. В противном случае значение по умолчанию равняется 100.
Пример: 'IterationLimit',500
Типы данных: single
| double
'OptimizeHyperparameters'
— Параметры, чтобы оптимизировать'none'
(значение по умолчанию) | 'auto'
| 'all'
| массив строк или массив ячеек имеющих право названий параметра | вектор optimizableVariable
объектыПараметры, чтобы оптимизировать в виде разделенной запятой пары, состоящей из 'OptimizeHyperparameters'
и одно из этих значений:
'none'
— Не оптимизировать.
'auto'
— Используйте {'KernelScale','Lambda','Epsilon'}
.
'all'
— Оптимизируйте все имеющие право параметры.
Массив ячеек имеющих право названий параметра.
Вектор optimizableVariable
объекты, обычно выход hyperparameters
.
Оптимизация пытается минимизировать потерю перекрестной проверки (ошибка) для fitrkernel
путем варьирования параметров. Чтобы управлять типом перекрестной проверки и другими аспектами оптимизации, используйте HyperparameterOptimizationOptions
аргумент пары "имя-значение".
'OptimizeHyperparameters'
значения заменяют любые значения, вы устанавливаете использование других аргументов пары "имя-значение". Например, установка 'OptimizeHyperparameters'
к 'auto'
вызывает 'auto'
значения, чтобы применяться.
Имеющие право параметры для fitrkernel
:
Epsilon
— fitrkernel
поисковые запросы среди положительных значений, по умолчанию масштабируемых журналом в области значений [1e-3,1e2]*iqr(Y)/1.349
.
KernelScale
— fitrkernel
поисковые запросы среди положительных значений, по умолчанию масштабируемых журналом в области значений [1e-3,1e3]
.
Lambda
— fitrkernel
поисковые запросы среди положительных значений, по умолчанию масштабируемых журналом в области значений [1e-3,1e3]/n
, где n
количество наблюдений.
Learner
— fitrkernel
поисковые запросы среди 'svm'
и 'leastsquares'
.
NumExpansionDimensions
— fitrkernel
поисковые запросы среди положительных целых чисел, по умолчанию масштабируемых журналом в области значений [100,10000]
.
Установите параметры не по умолчанию путем передачи вектора optimizableVariable
объекты, которые имеют значения не по умолчанию. Например:
load carsmall params = hyperparameters('fitrkernel',[Horsepower,Weight],MPG); params(2).Range = [1e-4,1e6];
Передайте params
как значение 'OptimizeHyperparameters'
.
По умолчанию итеративное отображение появляется в командной строке, и графики появляются согласно количеству гиперпараметров в оптимизации. Для оптимизации и графиков, целевая функция является журналом (1 + потеря перекрестной проверки) для регрессии и misclassification уровня для классификации. Чтобы управлять итеративным отображением, установите Verbose
поле 'HyperparameterOptimizationOptions'
аргумент пары "имя-значение". Чтобы управлять графиками, установите ShowPlots
поле 'HyperparameterOptimizationOptions'
аргумент пары "имя-значение".
Для примера смотрите, Оптимизируют Регрессию Ядра.
Пример: 'OptimizeHyperparameters','auto'
'HyperparameterOptimizationOptions'
— Опции для оптимизацииОпции для оптимизации в виде разделенной запятой пары, состоящей из 'HyperparameterOptimizationOptions'
и структура. Этот аргумент изменяет эффект OptimizeHyperparameters
аргумент пары "имя-значение". Все поля в структуре являются дополнительными.
Имя поля | Значения | Значение по умолчанию |
---|---|---|
Optimizer |
| 'bayesopt' |
AcquisitionFunctionName |
Приобретение функционирует, чьи имена включают | 'expected-improvement-per-second-plus' |
MaxObjectiveEvaluations | Максимальное количество оценок целевой функции. | 30 для 'bayesopt' или 'randomsearch' , и целая сетка для 'gridsearch' |
MaxTime | Ограничение по времени в виде положительного действительного. Ограничение по времени находится в секундах, как измерено | Inf |
NumGridDivisions | Для 'gridsearch' , количество значений в каждой размерности. Значение может быть вектором положительных целых чисел, дающих количество значений для каждой размерности или скаляр, который применяется ко всем размерностям. Это поле проигнорировано для категориальных переменных. | 10
|
ShowPlots | Логическое значение, указывающее, показать ли графики. Если true , это поле строит лучшее значение целевой функции против номера итерации. Если существуют один или два параметра оптимизации, и если Optimizer 'bayesopt' , затем ShowPlots также строит модель целевой функции против параметров. | true |
SaveIntermediateResults | Логическое значение, указывающее, сохранить ли результаты когда Optimizer 'bayesopt' . Если true , это поле перезаписывает переменную рабочей области под названием 'BayesoptResults' в каждой итерации. Переменной является BayesianOptimization объект. | false |
Verbose | Отобразитесь к командной строке.
Для получения дополнительной информации смотрите | 1
|
UseParallel | Логическое значение, указывающее, запустить ли Байесовую оптимизацию параллельно, которая требует Parallel Computing Toolbox™. Из-за невоспроизводимости синхронизации параллели, параллельная Байесова оптимизация не обязательно приводит к восстанавливаемым результатам. Для получения дополнительной информации смотрите Параллельную Байесовую Оптимизацию. | false |
Repartition | Логическое значение, указывающее, повторно разделить ли перекрестную проверку в каждой итерации. Если
| false |
Используйте не больше, чем одни из следующих трех имен полей. | ||
CVPartition | cvpartition объект, как создано cvpartition . | 'Kfold',5 если вы не задаете поля перекрестной проверки |
Holdout | Скаляр в области значений (0,1) представление части затяжки. | |
Kfold | Целое число, больше, чем 1. |
Пример: 'HyperparameterOptimizationOptions',struct('MaxObjectiveEvaluations',60)
Типы данных: struct
Mdl
— Обученная модель регрессии ядраRegressionKernel
объект модели | RegressionPartitionedKernel
перекрестный подтвержденный объект моделиОбученная модель регрессии ядра, возвращенная как RegressionKernel
объект модели или RegressionPartitionedKernel
перекрестный подтвержденный объект модели.
Если вы устанавливаете какой-либо из аргументов пары "имя-значение" CrossVal
, CVPartition
, Holdout
, KFold
, или Leaveout
, затем Mdl
RegressionPartitionedKernel
перекрестная подтвержденная модель. В противном случае, Mdl
RegressionKernel
модель.
К ссылочным свойствам Mdl
, используйте запись через точку. Например, введите Mdl.NumExpansionDimensions
в Командном окне, чтобы отобразить количество размерностей расширенного пробела.
В отличие от других моделей регрессии, и для экономичного использования памяти, RegressionKernel
объект модели не хранит обучающие данные или учебные детали процесса (например, история сходимости).
FitInfo
— Детали оптимизацииДетали оптимизации, возвращенные как массив структур включая поля, описаны в этой таблице. Поля содержат технические требования аргумента пары "имя-значение" или окончательные значения.
Поле | Описание |
---|---|
Solver |
Метод минимизации целевой функции: |
LossFunction | Функция потерь. Или среднеквадратическая ошибка (MSE) или нечувствительный к эпсилону, в зависимости от типа модели линейной регрессии. Смотрите Learner . |
Lambda | Сила срока регуляризации. Смотрите Lambda . |
BetaTolerance | Относительный допуск на линейных коэффициентах и сроке смещения. Смотрите BetaTolerance . |
GradientTolerance | Абсолютный допуск градиента. Смотрите GradientTolerance . |
ObjectiveValue | Значение целевой функции, когда оптимизация завершает работу. Потеря регрессии плюс срок регуляризации составляет целевую функцию. |
GradientMagnitude | Норма Бога вектора градиента целевой функции, когда оптимизация завершает работу. Смотрите GradientTolerance . |
RelativeChangeInBeta | Относительные изменения в линейных коэффициентах и смещении называют, когда оптимизация завершает работу. Смотрите BetaTolerance . |
FitTime | Прошедшее, тактовое стенкой время (в секундах) требуемый подбирать модель к данным. |
History | История информации об оптимизации. Это поле также включает информацию об оптимизации от учебного Mdl . Это поле пусто ([] ) если вы задаете 'Verbose',0 . Для получения дополнительной информации смотрите Verbose и Алгоритмы. |
К полям доступа используйте запись через точку. Например, чтобы получить доступ к вектору значений целевой функции для каждой итерации, введите FitInfo.ObjectiveValue
в Командном окне.
Исследуйте информацию, предоставленную FitInfo
оценить, является ли сходимость удовлетворительной.
HyperparameterOptimizationResults
— Оптимизация перекрестной проверки гиперпараметровBayesianOptimization
возразите | таблица гиперпараметров и присваиваемых значенийОптимизация перекрестной проверки гиперпараметров, возвращенных как BayesianOptimization
возразите или таблица гиперпараметров и присваиваемых значений. Выход непуст когда значение 'OptimizeHyperparameters'
не 'none'
. Выходное значение зависит от Optimizer
значение поля 'HyperparameterOptimizationOptions'
аргумент пары "имя-значение":
Значение Optimizer Поле | Значение HyperparameterOptimizationResults |
---|---|
'bayesopt' (значение по умолчанию) | Объект класса BayesianOptimization |
'gridsearch' или 'randomsearch' | Таблица гиперпараметров используемые, наблюдаемые значения целевой функции (потеря перекрестной проверки), и ранг наблюдений от самого низкого (лучше всего) к (худшему) самому высокому |
fitrkernel
не принимает начальные условия для линейной содействующей беты (β) и смещает термин (b), используемый, чтобы определить решающую функцию,
fitrkernel
не поддерживает опции стандартизации и перекрестной проверки.
fitrkernel
не принимает табличные входные параметры.
Случайное расширение функции, такое как Случайные Раковины [1] и Быстрое питание [2], является схемой аппроксимировать Гауссовы ядра алгоритма регрессии ядра для больших данных в вычислительном отношении эффективным способом. Случайное расширение функции более практично для больших применений данных, которые имеют большие наборы обучающих данных, но могут также быть применены к меньшим наборам данных, которые умещаются в памяти.
Алгоритм регрессии ядра ищет оптимальную функцию, которая отклоняется от каждой точки данных ответа (yi) значениями, не больше, чем поле эпсилона (ε) после отображения данных о предикторе в высокое мерное пространство.
Некоторые проблемы регрессии не могут быть описаны соответственно с помощью линейной модели. В таких случаях получите нелинейную модель регрессии, заменив скалярное произведение x 1x2 ′ с нелинейной функцией ядра , где xi является i th наблюдение (вектор-строка), и φ (xi) является преобразованием, которое сопоставляет xi с высоким мерным пространством (названный “приемом ядра”). Однако оценивая G (x 1, x 2), матрица Грамма, для каждой пары наблюдений является в вычислительном отношении дорогой для большого набора данных (большой n).
Случайная схема расширения функции находит случайное преобразование так, чтобы его скалярное произведение аппроксимировало Гауссово ядро. Таким образом,
где T (x) сопоставляет x в к высокому мерному пространству (). Схема Random Kitchen Sink [1] использует случайное преобразование
где выборка, чертившая от и σ 2 является шкалой ядра. Эта схема требует O (m p) расчет и устройство хранения данных. Схема Fastfood [2] вводит другое случайное основание V вместо Z с помощью матриц Адамара, объединенных с Гауссовыми матрицами масштабирования. Это случайное основание уменьшает стоимость расчета для O (m log
p), и уменьшает устройство хранения данных до O (m).
Можно задать значения для m и σ 2, с помощью NumExpansionDimensions
и KernelScale
аргументы пары "имя-значение" fitrkernel
, соответственно.
fitrkernel
функционируйте использует схему Fastfood случайного расширения функции и использует линейную регрессию, чтобы обучить Гауссову модель регрессии ядра. В отличие от решателей в fitrsvm
функция, которые требуют расчета n-by-n матрица Грамма, решатель в fitrkernel
только потребности сформировать матрицу размера n-by-m, с m обычно намного меньше, чем n для больших данных.
Ограничение поля является параметром, который управляет максимальным наказанием, наложенным на наблюдения, которые лежат вне поля эпсилона (ε), и помогает предотвратить сверхподходящий (регуляризация). Увеличение ограничения поля может привести к более длительным учебным временам.
Ограничение поля (C) и сила срока регуляризации (λ) связано C = 1 / (λ n), где n является количеством наблюдений.
fitrkernel
минимизирует упорядоченную целевую функцию с помощью решателя Лимитед-мемори Бройдена Флетчера Голдфарба Шэнно (LBFGS) с гребнем (L 2) регуляризация. Чтобы найти тип решателя LBFGS используемым в обучении, введите FitInfo.Solver
в Командном окне.
'LBFGS-fast'
— Решатель LBFGS.
'LBFGS-blockwise'
— Решатель LBFGS с мудрой блоком стратегией. Если fitrkernel
требует большей памяти, чем значение BlockSize
чтобы содержать преобразованные данные о предикторе, затем это использует мудрую блоком стратегию.
'LBFGS-tall'
— Решатель LBFGS с мудрой блоком стратегией длинных массивов.
Когда fitrkernel
использует мудрую блоком стратегию, fitrkernel
реализации LBFGS путем распределения вычисления потери и градиента среди различных частей данных в каждой итерации. Кроме того, fitrkernel
совершенствовал первоначальные оценки линейных коэффициентов и срока смещения, подбирая модель локально к частям данных и комбинируя коэффициенты путем усреднения. Если вы задаете 'Verbose',1
, затем fitrkernel
информация о диагностике отображений для каждых данных передает, и хранит информацию в History
поле FitInfo
.
Когда fitrkernel
не использует мудрую блоком стратегию, первоначальные оценки являются нулями. Если вы задаете 'Verbose',1
, затем fitrkernel
информация о диагностике отображений для каждой итерации и хранит информацию в History
поле FitInfo
.
[1] Rahimi, A. и Б. Речт. “Случайные Функции Крупномасштабных Машин Ядра”. Усовершенствования в Нейронных Системах обработки информации. Издание 20, 2008, стр 1177–1184.
[2] Le, Q., Т. Сарлос и А. Смола. “Быстрое питание — Аппроксимация Расширений Ядра в Логлинейное Время”. Продолжения 30-й Международной конференции по вопросам Машинного обучения. Издание 28, № 3, 2013, стр 244–252.
[3] Хуан, P. S. Х. Аврон, Т. Н. Сэйнэт, В. Синдхвани и Б. Рамабхэдрэн. “Методы ядра совпадают с Глубокими нейронными сетями на TIMIT”. 2 014 Международных конференций IEEE по вопросам Акустики, Речи и Обработки сигналов. 2014, стр 205–209.
Указания и ограничения по применению:
Некоторые аргументы пары "имя-значение" имеют различные значения по умолчанию по сравнению со значениями по умолчанию для fitrkernel
в оперативной памяти функция. Поддерживаемые аргументы пары "имя-значение" и любые различия:
'BoxConstraint'
'Epsilon'
'NumExpansionDimensions'
'KernelScale'
'Lambda'
'Learner'
'Verbose'
— Значением по умолчанию является 1
.
'BlockSize'
'RandomStream'
'ResponseTransform'
'Weights'
— Значение должно быть длинным массивом.
'BetaTolerance'
— Значение по умолчанию ослабляется к 1e–3
.
'GradientTolerance'
— Значение по умолчанию ослабляется к 1e–5
.
'HessianHistorySize'
'IterationLimit'
— Значение по умолчанию ослабляется к 20
.
'OptimizeHyperparameters'
'HyperparameterOptimizationOptions'
— Для перекрестной проверки высокая оптимизация поддерживает только 'Holdout'
валидация. Например, можно задать fitrkernel(X,Y,'OptimizeHyperparameters','auto','HyperparameterOptimizationOptions',struct('Holdout',0.2))
.
Если 'KernelScale'
'auto'
, затем fitrkernel
использует случайный поток, которым управляет tallrng
для подвыборки. Для воспроизводимости необходимо установить seed случайных чисел и для глобального потока и для случайного потока, которым управляет tallrng
.
Если 'Lambda'
'auto'
, затем fitrkernel
может взять дополнительный проход через данные, чтобы вычислить количество наблюдений в X
.
fitrkernel
использует мудрую блоком стратегию. Для получения дополнительной информации см. Алгоритмы.
Для получения дополнительной информации смотрите Длинные массивы (MATLAB).
Чтобы запуститься параллельно, установите 'UseParallel'
опция к true
.
Чтобы выполнить параллельную оптимизацию гиперпараметра, используйте 'HyperparameterOptions', struct('UseParallel',true)
аргумент пары "имя-значение" в вызове этой функции.
Для получения дополнительной информации о параллельной гипероптимизации параметров управления смотрите Параллельную Байесовую Оптимизацию.
Для более общей информации о параллельных вычислениях смотрите функции MATLAB Запуска с Автоматической Параллельной Поддержкой (Parallel Computing Toolbox).
RegressionKernel
| RegressionPartitionedKernel
| bayesopt
| bestPoint
| fitrlinear
| fitrsvm
| loss
| predict
| resume
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.