Обучите классификатор SVM и намеренно заставьте решателю не удаваться сходиться на решение. Затем возобновите обучение классификатор, не имея необходимость перезапускать целый процесс обучения. Сравните значения потери перезамены для частично обученного классификатора и полностью обученного классификатора.
Загрузите ionosphere
набор данных.
Обучите классификатор SVM. Укажите, что стандартная программа оптимизации использует самое большее 100 итераций. Контролируйте алгоритм, указывающий, что программное обеспечение распечатывает диагностическую информацию каждый 50
итерации.
|===================================================================================================================================|
| Iteration | Set | Set Size | Feasibility | Delta | KKT | Number of | Objective | Constraint |
| | | | Gap | Gradient | Violation | Supp. Vec. | | Violation |
|===================================================================================================================================|
| 0 |active| 351 | 9.971591e-01 | 2.000000e+00 | 1.000000e+00 | 0 | 0.000000e+00 | 0.000000e+00 |
| 50 |active| 351 | 8.064425e-01 | 3.736929e+00 | 2.161317e+00 | 60 | -3.628863e+01 | 2.498002e-16 |
SVM optimization did not converge to the required tolerance.
Программное обеспечение распечатывает итеративное отображение к Командному окну. Распечатка указывает, что стандартная программа оптимизации не сходилась на решение.
Оцените потерю перезамены частично обученного классификатора SVM.
Обучающая выборка misclassification ошибка составляет приблизительно 12%.
Возобновите обучение классификатор для другого 1500
итерации. Укажите, что программное обеспечение распечатывает диагностическую информацию каждый 250
итерации.
|===================================================================================================================================|
| Iteration | Set | Set Size | Feasibility | Delta | KKT | Number of | Objective | Constraint |
| | | | Gap | Gradient | Violation | Supp. Vec. | | Violation |
|===================================================================================================================================|
| 250 |active| 351 | 1.441556e-01 | 1.701201e+00 | 1.015454e+00 | 100 | -7.671009e+01 | 4.857226e-17 |
| 500 |active| 351 | 3.277736e-03 | 9.155364e-02 | 4.830095e-02 | 103 | -7.819815e+01 | 1.110223e-16 |
| 750 |active| 351 | 3.928360e-04 | 1.367091e-02 | 9.155316e-03 | 103 | -7.820938e+01 | 5.234528e-16 |
| 1000 |active| 351 | 4.802547e-05 | 1.551900e-03 | 7.765843e-04 | 103 | -7.820959e+01 | 2.602085e-16 |
| 1044 |active| 351 | 3.602828e-05 | 9.382457e-04 | 5.182592e-04 | 103 | -7.820959e+01 | 4.623038e-16 |
Exiting Active Set upon convergence due to DeltaGradient.
UpdatedSVMModel =
ClassificationSVM
ResponseName: 'Y'
CategoricalPredictors: []
ClassNames: {'b' 'g'}
ScoreTransform: 'none'
NumObservations: 351
Alpha: [103x1 double]
Bias: -3.8828
KernelParameters: [1x1 struct]
BoxConstraints: [351x1 double]
ConvergenceInfo: [1x1 struct]
IsSupportVector: [351x1 logical]
Solver: 'SMO'
Properties, Methods
Программное обеспечение возобновляет в итерации 1000
и использует тот же уровень многословия в качестве набора того, когда вы обучили модель с помощью fitcsvm
. Распечатка указывает, что алгоритм сходился. Поэтому UpdatedSVMModel
полностью обученный ClassificationSVM
классификатор.
Обучающая выборка misclassification ошибка полностью обученного классификатора составляет приблизительно 8%.