Yolo Vision Shenzhen
Шэньчжэнь
Присоединиться сейчас
Глоссарий

Метод опорных векторов (SVM)

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

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

Основные механизмы SVM

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

  • Оптимальная гиперплоскость: Алгоритм определяет плоскость, которая разделяет пространство входных переменных. В двух измерениях это линия, в трех измерениях - плоская плоскость, а в высших измерениях - гиперплоскость. Задача состоит в том. найти гиперплоскость, которая сохраняет максимальное расстояние до ближайших точек данных любого класса.
  • Векторы поддержки: Это конкретные точки данных, которые находятся ближе всего к границе принятия решения. Они называются "векторами поддержки", потому что они, по сути, поддерживают или определяют ориентацию и положение гиперплоскости. Если удалить другие точки данных, граница останется прежней, но перемещение вектора поддержки изменит модель. Подробнее об этих векторах вы можете прочитать в документации Scikit-learn SVM.
  • Трюк с ядром: Данные реального мира редко бывают линейно разделимыми. SVM решают эту проблему с помощью техники называемой "трюк с ядром", которая проецирует данные в более высокоразмерное пространство, где линейный разделитель эффективно разделяет классы. Распространенные ядра включают радиальную базисную функцию (RBF) и полиномиальные ядра, что позволяет модели модель обрабатывать сложные, нелинейные отношения, часто встречающиеся в обработке естественного языка (NLP) задачах.

Применение в реальном мире

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

  • Биоинформатика и здравоохранение: SVM играют важную роль в ИИ в здравоохранении, особенно в классификационных задач, таких как обнаружение удаленных гомологий белков и классификация рака на основе данных микрочипов генов экспрессии генов. Их способность обрабатывать высокоразмерные данные с небольшим количеством образцов делает их идеальными для анализа сложных биологических наборов данных.
  • Категоризация текста: В области Аналитика данных, SVM широко используются для категоризации текстов и категоризации гипертекста. Они значительно сокращают потребность в меченых обучающих экземплярах в стандартных индуктивной классификации текстов, что делает их эффективными для таких приложений, как обнаружение спама и анализ настроений. анализ.
  • Распознавание рукописного текста: SVM исторически показали отличные результаты в задачах распознавания рукописных цифр распознавания рукописных цифр, например, в наборе данных наборе данныхMNIST . В то время как сверточные нейронные сети (CNN) в значительной степени заняли свое место, SVM остаются актуальными для бенчмарков и случаев с ограниченными обучающими данными.

Реализация классификатора SVM

Хотя в современных задачах часто используется Ultralytics YOLO11 модель для сквозного обнаружения объектов, SVM остается мощным инструментом для структурированных данных или в качестве финального слоя классификации поверх извлеченных признаков. Ниже приведен краткий пример с использованием популярной scikit-learn библиотека для обучения простого классификатора.

from sklearn import svm
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split

# Generate synthetic classification data
X, y = make_classification(n_features=4, random_state=0)
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)

# Initialize and train the Support Vector Classifier
clf = svm.SVC(kernel="linear", C=1.0)
clf.fit(X_train, y_train)

# Display the accuracy on the test set
print(f"Accuracy: {clf.score(X_test, y_test):.2f}")

SVM в сравнении с другими алгоритмами

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

  • Логистическая регрессия: Оба являются линейными классификаторами, но цели их оптимизации различны. Логистическая регрессия максимизирует вероятность наблюдаемых данных (вероятностная), в то время как SVM максимизирует геометрическую маржу между классами. SVM обычно более эффективны эффективнее, когда классы хорошо разделены, тогда как логистическая регрессия обеспечивает калиброванные вероятности.
  • K-Nearest Neighbors (KNN): KNN - это непараметрический, основанный на экземплярах обучаемый, который классифицирует точку на основе большинства классов ее соседей. В отличие от этого, SVM - параметрическая модель, которая обучается глобальной границе. SVM, как правило, обеспечивает более быстрое после обучения, так как им не нужно хранить весь набор данных, в отличие от KNN.
  • Деревья решений: Дерево решений разбивает пространство данных на прямоугольные области с помощью иерархических правил. SVM могут создавать сложные, криволинейные границы принятия решений (с помощью ядер), которые деревья решений могут с трудом аппроксимировать, не становясь при этом слишком Деревья решений могут с трудом аппроксимировать эти границы, не становясь при этом слишком глубокими и склонными к переоценке.
  • Глубокое обучение (например, YOLO11): SVM в значительной степени зависят от ручного разработка признаков, в ходе которой эксперты домена выбирают релевантные входные данные. Современные модели, такие как YOLO11 превосходят автоматическое извлечение признаков непосредственно из необработанных пикселей, что делает их превосходными для таких сложных задач, как обнаружение объектов в реальном времени обнаружение объектов и сегментация объектов.

Для тех, кто интересуется основополагающей теорией, в оригинальной статье Кортеса и Вапника (1995), в которой заложена математическая основы для SVM с мягкими границами, используемых сегодня.

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас