Термин · Глоссарий B2B-ПО

Support Vector Machine (SVM) (Support Vector Machine (SVM))

Support Vector Machine (SVM) – алгоритм машинного обучения с учителем, строящий оптимальную разделяющую гиперплоскость между классами в пространстве признаков с максимальным зазором (margin). SVM применяется для классификации, регрессии и обнаружения аномалий.

Буква «S» В категориях: 4 Платформ: 6+

Введение

Support Vector Machine (SVM, метод опорных векторов) – алгоритм машинного обучения с учителем, разработанный в 1995 году Кортес и Вапником (Corinna Cortes, Vladimir Vapnik) в Bell Labs. SVM находит в пространстве признаков оптимальную гиперплоскость, максимально разделяющую объекты разных классов. «Оптимальность» определяется через максимизацию отступа (margin) – расстояния между гиперплоскостью и ближайшими точками каждого класса, называемыми опорными векторами (support vectors).

Алгоритм обладает строгим математическим обоснованием через теорию статистического обучения Вапника–Червоненкиса (VC-theory) и исторически показывал высокую точность на многих задачах, прежде чем глубокое обучение потеснило его в задачах с большими данными.

История и контекст

Теоретические корни SVM восходят к работам Вапника и Лернера 1963 года об оптимальных разделяющих гиперплоскостях. Ключевой прорыв – публикация 1992 года (Boser, Guyon, Vapnik) с введением kernel trick: трансформация данных в пространство высокой размерности без явных вычислений, что позволило строить нелинейные классификаторы. Статья Cortes & Vapnik 1995 «Support-vector networks» в Machine Learning Journal стала одной из наиболее цитируемых в истории ML.

В 1990-е и 2000-е SVM был стандартом де-факто для задач распознавания образов, классификации текстов и биоинформатики. С 2012 года (AlexNet, ImageNet) глубокие нейронные сети доминируют в задачах с большими данными, однако SVM остаётся предпочтительным для задач с небольшими выборками и высокой размерностью.

Как это работает

Основные концепции SVM:

  • Гиперплоскость: в N-мерном пространстве признаков – (N-1)-мерная поверхность, разделяющая классы.
  • Опорные векторы: точки обучающей выборки, ближайшие к гиперплоскости. Положение гиперплоскости определяется только ими – удаление остальных точек не изменит модель.
  • Максимальный зазор (margin): расстояние между гиперплоскостью и ближайшими точками каждого класса. SVM максимизирует этот зазор, что обеспечивает лучшую генерализацию.
  • Kernel trick: для нелинейно-разделимых данных признаки отображаются в пространство высокой размерности через функцию ядра. Популярные ядра: линейное (linear), полиномиальное (polynomial), радиальное (RBF/Gaussian).
  • Мягкий зазор (soft margin): параметр C контролирует компромисс между шириной зазора и допустимым количеством ошибок классификации.

Для регрессии применяется SVR (Support Vector Regression), для обнаружения аномалий – One-Class SVM.

Где применяется

  • Классификация текстов: спам-фильтры, определение тональности, категоризация документов.
  • Биоинформатика: классификация белков, анализ генетических данных, диагностика по медицинским изображениям.
  • Кибербезопасность: обнаружение вторжений, классификация вредоносного ПО, one-class SVM для anomaly detection.
  • Компьютерное зрение: OCR (до эпохи CNN), детектирование объектов на изображениях.
  • Финансы: кредитный скоринг, обнаружение мошенничества, прогнозирование дефолтов.

Преимущества и ограничения

Преимущества: эффективен при малых и средних выборках; работает в пространствах высокой размерности; математически строгий подход с гарантиями обобщения; робастен к выбросам благодаря опоре только на опорные векторы.

Ограничения: плохо масштабируется на большие датасеты (O(n²) или O(n³) по числу точек); требователен к выбору ядра и гиперпараметров; не даёт вероятностных оценок «из коробки»; уступает нейронным сетям на задачах с большими данными.

Связь с другими понятиями

SVM – один из алгоритмов в экосистеме machine learning. Реализован во всех популярных ML-фреймворках (scikit-learn, LibSVM). Часто используется в пайплайнах text analytics и text mining для классификации текстовых данных. В задачах кибербезопасности SVM применяется совместно с инструментами threat intelligence. Для задач с большими данными SVM конкурирует с методами deep learning на ML-платформах.

Понятия из глоссария Цифрового маркетплейса, которые часто встречаются вместе с термином «Support Vector Machine (SVM)».

Платформы класса «Support Vector Machine (SVM)»

Решения из каталога Цифрового маркетплейса, относящиеся к этому классу ПО. Карточки ведут на полные карточки платформ с тарифами, обзорами и кейсами внедрения.

Уникальные возможности ABBYY InfoExtractor SDK по выявлению в текстах объектов, фактов и связей между ними поз...
Цена по запросу
★ 4.5
Подробнее →
ФО

Форпост

Управление городской инфраструктурой
Форпост — программная платформа для построения масштабируемых систем видеонаблюдения и видеоаналитики на нейро...
Цена по запросу
★ 4.8
Подробнее →
Сервис идентификации потенциальных клиентов на сайте
Цена по запросу
Подробнее →
ТРАНСФЛОУ — модульная интеграционная платформа для построения интеллектуальных транспортных систем (ИТС). Разр...
Цена по запросу
★ 4.5
Подробнее →
ИВ

ИКАР видео волл контрол

Управление городской инфраструктурой
ИКАР видео волл контрол — программное обеспечение компании (ИНН 7838404170) для управления видеостенами (video...
Цена по запросу
Подробнее →

Категории каталога

Разделы каталога Цифрового маркетплейса, в которые входят решения, использующие «Support Vector Machine (SVM)».

Где применяется

Отрасли, в которых «Support Vector Machine (SVM)» используется на практике. Откройте отраслевой раздел Цифрового маркетплейса, чтобы увидеть подходящие решения, кейсы и новости.

Частые вопросы про Support Vector Machine (SVM)

Что такое kernel trick в SVM?

Математический приём, позволяющий вычислять скалярное произведение в пространстве высокой размерности без явного отображения. Функции ядра (RBF, polynomial) делают SVM мощным для нелинейных задач.

Что такое опорные векторы (support vectors)?

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

Когда стоит использовать SVM, а не нейронные сети?

SVM предпочтительнее при небольших выборках (тысячи, а не миллионы примеров), высокой размерности признаков и когда важна интерпретируемость и математические гарантии.

Что такое параметр C в SVM?

Параметр регуляризации, контролирующий компромисс: большой C – узкий зазор, мало ошибок на train (риск переобучения); малый C – широкий зазор, больше ошибок классификации (лучшая генерализация).

Что такое One-Class SVM?

Вариант SVM для задач обнаружения аномалий: обучается только на 'нормальных' данных, строит гиперсферу вокруг них. Точки за пределами сферы считаются аномалиями.

Как SVM используется в кредитном скоринге?

SVM классифицирует заявителей на 'хороших' и 'плохих' заёмщиков по признакам (доход, история кредитов). Хорошо работает на несбалансированных классах с помощью настройки весов.