резюме

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

Синтаксис

UpdatedMdl = resume(Mdl,X,Y)
UpdatedMdl = resume(Mdl,X,Y,Name,Value)
[UpdatedMdl,FitInfo] = resume(___)

Описание

пример

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

пример

UpdatedMdl = resume(Mdl,X,Y,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);

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);

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);

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);

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.0283
                 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.1097
                 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')

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

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

свернуть все

Бинарная модель классификации ядер, заданная как объект модели ClassificationKernel. Можно создать объект модели ClassificationKernel с помощью fitckernel.

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

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

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

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

Примечание

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

Веса наблюдения раньше обучали Mdl, заданный как пара, разделенная запятой, состоящая из 'Weights' и положительный числовой вектор длины n, где n является количеством наблюдений в X. Функция resume взвешивает наблюдения в X с соответствующими значениями в Weights.

Значением по умолчанию является ones(n,1).

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

Пример: 'Weights',w

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

Относительный допуск на линейных коэффициентах и сроке смещения (прерывание), заданное как пара, разделенная запятой, состоящая из '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, чтобы оценить, является ли сходимость удовлетворительной.

Больше о

свернуть все

Случайное расширение функции

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

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

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

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

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

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

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

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

Ссылки

[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.

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

Смотрите также

| |

Введенный в R2017b