Классифицируйте наблюдения с помощью классификатора машины опорных векторов (SVM)
[
также возвращает матрицу баллов (label
,score
]
= predict(SVMModel
,X
)score
) указание на вероятность, что метка прибывает из конкретного класса. Для SVM мерами по вероятности являются или классификационные оценки или апостериорные вероятности класса. Для каждого наблюдения в X
, предсказанная метка класса соответствует максимальному счету среди всех классов.
Если вы используете линейную модель SVM для классификации, и модель имеет много векторов поддержки, то использование predict
для предсказания метод может быть медленным. Чтобы эффективно классифицировать наблюдения на основе линейной модели SVM, удалите векторы поддержки из объекта модели при помощи discardSupportVectors
.
По умолчанию и независимо от функции ядра модели, MATLAB® использует двойное представление функции счета, чтобы классифицировать наблюдения на основе обученных моделей SVM, в частности
Этот метод предсказания требует обученных векторов поддержки и коэффициентов α (см. SupportVectors
и Alpha
свойства модели SVM).
По умолчанию программное обеспечение вычисляет оптимальные апостериорные вероятности с помощью метода Платта [1]:
Выполните 10-кратную перекрестную проверку.
Соответствуйте сигмоидальным параметрам функции к баллам, возвращенным в перекрестную проверку.
Оцените апостериорные вероятности путем ввода баллов перекрестной проверки в подходящую сигмоидальную функцию.
Программное обеспечение включает априорные вероятности в целевую функцию SVM во время обучения.
Для SVM, predict
и resubPredict
классифицируйте наблюдения в класс, дающий к самому большому счету (самая большая апостериорная вероятность). Программное обеспечение составляет misclassification затраты путем применения коррекции средней стоимости перед обучением классификатор. Таким образом, учитывая класс предшествующий векторный P, misclassification матрица стоимости C и вектор веса наблюдения w, программное обеспечение задает новый вектор из весов наблюдения (W), таким образом что
Интегрировать предсказание модели классификации SVM в Simulink®, можно использовать блок ClassificationSVM Predict в библиотеке Statistics and Machine Learning Toolbox™ или блоке MATLAB function с predict
функция. Для примеров смотрите, Предсказывают, что Класс Маркирует Using ClassificationSVM Predict Block и Predict Class Labels Using MATLAB Function Block.
При решении, который подход использовать, рассмотрите следующее:
Если вы используете библиотечный блок Statistics and Machine Learning Toolbox, можно использовать Fixed-Point Tool (Fixed-Point Designer), чтобы преобразовать модель с плавающей точкой в фиксированную точку.
Поддержка массивов переменного размера должна быть включена для блока MATLAB function с predict
функция.
Если вы используете блок MATLAB function, можно использовать функции MATLAB для предварительной обработки или последующей обработки прежде или после предсказаний в том же блоке MATLAB function.
[1] Платт, J. “Вероятностные выходные параметры для машин опорных векторов и сравнений с упорядоченными методами вероятности”. Усовершенствования в Больших Граничных Классификаторах. Нажатие MIT, 1999, страницы 61-74.
ClassificationSVM
| CompactClassificationSVM
| fitcsvm
| fitSVMPosterior
| loss
| resubPredict