Классифицируйте наблюдения на классификатор машины опорных векторов (SVM)
Если вы используете линейную модель 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
| fitcsvm
| fitPosterior
| fitSVMPosterior
| predict