Обучите классификатор 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%.