Пример языка: 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 г.].