resume

Возобновите обучение Гауссовой модели классификации ядра

Описание

пример

UpdatedMdl = resume(Mdl,X,Y) продолжает обучение с теми же опциями, что и для обучения Mdl, включая обучающие данные (данные предиктора в X и метки классов в Y) и расширение функции. Обучение начинается с текущих расчетных параметров в Mdl. Функция возвращает новую двоичную Гауссову модель классификации ядра UpdatedMdl.

UpdatedMdl = resume(Mdl,Tbl,ResponseVarName) продолжает обучение с данными предиктора в Tbl и истинные метки классов в Tbl.ResponseVarName.

UpdatedMdl = resume(Mdl,Tbl,Y) продолжает обучение с данными предиктора в таблице Tbl и истинные метки классов в Y.

пример

UpdatedMdl = resume(___,Name,Value) задает опции, использующие один или несколько аргументы пары "имя-значение" в дополнение к любой комбинации входных аргументов в предыдущих синтаксисах. Для примера можно изменить опции управления сходимостью, такие как допуски сходимости и максимальное количество дополнительных итераций оптимизации.

[UpdatedMdl,FitInfo] = resume(___) также возвращает информацию о подгонке в массиве структур FitInfo.

Примеры

свернуть все

Загрузите ionosphere набор данных. Этот набор данных имеет 34 предиктора и 351 двоичный ответ для радиолокационных возвратов, либо плохо ('b') или хорошо ('g').

load ionosphere

Разделите набор данных на наборы для обучения и тестирования. Укажите 20% -ная выборка удержания для тестового набора.

rng('default') % For reproducibility
Partition = cvpartition(Y,'Holdout',0.20);
trainingInds = training(Partition); % Indices for the training set
XTrain = X(trainingInds,:);
YTrain = Y(trainingInds);
testInds = test(Partition); % Indices for the test set
XTest = X(testInds,:);
YTest = Y(testInds);

Обучите двоичную модель классификации ядра, которая определяет, является ли радарный возврат плохим ('b') или хорошо ('g').

Mdl = fitckernel(XTrain,YTrain,'IterationLimit',5,'Verbose',1);
|=================================================================================================================|
| Solver |  Pass  |   Iteration  |   Objective   |     Step      |    Gradient   |    Relative    |  sum(beta~=0) |
|        |        |              |               |               |   magnitude   | change in Beta |               |
|=================================================================================================================|
|  LBFGS |      1 |            0 |  1.000000e+00 |  0.000000e+00 |  2.811388e-01 |                |             0 |
|  LBFGS |      1 |            1 |  7.585395e-01 |  4.000000e+00 |  3.594306e-01 |   1.000000e+00 |          2048 |
|  LBFGS |      1 |            2 |  7.160994e-01 |  1.000000e+00 |  2.028470e-01 |   6.923988e-01 |          2048 |
|  LBFGS |      1 |            3 |  6.825272e-01 |  1.000000e+00 |  2.846975e-02 |   2.388909e-01 |          2048 |
|  LBFGS |      1 |            4 |  6.699435e-01 |  1.000000e+00 |  1.779359e-02 |   1.325304e-01 |          2048 |
|  LBFGS |      1 |            5 |  6.535619e-01 |  1.000000e+00 |  2.669039e-01 |   4.112952e-01 |          2048 |
|=================================================================================================================|

Mdl является ClassificationKernel модель.

Спрогнозируйте метки набора тестов, создайте матрицу неточностей для тестового набора и оцените ошибку классификации для тестового набора.

label = predict(Mdl,XTest);
ConfusionTest = confusionchart(YTest,label);

Figure contains an object of type ConfusionMatrixChart.

L = loss(Mdl,XTest,YTest)
L = 0.3594

Mdl неправильная классификация всех плохих возвратов радара как хороших возвратов.

Продолжите обучение при помощи resume. Эта функция продолжает обучение с теми же опциями, что и для обучения Mdl.

