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

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

Основная идея SVM — найти наилучшую линию или гиперплоскость, разделяющую два класса точек данных [2].

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

Его фон, упрощенный

Достижимая цель SVM состоит в том, чтобы найти гиперплоскость, которая максимально разделяет два класса, одновременно сводя к минимуму количество ошибок классификации в обучающих данных. Для этого используется подход к преобразованию SVM для создания типа формата, в котором такое разделение можно легко идентифицировать. Это преобразование может быть выполнено с помощью так называемого трюка с ядром [4]. Наиболее распространенными ядрами являются линейные, полиномиальные и радиальные базисные функции (РБФ) [5].

Ядро — это функция, которая отображает данные из исходного входного пространства в новое пространство признаков.

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

Линейное ядро

Линейное ядро ​​преобразует ваши данные в многомерное пространство, создавая новые функции, которые формируют комбинации ваших исходных функций. Это преобразованное пространство находит оптимальную гиперплоскость для разделения двух классов. Хотя это может показаться «излишним» [7] для простого добавления новых функций, я обнаружил, что эти вновь созданные функции существуют в так называемых воспроизводящих гильбертовых пространствах [6] (у которых есть полезные математические свойства, которые мы можем использовать во время оптимизации). Кроме того, работа с многомерными входными данными становится проще, чем с низкоразмерными, поскольку многие явления машинного обучения (например, для оптимизации подгонки) происходят более регулярно, когда размер выборки велик по сравнению с размерностью.

Поскольку границы решений SVM зависят от локальной информации вокруг близких к ним опорных векторов (граница решений во входном пространстве [8]), они потенциально могут обобщаться более оптимально (в зависимости от количества данных, которые у вас есть). Хотя в обучающих наборах могут существовать другие разделяющие гиперплоскости с аналогичным уровнем ошибок, этот обычно лучше всего работает в соответствии с перекрестной проверкой исключения одного [9] или каким-либо подобным методом, предназначенным для оценки эффективности обобщения из доступного набора данных.

Полиномиальное ядро

Мы потратили немного больше времени на декомпозицию линейного ядра, потому что оно напрямую определяет различие между ним и полиномиальным ядром. Я часто выбираю полиномиальное ядро ​​для машин опорных векторов в машинном обучении из-за его гибкости для линейных и нелинейных моделей. Этот тип ядра имеет много преимуществ, включая возможность обработки нелинейных наборов данных и адаптивность для выбора степени полинома.

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

Ядро RBF

Ядро RBF (или Гаусса) отличается от первых двух тем, что оно вычисляет, насколько далеко каждая точка в пространстве находится от определенного центра (или различных теорий «расстояния»). Поскольку ядро ​​RBF потенциально может моделировать произвольно сложные границы решений [10], размещая эти центры близко друг к другу, информация, полученная в результате стратегии кодирования информации этого типа, может информировать о желаемых вариантах использования. Что касается того, какой из них вы должны использовать в соответствии с этими ядрами, я бы, вероятно, начал с линейного, а затем перешел бы либо к полиномиальному, либо к RBF в зависимости от производительности, а также соображений времени выполнения (поскольку работа с входными данными высокой размерности обычно занимает больше времени, чем с низкоразмерными). ).

Возможности

Что касается затрат, мы также думаем о масштабировании. SVM масштабируются до многомерных данных; Ядра SVM потенциально эффективны в более высоких измерениях, поскольку они неявно отображают входные векторы в пространство признаков очень большого размера. Кроме того, как только мы выполним этот тип сопоставления, мы потенциально можем уменьшить ожидание контроля наших входных данных, поскольку методы уменьшения размерности могут еще больше снизить требования к памяти / хранилищу для обучающих наборов, слишком больших для обычных вычислительных устройств.

Они могут быть более устойчивы к переоснащению, чем другие модели. Это связано с тем, что задача оптимизации, решаемая с помощью SVM, учитывает различные «степени свободы» [11] по сравнению с количеством точек данных. Кроме того, расширенные реализации алгоритмов часто автоматически настраивают сложность модели, используя некоторый набор проверки во время обучения, что может еще больше снизить вероятность переобучения по сравнению с перекрестной проверкой с исключением одного [9] или аналогичными методами, которые неявно требуют, чтобы все точки данных использовались как для подбора, так и для подгонки. и оценка производительности.

