Пример языка: Python

Определенная Jakkula (2006), машина опорных векторов (SVM) представляет собой инструмент классификации и прогнозирования регрессии, который использует теорию ML для максимальной точности прогнозирования, автоматически избегая переобучения данных. SVM можно определить как системы, которые используют пространство гипотез линейных функций в многомерном пространстве признаков, обученные с помощью алгоритма обучения из теории оптимизации, который реализует предвзятость обучения, полученную из статистической теории обучения.

SVM работает, беря все точки данных и определяя «гиперплоскость» для разделения классов. Эта линия называется границей решения. Затем наблюдения можно классифицировать в зависимости от того, с какой стороны от границы решения они попадают.

Преимущества:

  • Улучшена производительность при наличии четкого разделения между классами.
  • Эффективен в больших объемных пространствах.

Недостатки:

  • Не подходит для больших наборов данных.
  • Плохая производительность, когда набор данных содержит значительное количество «шума».
  • Переобучение может произойти, если количество наблюдений меньше количества признаков.

Модель классификации SVM хорошо работает для анализа настроений и категоризации текста в целом благодаря своей способности обрабатывать многомерное входное пространство. SVM используют защиту от переобучения, которая не обязательно зависит от количества функций, поэтому у них есть потенциал для обработки этих больших пространств функций. Предположение, что большинство признаков не имеют отношения к конкурирующим классификаторам, является их ловушкой, поскольку агрессивный выбор признаков имеет тенденцию приводить к потере информации. Конкурирующие классификаторы, такие как наивный байесовский алгоритм и логистическая регрессия, являются «аддитивными» алгоритмами, что означает, что они лучше подходят для плотных концепций, а не для разреженных векторов документов. Наконец, проблема анализа настроений является линейно разделимой, и теория, лежащая в основе SVM, состоит в том, чтобы найти линейные разделители (Joachims 1998), считая это очень подходящим.

Основным гиперпараметром SVM является «Ядро», ядро ​​отвечает за отображение наблюдений в некоторое пространство признаков, что в идеале делает наблюдения более линейно разделимыми после этого преобразования.

«Линейное» ядро ​​лучше всего подходит для большинства задач классификации текста, поскольку оно процветает при работе с большими разреженными векторами данных, задачи классификации текста, как правило, линейно разделимы и требуют меньше времени на обучение по сравнению с другими функциями ядра.

Выполнение:

from sklearn import svm
linearClassifier = svm.SVC(kernel='linear').fit(x, y)

Библиография:

Джаккула, В. 2006. Учебное пособие по машине опорных векторов (SVM). Доступно по адресу: https://course.ccs.neu.edu/cs5100f11/resources/jakkula.pdf [Дата обращения: 7 марта 2022 г.].

Йоахимс, Т. 1998. Категоризация текста с помощью машин опорных векторов: обучение со многими соответствующими функциями. Доступно по адресу: https://link.springer.com/chapter/10.1007/BFb0026683 [Проверено: 8 марта 2022 г.].