UpdatedMdl = resume(Mdl,XTrain,YTrain);
|=================================================================================================================|
| Solver |  Pass  |   Iteration  |   Objective   |     Step      |    Gradient   |    Relative    |  sum(beta~=0) |
|        |        |              |               |               |   magnitude   | change in Beta |               |
|=================================================================================================================|
|  LBFGS |      1 |            0 |  6.535619e-01 |  0.000000e+00 |  2.669039e-01 |                |          2048 |
|  LBFGS |      1 |            1 |  6.132547e-01 |  1.000000e+00 |  6.355537e-03 |   1.522092e-01 |          2048 |
|  LBFGS |      1 |            2 |  5.938316e-01 |  4.000000e+00 |  3.202847e-02 |   1.498036e-01 |          2048 |
|  LBFGS |      1 |            3 |  4.169274e-01 |  1.000000e+00 |  1.530249e-01 |   7.234253e-01 |          2048 |
|  LBFGS |      1 |            4 |  3.679212e-01 |  5.000000e-01 |  2.740214e-01 |   2.495886e-01 |          2048 |
|  LBFGS |      1 |            5 |  3.332261e-01 |  1.000000e+00 |  1.423488e-02 |   9.558680e-02 |          2048 |
|  LBFGS |      1 |            6 |  3.235335e-01 |  1.000000e+00 |  7.117438e-03 |   7.137260e-02 |          2048 |
|  LBFGS |      1 |            7 |  3.112331e-01 |  1.000000e+00 |  6.049822e-02 |   1.252157e-01 |          2048 |
|  LBFGS |      1 |            8 |  2.972144e-01 |  1.000000e+00 |  7.117438e-03 |   5.796240e-02 |          2048 |
|  LBFGS |      1 |            9 |  2.837450e-01 |  1.000000e+00 |  8.185053e-02 |   1.484733e-01 |          2048 |
|  LBFGS |      1 |           10 |  2.797642e-01 |  1.000000e+00 |  3.558719e-02 |   5.856842e-02 |          2048 |
|  LBFGS |      1 |           11 |  2.771280e-01 |  1.000000e+00 |  2.846975e-02 |   2.349433e-02 |          2048 |
|  LBFGS |      1 |           12 |  2.741570e-01 |  1.000000e+00 |  3.914591e-02 |   3.113194e-02 |          2048 |
|  LBFGS |      1 |           13 |  2.725701e-01 |  5.000000e-01 |  1.067616e-01 |   8.729821e-02 |          2048 |
|  LBFGS |      1 |           14 |  2.667147e-01 |  1.000000e+00 |  3.914591e-02 |   3.491723e-02 |          2048 |
|  LBFGS |      1 |           15 |  2.621152e-01 |  1.000000e+00 |  7.117438e-03 |   5.104726e-02 |          2048 |
|  LBFGS |      1 |           16 |  2.601652e-01 |  1.000000e+00 |  3.558719e-02 |   3.764904e-02 |          2048 |
|  LBFGS |      1 |           17 |  2.589052e-01 |  1.000000e+00 |  3.202847e-02 |   3.655744e-02 |          2048 |
|  LBFGS |      1 |           18 |  2.583185e-01 |  1.000000e+00 |  7.117438e-03 |   6.490571e-02 |          2048 |
|  LBFGS |      1 |           19 |  2.556482e-01 |  1.000000e+00 |  9.252669e-02 |   4.601390e-02 |          2048 |
|  LBFGS |      1 |           20 |  2.542643e-01 |  1.000000e+00 |  7.117438e-02 |   4.141838e-02 |          2048 |
|=================================================================================================================|
| Solver |  Pass  |   Iteration  |   Objective   |     Step      |    Gradient   |    Relative    |  sum(beta~=0) |
|        |        |              |               |               |   magnitude   | change in Beta |               |
|=================================================================================================================|
|  LBFGS |      1 |           21 |  2.532117e-01 |  1.000000e+00 |  1.067616e-02 |   1.661720e-02 |          2048 |
|  LBFGS |      1 |           22 |  2.529890e-01 |  1.000000e+00 |  2.135231e-02 |   1.231678e-02 |          2048 |
|  LBFGS |      1 |           23 |  2.523232e-01 |  1.000000e+00 |  3.202847e-02 |   1.958586e-02 |          2048 |
|  LBFGS |      1 |           24 |  2.506736e-01 |  1.000000e+00 |  1.779359e-02 |   2.474613e-02 |          2048 |
|  LBFGS |      1 |           25 |  2.501995e-01 |  1.000000e+00 |  1.779359e-02 |   2.514352e-02 |          2048 |
|  LBFGS |      1 |           26 |  2.488242e-01 |  1.000000e+00 |  3.558719e-03 |   1.531810e-02 |          2048 |
|  LBFGS |      1 |           27 |  2.485295e-01 |  5.000000e-01 |  3.202847e-02 |   1.229760e-02 |          2048 |
|  LBFGS |      1 |           28 |  2.482244e-01 |  1.000000e+00 |  4.270463e-02 |   8.970983e-03 |          2048 |
|  LBFGS |      1 |           29 |  2.479714e-01 |  1.000000e+00 |  3.558719e-03 |   7.393900e-03 |          2048 |
|  LBFGS |      1 |           30 |  2.477316e-01 |  1.000000e+00 |  3.202847e-02 |   3.268087e-03 |          2048 |
|  LBFGS |      1 |           31 |  2.476178e-01 |  2.500000e-01 |  3.202847e-02 |   5.445890e-03 |          2048 |
|  LBFGS |      1 |           32 |  2.474874e-01 |  1.000000e+00 |  1.779359e-02 |   3.535903e-03 |          2048 |
|  LBFGS |      1 |           33 |  2.473980e-01 |  1.000000e+00 |  7.117438e-03 |   2.821725e-03 |          2048 |
|  LBFGS |      1 |           34 |  2.472935e-01 |  1.000000e+00 |  3.558719e-03 |   2.699880e-03 |          2048 |
|  LBFGS |      1 |           35 |  2.471418e-01 |  1.000000e+00 |  3.558719e-03 |   1.242523e-02 |          2048 |
|  LBFGS |      1 |           36 |  2.469862e-01 |  1.000000e+00 |  2.846975e-02 |   7.895605e-03 |          2048 |
|  LBFGS |      1 |           37 |  2.469598e-01 |  1.000000e+00 |  2.135231e-02 |   6.657676e-03 |          2048 |
|  LBFGS |      1 |           38 |  2.466941e-01 |  1.000000e+00 |  3.558719e-02 |   4.654690e-03 |          2048 |
|  LBFGS |      1 |           39 |  2.466660e-01 |  5.000000e-01 |  1.423488e-02 |   2.885769e-03 |          2048 |
|  LBFGS |      1 |           40 |  2.465605e-01 |  1.000000e+00 |  3.558719e-03 |   4.562565e-03 |          2048 |
|=================================================================================================================|
| Solver |  Pass  |   Iteration  |   Objective   |     Step      |    Gradient   |    Relative    |  sum(beta~=0) |
|        |        |              |               |               |   magnitude   | change in Beta |               |
|=================================================================================================================|
|  LBFGS |      1 |           41 |  2.465362e-01 |  1.000000e+00 |  1.423488e-02 |   5.652180e-03 |          2048 |
|  LBFGS |      1 |           42 |  2.463528e-01 |  1.000000e+00 |  3.558719e-03 |   2.389759e-03 |          2048 |
|  LBFGS |      1 |           43 |  2.463207e-01 |  1.000000e+00 |  1.511170e-03 |   3.738286e-03 |          2048 |
|  LBFGS |      1 |           44 |  2.462585e-01 |  5.000000e-01 |  7.117438e-02 |   2.321693e-03 |          2048 |
|  LBFGS |      1 |           45 |  2.461742e-01 |  1.000000e+00 |  7.117438e-03 |   2.599725e-03 |          2048 |
|  LBFGS |      1 |           46 |  2.461434e-01 |  1.000000e+00 |  3.202847e-02 |   3.186923e-03 |          2048 |
|  LBFGS |      1 |           47 |  2.461115e-01 |  1.000000e+00 |  7.117438e-03 |   1.530711e-03 |          2048 |
|  LBFGS |      1 |           48 |  2.460814e-01 |  1.000000e+00 |  1.067616e-02 |   1.811714e-03 |          2048 |
|  LBFGS |      1 |           49 |  2.460533e-01 |  5.000000e-01 |  1.423488e-02 |   1.012252e-03 |          2048 |
|  LBFGS |      1 |           50 |  2.460111e-01 |  1.000000e+00 |  1.423488e-02 |   4.166762e-03 |          2048 |
|  LBFGS |      1 |           51 |  2.459414e-01 |  1.000000e+00 |  1.067616e-02 |   3.271946e-03 |          2048 |
|  LBFGS |      1 |           52 |  2.458809e-01 |  1.000000e+00 |  1.423488e-02 |   1.846440e-03 |          2048 |
|  LBFGS |      1 |           53 |  2.458479e-01 |  1.000000e+00 |  1.067616e-02 |   1.180871e-03 |          2048 |
|  LBFGS |      1 |           54 |  2.458146e-01 |  1.000000e+00 |  1.455008e-03 |   1.422954e-03 |          2048 |
|  LBFGS |      1 |           55 |  2.457878e-01 |  1.000000e+00 |  7.117438e-03 |   1.880892e-03 |          2048 |
|  LBFGS |      1 |           56 |  2.457519e-01 |  1.000000e+00 |  2.491103e-02 |   1.074764e-03 |          2048 |
|  LBFGS |      1 |           57 |  2.457420e-01 |  1.000000e+00 |  7.473310e-02 |   9.511878e-04 |          2048 |
|  LBFGS |      1 |           58 |  2.457212e-01 |  1.000000e+00 |  3.558719e-03 |   3.718564e-04 |          2048 |
|  LBFGS |      1 |           59 |  2.457089e-01 |  1.000000e+00 |  4.270463e-02 |   6.237270e-04 |          2048 |
|  LBFGS |      1 |           60 |  2.457047e-01 |  5.000000e-01 |  1.423488e-02 |   3.647573e-04 |          2048 |
|=================================================================================================================|
| Solver |  Pass  |   Iteration  |   Objective   |     Step      |    Gradient   |    Relative    |  sum(beta~=0) |
|        |        |              |               |               |   magnitude   | change in Beta |               |
|=================================================================================================================|
|  LBFGS |      1 |           61 |  2.456991e-01 |  1.000000e+00 |  1.423488e-02 |   5.666884e-04 |          2048 |
|  LBFGS |      1 |           62 |  2.456898e-01 |  1.000000e+00 |  1.779359e-02 |   4.697056e-04 |          2048 |
|  LBFGS |      1 |           63 |  2.456792e-01 |  1.000000e+00 |  1.779359e-02 |   5.984927e-04 |          2048 |
|  LBFGS |      1 |           64 |  2.456603e-01 |  1.000000e+00 |  1.403782e-03 |   5.414985e-04 |          2048 |
|  LBFGS |      1 |           65 |  2.456482e-01 |  1.000000e+00 |  3.558719e-03 |   6.506293e-04 |          2048 |
|  LBFGS |      1 |           66 |  2.456358e-01 |  1.000000e+00 |  1.476262e-03 |   1.284139e-03 |          2048 |
|  LBFGS |      1 |           67 |  2.456124e-01 |  1.000000e+00 |  3.558719e-03 |   8.636596e-04 |          2048 |
|  LBFGS |      1 |           68 |  2.455980e-01 |  1.000000e+00 |  1.067616e-02 |   9.861527e-04 |          2048 |
|  LBFGS |      1 |           69 |  2.455780e-01 |  1.000000e+00 |  1.067616e-02 |   5.102487e-04 |          2048 |
|  LBFGS |      1 |           70 |  2.455633e-01 |  1.000000e+00 |  3.558719e-03 |   1.228077e-03 |          2048 |
|  LBFGS |      1 |           71 |  2.455449e-01 |  1.000000e+00 |  1.423488e-02 |   7.864590e-04 |          2048 |
|  LBFGS |      1 |           72 |  2.455261e-01 |  1.000000e+00 |  3.558719e-02 |   1.090815e-03 |          2048 |
|  LBFGS |      1 |           73 |  2.455142e-01 |  1.000000e+00 |  1.067616e-02 |   1.701506e-03 |          2048 |
|  LBFGS |      1 |           74 |  2.455075e-01 |  1.000000e+00 |  1.779359e-02 |   1.504577e-03 |          2048 |
|  LBFGS |      1 |           75 |  2.455008e-01 |  1.000000e+00 |  3.914591e-02 |   1.144021e-03 |          2048 |
|  LBFGS |      1 |           76 |  2.454943e-01 |  1.000000e+00 |  2.491103e-02 |   3.015254e-04 |          2048 |
|  LBFGS |      1 |           77 |  2.454918e-01 |  5.000000e-01 |  3.202847e-02 |   9.837523e-04 |          2048 |
|  LBFGS |      1 |           78 |  2.454870e-01 |  1.000000e+00 |  1.779359e-02 |   4.328953e-04 |          2048 |
|  LBFGS |      1 |           79 |  2.454865e-01 |  5.000000e-01 |  3.558719e-03 |   7.126815e-04 |          2048 |
|  LBFGS |      1 |           80 |  2.454775e-01 |  1.000000e+00 |  5.693950e-02 |   8.992562e-04 |          2048 |
|=================================================================================================================|
| Solver |  Pass  |   Iteration  |   Objective   |     Step      |    Gradient   |    Relative    |  sum(beta~=0) |
|        |        |              |               |               |   magnitude   | change in Beta |               |
|=================================================================================================================|
|  LBFGS |      1 |           81 |  2.454686e-01 |  1.000000e+00 |  1.183730e-03 |   1.590246e-04 |          2048 |
|  LBFGS |      1 |           82 |  2.454612e-01 |  1.000000e+00 |  2.135231e-02 |   1.389570e-04 |          2048 |
|  LBFGS |      1 |           83 |  2.454506e-01 |  1.000000e+00 |  3.558719e-03 |   6.162089e-04 |          2048 |
|  LBFGS |      1 |           84 |  2.454436e-01 |  1.000000e+00 |  1.423488e-02 |   1.877414e-03 |          2048 |
|  LBFGS |      1 |           85 |  2.454378e-01 |  1.000000e+00 |  1.423488e-02 |   3.370852e-04 |          2048 |
|  LBFGS |      1 |           86 |  2.454249e-01 |  1.000000e+00 |  1.423488e-02 |   8.133615e-04 |          2048 |
|  LBFGS |      1 |           87 |  2.454101e-01 |  1.000000e+00 |  1.067616e-02 |   3.872088e-04 |          2048 |
|  LBFGS |      1 |           88 |  2.453963e-01 |  1.000000e+00 |  1.779359e-02 |   5.670260e-04 |          2048 |
|  LBFGS |      1 |           89 |  2.453866e-01 |  1.000000e+00 |  1.067616e-02 |   1.444984e-03 |          2048 |
|  LBFGS |      1 |           90 |  2.453821e-01 |  1.000000e+00 |  7.117438e-03 |   2.457270e-03 |          2048 |
|  LBFGS |      1 |           91 |  2.453790e-01 |  5.000000e-01 |  6.761566e-02 |   8.228766e-04 |          2048 |
|  LBFGS |      1 |           92 |  2.453603e-01 |  1.000000e+00 |  2.135231e-02 |   1.084233e-03 |          2048 |
|  LBFGS |      1 |           93 |  2.453540e-01 |  1.000000e+00 |  2.135231e-02 |   2.060005e-04 |          2048 |
|  LBFGS |      1 |           94 |  2.453482e-01 |  1.000000e+00 |  1.779359e-02 |   1.560883e-04 |          2048 |
|  LBFGS |      1 |           95 |  2.453461e-01 |  1.000000e+00 |  1.779359e-02 |   1.614693e-03 |          2048 |
|  LBFGS |      1 |           96 |  2.453371e-01 |  1.000000e+00 |  3.558719e-02 |   2.145835e-04 |          2048 |
|  LBFGS |      1 |           97 |  2.453305e-01 |  1.000000e+00 |  4.270463e-02 |   7.602088e-04 |          2048 |
|  LBFGS |      1 |           98 |  2.453283e-01 |  2.500000e-01 |  2.135231e-02 |   3.422253e-04 |          2048 |
|  LBFGS |      1 |           99 |  2.453246e-01 |  1.000000e+00 |  3.558719e-03 |   3.872561e-04 |          2048 |
|  LBFGS |      1 |          100 |  2.453214e-01 |  1.000000e+00 |  3.202847e-02 |   1.732237e-04 |          2048 |
|=================================================================================================================|
| Solver |  Pass  |   Iteration  |   Objective   |     Step      |    Gradient   |    Relative    |  sum(beta~=0) |
|        |        |              |               |               |   magnitude   | change in Beta |               |
|=================================================================================================================|
|  LBFGS |      1 |          101 |  2.453168e-01 |  1.000000e+00 |  1.067616e-02 |   3.065286e-04 |          2048 |
|  LBFGS |      1 |          102 |  2.453155e-01 |  5.000000e-01 |  4.626335e-02 |   3.402368e-04 |          2048 |
|  LBFGS |      1 |          103 |  2.453136e-01 |  1.000000e+00 |  1.779359e-02 |   2.215029e-04 |          2048 |
|  LBFGS |      1 |          104 |  2.453119e-01 |  1.000000e+00 |  3.202847e-02 |   4.142355e-04 |          2048 |
|  LBFGS |      1 |          105 |  2.453093e-01 |  1.000000e+00 |  1.423488e-02 |   2.186007e-04 |          2048 |
|  LBFGS |      1 |          106 |  2.453090e-01 |  1.000000e+00 |  2.846975e-02 |   1.338602e-03 |          2048 |
|  LBFGS |      1 |          107 |  2.453048e-01 |  1.000000e+00 |  1.423488e-02 |   3.208296e-04 |          2048 |
|  LBFGS |      1 |          108 |  2.453040e-01 |  1.000000e+00 |  3.558719e-02 |   1.294488e-03 |          2048 |
|  LBFGS |      1 |          109 |  2.452977e-01 |  1.000000e+00 |  1.423488e-02 |   8.328380e-04 |          2048 |
|  LBFGS |      1 |          110 |  2.452934e-01 |  1.000000e+00 |  2.135231e-02 |   5.149259e-04 |          2048 |
|  LBFGS |      1 |          111 |  2.452886e-01 |  1.000000e+00 |  1.779359e-02 |   3.650664e-04 |          2048 |
|  LBFGS |      1 |          112 |  2.452854e-01 |  1.000000e+00 |  1.067616e-02 |   2.633981e-04 |          2048 |
|  LBFGS |      1 |          113 |  2.452836e-01 |  1.000000e+00 |  1.067616e-02 |   1.804300e-04 |          2048 |
|  LBFGS |      1 |          114 |  2.452817e-01 |  1.000000e+00 |  7.117438e-03 |   4.251642e-04 |          2048 |
|  LBFGS |      1 |          115 |  2.452741e-01 |  1.000000e+00 |  1.779359e-02 |   9.018440e-04 |          2048 |
|  LBFGS |      1 |          116 |  2.452691e-01 |  1.000000e+00 |  2.135231e-02 |   9.941716e-05 |          2048 |
|=================================================================================================================|