Оптимизируйте его для повышения точности

Один из способов — использовать ядра, которые могут преобразовывать низкоразмерные данные в многомерное пространство, чтобы лучше разделять классы. Другой способ — использовать разные типы SVM для разных задач; например, использование одноклассовой SVM для обнаружения новизны [12] или использование регрессионной SVM вместо классификационной SVM при работе с определенными типами меток данных. Кроме того, настройка гиперпараметров может использоваться для оптимизации различных аспектов модели, таких как тип ядра и параметры регуляризации.

Прощальные мысли

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

Here is my newsletter; I hope that you kindly consider subscribing.
https://pventures.substack.com

Подумайте о том, чтобы прочитать следующее, что я написал:





Ссылки:

1. Тильбе, Анил. (2022, 2 августа). 20 лучших упрощенных методов машинного обучения. Кодирование повышения уровня. https://levelup.gitconnected.com/top-20-machine-learning-algorithms-explained-in-less-than-10-seconds-each-8fd728f70b19

2. Шмиловичи. (2009, 1 января). Машины опорных векторов. Спрингер США. https://link.springer.com/chapter/10.1007/978-0-387-09823-4_12

3. Сутхаран. (2016, 1 января). Машина опорных векторов. Спрингер США. https://link.springer.com/chapter/10.1007/978-1-4899-7641-3_9

4. Яккула, В. Учебное пособие по машине опорных векторов (SVM). https://course.ccs.neu.edu/cs5100f11/resources/jakkula.pdf

5. Разак, А., Фрей, М.Б.Х., Альмиани, М., Алотаиби, М., и Алотаиби, Б. (2021). Усовершенствованная машина опорных векторов позволила использовать радиальную базисную функцию и линейные варианты для классификации изображений дистанционного зондирования. Датчики, 21(13). https://doi.org/10.3390/s21134431

6. Н. Хекман. Теория и применение штрафных методов наименьших квадратов или простое воспроизведение ядерных гильбертовых пространств, 1997 г.

7. Бреретон, Р. Г., и Ллойд, Г. Р. (nd). Методы опорных векторов для классификации и регрессии. Аналитик, 135(2), 230–267. https://doi.org/10.1039/B918972F

8. Доменикони, К., и Гунопулос, Д. (nd). Адаптивная классификация ближайших соседей с использованием метода опорных векторов. Достижения в области нейронных систем обработки информации, 14.

9. Чжан и Ван. (2015). Быстрая перекрестная проверка для семейства SVM. Нейронные вычисления и приложения, 27 (6), 1717–1730. https://doi.org/10.1007/s00521-015-1970-4

10. Парк, Дж.-Э., Куанц, Б., Вуд, С., Хиггинс, Х., и Харишанкар, Р. (2020, 14 декабря). Улучшение практического применения Quantum SVM: от теории к практике. ArXiv.Org. https://arxiv.org/abs/2012.07725

11. Подход SVM к обучению роботизированному захвату. (н.д.). IEEE Исследовать. Получено 13 августа 2022 г. с https://ieeexplore.ieee.org/abstract/document/1308797.

12. Обнаружение новизны временных рядов с использованием одноклассовых машин опорных векторов. (н.д.). IEEE Исследовать. Получено 13 августа 2022 г. с https://ieeexplore.ieee.org/abstract/document/1223670/.

13. Гарсия-Гонсало, Э. (29 июня 2016 г.). Рис. 2. Классификация данных методом опорных векторов (SVM). ResearchGate. https://www.researchgate.net/figure/Classification-of-data-by-support-vector-machine-SVM_fig8_304611323

14. https://www.section.io/engineering-education/kernel-svm-in-python/

Повышение уровня кодирования

Спасибо, что являетесь частью нашего сообщества! Перед тем, как ты уйдешь:

  • 👏 Хлопайте за историю и подписывайтесь на автора 👉
  • 📰 Смотрите больше контента в публикации Level Up Coding
  • 🔔 Подписывайтесь на нас: Twitter | ЛинкедИн | "Новостная рассылка"

🚀👉 Присоединяйтесь к коллективу талантов Level Up и найдите прекрасную работу