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

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

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

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

Как работают SVM

Алгоритм работает путем построения графика каждого элемента данных в виде точки в n-мерном пространстве (где n — количество признаков). Затем классификация выполняется путем нахождения гиперплоскости, которая создает наилучшее разделение между классами.

  • Гиперплоскость: Это граница принятия решений. В наборе данных с двумя признаками это линия; с тремя — плоскость. Для большего количества признаков она становится гиперплоскостью.
  • Векторы поддержки: Это точки данных, которые находятся ближе всего к гиперплоскости. Они имеют решающее значение, поскольку определяют запас, и их удаление изменит положение гиперплоскости. Отличную визуализацию векторов поддержки можно найти в конспектах лекций CS229 Стэнфорда.
  • Отступ: Отступ — это расстояние между опорными векторами и гиперплоскостью. Задача SVM состоит в том, чтобы найти гиперплоскость, которая максимизирует этот отступ, создавая максимально надежное разделение.
  • Ядровой трюк: Для данных, которые не являются линейно разделимыми, SVM используют метод, называемый ядровым трюком. Этот мощный метод включает в себя преобразование данных в пространство более высокой размерности, где можно найти линейный разделитель, не вычисляя явно координаты данных в этом новом пространстве. Популярные ядра, такие как радиальная базисная функция (RBF), могут обрабатывать очень сложные, нелинейные отношения. Вы можете изучить руководство по ядрам SVM для получения более подробной информации.

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

SVM эффективны во многих областях, особенно для задач с данными высокой размерности.

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

SVM против других алгоритмов

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

Популярные реализации включают LibSVM и модуль SVM в scikit-learn. Хотя SVM обычно не является ядром современных фреймворков CV, таких как PyTorch или TensorFlow, его можно интегрировать в более широкие рабочие процессы. Обучение и управление такими моделями, а также многими другими, можно упростить с помощью платформ, таких как Ultralytics HUB, которая упрощает жизненный цикл MLOps от разметки данных до настройки гиперпараметров и окончательного развертывания модели.

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

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

Присоединиться сейчас
Ссылка скопирована в буфер обмена