Спрогнозируйте метки набора тестов, создайте матрицу неточностей для тестового набора и оцените ошибку классификации для тестового набора.

UpdatedLabel = predict(UpdatedMdl,XTest);
UpdatedConfusionTest = confusionchart(YTest,UpdatedLabel);

Figure contains an object of type ConfusionMatrixChart.

UpdatedL = loss(UpdatedMdl,XTest,YTest)
UpdatedL = 0.1284

Ошибка классификации уменьшается после resume обновляет классификационную модель с помощью дополнительных итераций.

Загрузите ionosphere набор данных. Этот набор данных имеет 34 предиктора и 351 двоичный ответ для радиолокационных возвратов, либо плохо ('b') или хорошо ('g').

load ionosphere

Разделите набор данных на наборы для обучения и тестирования. Укажите 20% -ная выборка удержания для тестового набора.

rng('default') % For reproducibility
Partition = cvpartition(Y,'Holdout',0.20);
trainingInds = training(Partition); % Indices for the training set
XTrain = X(trainingInds,:);
YTrain = Y(trainingInds);
testInds = test(Partition); % Indices for the test set
XTest = X(testInds,:);
YTest = Y(testInds);

Обучите модель классификации двоичных ядер с расслабленными опциями обучения по управлению сходимостью с помощью аргументов пары "имя-значение" 'BetaTolerance' и 'GradientTolerance'.

