Классифицируйте наблюдения на классификатор машины вектора поддержки (SVM)
label = resubPredict(SVMModel)
[label,Score]
= resubPredict(SVMModel)
Если вы используете линейную модель SVM для классификации, и модель имеет много векторов поддержки, то использование resubPredict
для метода прогноза может быть медленным. Чтобы эффективно классифицировать наблюдения на основе линейной модели SVM, удалите векторы поддержки из объекта модели при помощи discardSupportVectors
.
По умолчанию и независимо от образцовой функции ядра, MATLAB® использует двойное представление функции счета, чтобы классифицировать наблюдения на основе обученных моделей SVM в частности
Этот метод прогноза требует обученных векторов поддержки и коэффициентов α (см. свойства SupportVectors
и Alpha
модели SVM).
По умолчанию программное обеспечение вычисляет оптимальные апостериорные вероятности с помощью метода Платта [1]:
Выполните 10-кратную перекрестную проверку.
Соответствуйте сигмоидальным параметрам функции к очкам, возвращенным в перекрестную проверку.
Оцените апостериорные вероятности путем ввода очков перекрестной проверки в подходящую сигмоидальную функцию.
Программное обеспечение включает априорные вероятности в целевую функцию SVM во время обучения.
Для SVM predict
и resubPredict
классифицируют наблюдения в класс, приводящий к самому большому счету (самая большая апостериорная вероятность). Программное обеспечение составляет misclassification затраты путем применения исправления средней стоимости перед обучением классификатор. Таким образом, учитывая класс предшествующий векторный P, misclassification матрица стоимости C и вектор веса наблюдения w, программное обеспечение задает новый вектор весов наблюдения (W), таким образом что
[1] Платт, J. “Вероятностные выходные параметры для машин вектора поддержки и сравнений с упорядоченными методами вероятности”. Усовершенствования в Больших Граничных Классификаторах. Нажатие MIT, 1999, стр 61–74.
ClassificationSVM
| CompactClassificationSVM
| fitPosterior
| fitSVMPosterior
| fitcsvm
| predict