Глоссарий

Машина опорных векторов (SVM)

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

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

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

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

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

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

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

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

Svm по сравнению с другими алгоритмами

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

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

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

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

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