[Mdl,FitInfo] = fitckernel(XTrain,YTrain,'Verbose',1, ...
    'BetaTolerance',1e-1,'GradientTolerance',1e-1);
|=================================================================================================================|
| Solver |  Pass  |   Iteration  |   Objective   |     Step      |    Gradient   |    Relative    |  sum(beta~=0) |
|        |        |              |               |               |   magnitude   | change in Beta |               |
|=================================================================================================================|
|  LBFGS |      1 |            0 |  1.000000e+00 |  0.000000e+00 |  2.811388e-01 |                |             0 |
|  LBFGS |      1 |            1 |  7.585395e-01 |  4.000000e+00 |  3.594306e-01 |   1.000000e+00 |          2048 |
|  LBFGS |      1 |            2 |  7.160994e-01 |  1.000000e+00 |  2.028470e-01 |   6.923988e-01 |          2048 |
|  LBFGS |      1 |            3 |  6.825272e-01 |  1.000000e+00 |  2.846975e-02 |   2.388909e-01 |          2048 |
|=================================================================================================================|

Mdl является ClassificationKernel модель.

Спрогнозируйте метки набора тестов, создайте матрицу неточностей для набора тестов и оцените ошибку классификации для набора тестов

label = predict(Mdl,XTest);
ConfusionTest = confusionchart(YTest,label);

