Классифицировать наблюдения с помощью классификатора вспомогательных векторов (SVM)
[ также возвращает матрицу баллов (label,score] = predict(SVMModel,X)score), указывая вероятность того, что метка исходит от определенного класса. Для SVM показателями правдоподобия являются либо классификационные оценки, либо апостериорные вероятности классов. Для каждого наблюдения в X, прогнозируемая метка класса соответствует максимальному баллу среди всех классов.
Если для классификации используется линейная модель SVM и модель имеет множество векторов поддержки, то при использовании predict для способа прогнозирования может быть медленным. Для эффективной классификации наблюдений на основе линейной модели SVM удалите векторы поддержки из объекта модели с помощью discardSupportVectors.
По умолчанию и независимо от функции ядра модели MATLAB ® использует двойное представление функции оценки для классификации наблюдений на основе обученных моделей SVM, в частности
) + b ^.
Этот метод прогнозирования требует обученных векторов поддержки и α коэффициентов (см. SupportVectors и Alpha свойства модели SVM).
По умолчанию программа вычисляет оптимальные апостериорные вероятности с помощью метода Платта [1]:
Выполните 10-кратную перекрестную проверку.
Установите параметры сигмоидной функции в соответствии с показателями, полученными при перекрестной проверке.
Оцените задние вероятности, введя оценки перекрестной проверки в подогнанную сигмоидальную функцию.
Программное обеспечение включает предыдущие вероятности в целевую функцию SVM во время обучения.
Для SVM, predict и resubPredict классифицировать наблюдения по классу, дающему наибольший балл (наибольшая задняя вероятность). Программное обеспечение учитывает затраты на неправильную классификацию, применяя коррекцию средней стоимости перед обучением классификатора. То есть, учитывая предшествующий классу вектор Р, матрицу С затрат на неправильную классификацию и весовой вектор w наблюдения, программное обеспечение определяет новый вектор весов (W) наблюдения так, что
Чтобы интегрировать прогнозирование модели классификации SVM в Simulink ®, можно использовать блок «Прогнозирование SVM» в библиотеке Toolbox™ статистики и машинного обучения или функциональный блок MATLAB с помощью predict функция. Для примеров посмотрите, Предсказывают, что Этикетки Класса Используя ClassificationSVM Предсказывают Блок и Предсказывают Этикетки Класса Используя Функциональный блок MATLAB.
При принятии решения о том, какой подход использовать, необходимо учитывать следующее:
При использовании блока библиотеки инструментов «Статистика и машинное обучение» для преобразования модели с плавающей запятой в фиксированную можно использовать инструмент «Фиксированная точка» (Fixed-Point Designer).
Поддержка массивов переменного размера должна быть включена для функционального блока MATLAB с predict функция.
При использовании функционального блока MATLAB можно использовать функции MATLAB для предварительной обработки или последующей обработки до или после прогнозирования в том же функциональном блоке MATLAB.
[1] Плэтт, J. «Вероятностные результаты для вспомогательных векторных машин и сравнения с регуляризованными методами правдоподобия». Достижения в классификаторах больших марж. MIT Press, 1999, стр. 61-74.
ClassificationSVM | CompactClassificationSVM | fitcsvm | fitSVMPosterior | loss | resubPredict