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