Figure contains an object of type ConfusionMatrixChart.

L = loss(Mdl,XTest,YTest)
L = 0.3594

Mdl неправильная классификация всех плохих возвратов радара как хороших возвратов.

Продолжите обучение при помощи resume с измененными опциями обучения по управлению сходимостью.

[UpdatedMdl,UpdatedFitInfo] = resume(Mdl,XTrain,YTrain, ...
    'BetaTolerance',1e-2,'GradientTolerance',1e-2);
|=================================================================================================================|
| Solver |  Pass  |   Iteration  |   Objective   |     Step      |    Gradient   |    Relative    |  sum(beta~=0) |
|        |        |              |               |               |   magnitude   | change in Beta |               |
|=================================================================================================================|
|  LBFGS |      1 |            0 |  6.825272e-01 |  0.000000e+00 |  2.846975e-02 |                |          2048 |
|  LBFGS |      1 |            1 |  6.692805e-01 |  2.000000e+00 |  2.846975e-02 |   1.389258e-01 |          2048 |
|  LBFGS |      1 |            2 |  6.466824e-01 |  1.000000e+00 |  2.348754e-01 |   4.149425e-01 |          2048 |
|  LBFGS |      1 |            3 |  5.441382e-01 |  2.000000e+00 |  1.743772e-01 |   5.344538e-01 |          2048 |
|  LBFGS |      1 |            4 |  5.222333e-01 |  1.000000e+00 |  3.309609e-01 |   7.530878e-01 |          2048 |
|  LBFGS |      1 |            5 |  3.776579e-01 |  1.000000e+00 |  1.103203e-01 |   6.532621e-01 |          2048 |
|  LBFGS |      1 |            6 |  3.523520e-01 |  1.000000e+00 |  5.338078e-02 |   1.384232e-01 |          2048 |
|  LBFGS |      1 |            7 |  3.422319e-01 |  5.000000e-01 |  3.202847e-02 |   9.703897e-02 |          2048 |
|  LBFGS |      1 |            8 |  3.341895e-01 |  1.000000e+00 |  3.202847e-02 |   5.009485e-02 |          2048 |
|  LBFGS |      1 |            9 |  3.199302e-01 |  1.000000e+00 |  4.982206e-02 |   8.038014e-02 |          2048 |
|  LBFGS |      1 |           10 |  3.017904e-01 |  1.000000e+00 |  1.423488e-02 |   2.845012e-01 |          2048 |
|  LBFGS |      1 |           11 |  2.853480e-01 |  1.000000e+00 |  3.558719e-02 |   9.799137e-02 |          2048 |
|  LBFGS |      1 |           12 |  2.753979e-01 |  1.000000e+00 |  3.914591e-02 |   9.975305e-02 |          2048 |
|  LBFGS |      1 |           13 |  2.647492e-01 |  1.000000e+00 |  3.914591e-02 |   9.713710e-02 |          2048 |
|  LBFGS |      1 |           14 |  2.639242e-01 |  1.000000e+00 |  1.423488e-02 |   6.721803e-02 |          2048 |
|  LBFGS |      1 |           15 |  2.617385e-01 |  1.000000e+00 |  1.779359e-02 |   2.625089e-02 |          2048 |
|  LBFGS |      1 |           16 |  2.598600e-01 |  1.000000e+00 |  7.117438e-02 |   3.338724e-02 |          2048 |
|  LBFGS |      1 |           17 |  2.594176e-01 |  1.000000e+00 |  1.067616e-02 |   2.441171e-02 |          2048 |
|  LBFGS |      1 |           18 |  2.579350e-01 |  1.000000e+00 |  3.202847e-02 |   2.979246e-02 |          2048 |
|  LBFGS |      1 |           19 |  2.570669e-01 |  1.000000e+00 |  1.779359e-02 |   4.432998e-02 |          2048 |
|  LBFGS |      1 |           20 |  2.552954e-01 |  1.000000e+00 |  1.769940e-03 |   1.899895e-02 |          2048 |
|=================================================================================================================|

