часть 1 последовательности, краткие статьи, содержащие всестороннее введение; никаких предварительных знаний не предполагается

Обзор

Это часть 1 из 5 коротких статей, которые предоставляют всестороннее введение в машины опорных векторов (SVM). Цель этой серии - помочь вам досконально разобраться в SVM и научиться уверенно использовать ее в своих собственных проектах. Последовательность предполагает отсутствие предварительных знаний о машинном обучении (ML), а знакомство с математикой средней школы достаточно, чтобы следовать и понимать.

Большая картинка

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



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

Концептуально и регрессия, и классификация похожи. В обоих случаях у нас есть набор точек данных или атрибутов (обычно называемых функциями), которые мы затем используем для прогнозирования выходных данных. Если выход дискретный, мы называем это классификацией. Если результат непрерывный, мы называем это регрессией.

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

Является ли SVM генеративным или дискриминационным?

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

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

Погодите, что я имею в виду под «космосом»? …

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

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

Ключевой момент, на который следует обратить внимание: для проблемы с n функциями каждая точка данных может быть концептуально представлена ​​в n -мерном пространстве.

Дискриминантная модель, такая как SVM, пытается найти границу, которая поможет нам разделить это n -мерное пространство (где каждая область в пространстве будет принадлежать определенному классу). Математически эта граница решения является подпространством n -1 и называется гиперплоскостью (например, если у нас есть 2-мерное пространство, то гиперплоскость для границы решения будет 1-мерным пространством. , линия; если у нас есть 3-мерное пространство, то гиперплоскость для границы решения будет 2-мерной плоскостью).

Как определить границу принятия решения?

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

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

Обзор математики, лежащей в основе SVM

Если математика SVM отталкивает, вот вам взгляд с высоты птичьего полета на математику, лежащую в основе SVM в словах (мы выведем соответствующие уравнения в следующей статье этой серии). Как упоминалось ранее, настоящая магия, которая отличает SVM от других алгоритмов, таких как логистическая регрессия, происходит в функции «стоимости». Для логистической регрессии мы определяем функцию стоимости, которая является «выпуклой» (это означает, что она имеет U-образную форму и единственную точку минимума; такие проблемы легко решить). Для SVM у нас есть два требования:

(i): мы хотим максимизировать маржу (оптимизация)

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

Таким образом, проблема SVM - это задача оптимизации с «ограничениями», в которой мы хотим максимизировать запас (i), но также гарантировать выполнение ограничений (ii). Метод множителей Лангража предоставляет нам способ решения задачи оптимизации с ограничениями (путем преобразования ее в задачу без ограничений, которую мы затем можем решить с помощью исчисления; мы выведем соответствующие уравнения в следующей статье этой серии).

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

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