Спрогнозируйте метки набора тестов, создайте матрицу неточностей для тестового набора и оцените ошибку классификации для тестового набора.

UpdatedLabel = predict(UpdatedMdl,XTest);
UpdatedConfusionTest = confusionchart(YTest,UpdatedLabel);

Figure contains an object of type ConfusionMatrixChart.

UpdatedL = loss(UpdatedMdl,XTest,YTest)
UpdatedL = 0.1140

Ошибка классификации уменьшается после resume обновляет классификационную модель с меньшими допусками сходимости.

Отобразите выходы FitInfo и UpdatedFitInfo.

FitInfo
FitInfo = struct with fields:
                  Solver: 'LBFGS-fast'
            LossFunction: 'hinge'
                  Lambda: 0.0036
           BetaTolerance: 0.1000
       GradientTolerance: 0.1000
          ObjectiveValue: 0.6825
       GradientMagnitude: 0.0285
    RelativeChangeInBeta: 0.2389
                 FitTime: 0.0512
                 History: [1x1 struct]

UpdatedFitInfo
UpdatedFitInfo = struct with fields:
                  Solver: 'LBFGS-fast'
            LossFunction: 'hinge'
                  Lambda: 0.0036
           BetaTolerance: 0.0100
       GradientTolerance: 0.0100
          ObjectiveValue: 0.2553
       GradientMagnitude: 0.0018
    RelativeChangeInBeta: 0.0190
                 FitTime: 0.1728
                 History: [1x1 struct]

Оба обучения завершаются, потому что программное обеспечение удовлетворяет абсолютному допуску градиента.

Постройте график величины градиента от количества итераций при помощи UpdatedFitInfo.History.GradientMagnitude. Обратите внимание, что History область UpdatedFitInfo включает информацию в History область FitInfo.

semilogy(UpdatedFitInfo.History.GradientMagnitude,'o-')
ax = gca;
ax.XTick = 1:25;
ax.XTickLabel = UpdatedFitInfo.History.IterationNumber;
grid on
xlabel('Number of Iterations')
ylabel('Gradient Magnitude')

Figure contains an axes. The axes contains an object of type line.

Первое обучение заканчивается после трех итераций, потому что величина градиента становится меньше 1e-1. Второе обучение заканчивается после 20 итераций, потому что величина градиента становится меньше 1e-2.

Входные параметры

свернуть все

Модель классификации двоичных ядер, заданная как ClassificationKernel объект модели. Можно создать ClassificationKernel моделировать объект используя fitckernel.

Данные предиктора, используемые для обучения Mdl, заданный как n -by p числовая матрица, где n - количество наблюдений, а p - количество предикторов.

Типы данных: single | double

Метки классов, используемые для обучения Mdl, заданный как категориальные символьные или строковые массивы, логический или числовой вектор или массив ячеек из векторов символов.

Типы данных: categorical | char | string | logical | single | double | cell

Выборочные данные, используемых для обучения Mdl, заданный как таблица. Каждая строка Tbl соответствует одному наблюдению, и каждый столбец соответствует одной переменной предиктора. Опционально Tbl может содержать дополнительные столбцы для переменной отклика и весов наблюдений. Tbl должны содержать все предикторы, используемые для обучения Mdl. Многополюсные переменные и массивы ячеек, отличные от массивов ячеек векторов символов, не разрешены.

Если вы тренировались Mdl используя выборочные данные, содержащуюся в таблице, затем входные данные для resume также должно быть в таблице.

Имя переменной отклика, используемой для обучения Mdl, заданный как имя переменной в Tbl. The ResponseVarName значение должно совпадать с именем Mdl.ResponseName.

Типы данных: char | string

Примечание

resume должна выполняться только на тех же обучающих данных и весах наблюдений, используемых для обучения Mdl. resume функция использует те же опции обучения, что и для обучения Mdl, включая расширение функции.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: UpdatedMdl = resume(Mdl,X,Y,'GradientTolerance',1e-5) возобновляет обучение с теми же опциями, что и для обучения Mdl, кроме абсолютного допуска градиента.

Веса наблюдений, используемые для обучения Mdl, заданная как разделенная разделенными запятой парами, состоящая из 'Weights' и числовой вектор или имя переменной в Tbl.

  • Если Weights является числовым вектором, затем размером Weights должно быть равно количеству строк в X или Tbl.

  • Если Weights - имя переменной в Tbl, необходимо указать Weights как вектор символов или строковый скаляр. Для примера, если веса сохранены как Tbl.W, затем задайте Weights как 'W'. В противном случае программное обеспечение обрабатывает все столбцы Tbl, включая Tbl.W, как предикторы.

Если вы поставляете веса, resume нормализует веса, чтобы суммировать до значения предшествующей вероятности в соответствующем классе.

Типы данных: double | single | char | string

Относительная погрешность на линейные коэффициенты и термин смещения ( точка пересечения), заданный как разделенная разделенными запятой парами, состоящая из 'BetaTolerance' и неотрицательный скаляр.

Давайте Bt=[βtbt], то есть вектор коэффициентов и член смещения при t итерации оптимизации. Если BtBt1Bt2<BetaTolerance, затем оптимизация прекращается.

Если вы также задаете GradientToleranceзатем оптимизация прекращается, когда программное обеспечение удовлетворяет любому критерию остановки.

По умолчанию значение совпадает BetaTolerance значение, используемое для обучения Mdl.

Пример: 'BetaTolerance',1e-6

Типы данных: single | double

Абсолютный допуск градиента, заданный как разделенная разделенными запятой парами, состоящая из 'GradientTolerance' и неотрицательный скаляр.

Давайте t быть вектором градиента целевой функции относительно коэффициентов и члена смещения при t итерации оптимизации. Если t=max|t|<GradientTolerance, затем оптимизация прекращается.

Если вы также задаете BetaToleranceзатем оптимизация прекращается, когда программное обеспечение удовлетворяет любому критерию остановки.

По умолчанию значение совпадает GradientTolerance значение, используемое для обучения Mdl.

Пример: 'GradientTolerance',1e-5

Типы данных: single | double

Максимальное количество дополнительных итераций оптимизации, заданное как разделенная разделенными запятой парами, состоящая из 'IterationLimit' и положительное целое число.

Значение по умолчанию является 1000, если преобразованные данные помещаются в памяти (Mdl.ModelParameters.BlockSize), который вы задаете, используя аргумент пары "имя-значение" при обучении Mdl. В противном случае значение по умолчанию является 100.

Обратите внимание, что значение по умолчанию не является значением, используемым для обучения Mdl.

Пример: 'IterationLimit',500

Типы данных: single | double

Выходные аргументы

свернуть все

Обновленная модель классификации ядра, возвращенная как ClassificationKernel объект модели.

Детали оптимизации, возвращенные как массив структур, включая поля, описанные в этой таблице. Поля содержат окончательные значения или спецификации аргументов пары "имя-значение".

ОбластьОписание
Solver

Метод минимизации целевой функции: 'LBFGS-fast', 'LBFGS-blockwise', или 'LBFGS-tall'. Для получения дополнительной информации смотрите Алгоритмы fitckernel.

LossFunctionФункция потерь. Либо 'hinge' или 'logit' в зависимости от типа линейной классификационной модели. См. Learner из fitckernel.
LambdaСила термина регуляризации. См. Lambda из fitckernel.
BetaToleranceОтносительная погрешность на линейные коэффициенты и термин смещения. См. BetaTolerance.
GradientToleranceАбсолютный допуск градиента. См. GradientTolerance.
ObjectiveValueЗначение целевой функции, когда оптимизация прекращается. Классификационные потери плюс термин регуляризации составляют целевую функцию.
GradientMagnitudeБесконечная норма вектора градиента целевой функции, когда оптимизация заканчивается. См. GradientTolerance.
RelativeChangeInBetaОтносительные изменения линейных коэффициентов и члена смещения, когда оптимизация заканчивается. См. BetaTolerance.
FitTimeПрошло время настенного времени (в секундах), необходимое для соответствия модели данным.
HistoryИстория информации об оптимизации. Это поле также включает информацию оптимизации от обучения Mdl. Это поле пустое ([]), если вы задаете 'Verbose',0 при обучении Mdl. Для получения дополнительной информации смотрите Verbose и алгоритмы fitckernel.

Для доступа к полям используйте запись через точку. Для примера, чтобы получить доступ к вектору значений целевой функции для каждой итерации, введите FitInfo.ObjectiveValue в Командном окне.

Хорошей практикой является изучение FitInfo оценить, является ли сходимость удовлетворительной.

Подробнее о

свернуть все

Расширение случайных функций

Расширение случайных функций, такое как Random Kitchen Sinks [1] и Fastfood [2], является схемой для аппроксимации Гауссовых ядер алгоритма классификации ядра, используемой для больших данных вычислительно эффективным способом. Расширение случайных функций более практично для приложений с большими наборами обучающих данных, но может также применяться к меньшим наборам данных, которые подгонка в памяти.

Алгоритм классификации ядра ищет оптимальную гиперплоскость, которая разделяет данные на два класса после отображения функций в высоко-размерное пространство. Нелинейные функции, которые не являются линейно разделяемыми в низкомерном пространстве, могут быть разделяемыми в расширенном высокомерном пространстве. Во всех вычислениях для классификации гиперплоскостей используются только точечные продукты. Можно получить нелинейную модель классификации путем замены точечного произведения x 1 x 2 'на нелинейную функцию ядраG(x1,x2)=φ(x1),φ(x2), где xi - i-е наблюдение (вектор-строка) и φ (xi) - преобразование, которое преобразует xi в высокомерное пространство (называемое «трюком ядра»). Однако оценка G (x 1, x 2) (матрица Грамма) для каждой пары наблюдений является вычислительно дорогой для большого набора данных (большого n).

Схема расширения случайных функций находит случайное преобразование, так что ее точечный продукт аппроксимирует Гауссово ядро. То есть,

G(x1,x2)=φ(x1),φ(x2)T(x1)T(x2)',

где T (x) карты x вp в высокомерное пространство (m). Схема Случайной Кухонной Раковины использует случайное преобразование

T(x)=m1/2exp(iZx')',

где Zm×p является выборкой, нарисованной из N(0,σ2) и σ2 является шкалой ядра. Эта схема требует O (m p) расчета и хранения. Схема Фастфуда вводит другой случайный базис V вместо того, чтобы Z использовать матрицы Адамара, объединенные с матрицами Гауссова масштабирования. Этот случайный базис снижает стоимость расчета до O (m logp) и сокращает объем памяти до O (m ).

fitckernel функция использует схему Fastfood для случайного расширения признаков и использует линейную классификацию, чтобы обучить Гауссову модель классификации ядра. В отличие от решателей в fitcsvm функция, которая требует расчета n -by n Gram матрицы, решателя вfitckernel нужно только сформировать матрицу размера n -by - m, причем m обычно намного меньше, чем n для больших данных.

Ссылки

[1] Рахими, А. и Б. Рехт. «Случайные функции для крупномасштабных машин-ядер». Усовершенствования в системах нейронной обработки информации. Том 20, 2008, стр. 1177-1184.

[2] Le, Q., T. Sarlós, and A. Smola. Fastfood - аппроксимация расширений ядра в логинейном времени. Материалы 30-й Международной конференции по машинному обучению. Том 28, № 3, 2013, с. 244-252.

[3] Хуан, П. С., Х. Аврон, Т. Н. Сайнатх, В. Синдхвани и Б. Рамабхадран. «Методы ядра соответствуют глубоким нейронным сетям на TIMIT». 2014 IEEE International Conference on Acoustics, Speech and Signal Processing. 2014, стр 205–209.

Расширенные возможности

Введенный в R2017b