Вопрос или проблема
В SVM у нас есть 3 гиперплоскости,
- одна для разделения положительного и отрицательного классов
- Две другие лежат на опорных векторах.
На рисунке –
Уравнение гиперплоскостей, лежащих на опорных векторах, записывается как
$w.x + b = 1$ и $w.x + b = -1$
Почему мы выбираем +1 и -1 в качестве их значений, это означает, что от границы решения гиперплоскости, лежащие на опорных векторах, имеют расстояние 1 единица (перпендикулярно к оси X). Таким образом, длина промежутка фиксирована. Итак, как мы можем максимизировать это, если промежуток зафиксирован?
Это отличный вопрос и такой, с которым я тоже боролся.
Во-первых, промежуток не фиксирован. Как показывает ваша диаграмма, промежуток $m = \frac{2}{\lVert w \rVert}$, который является функцией 2-нормы параметра $w$, и ничем больше. Таким образом, промежуток максимизируется путем минимизации нормы $w$.
Но давайте вернемся назад, чтобы увидеть, почему.
У нас есть некоторые данные, представленные как векторы $x_i \in \mathbb{R}^n$, и каждый $x_i$ ассоциирован с бинарной меткой $y_i \in \{-1,1\}$ для $i \in \mathbb{N}$. Мы могли бы сделать метки любыми, но выбор -1 и 1 математически удобен.
Гиперплоскость (аффинная) является обобщением линии в n-мерном пространстве, определяемым как множество точек $x$, таких что $w^Tx + b = 0$, где $w, x \in \mathbb{R}^n$ и $w^Tx$ является скалярным (внутренним) произведением между этими векторами. Выбор $w$ изменит ориентацию гиперплоскости, а выбор $b$ определит ее смещение от начала координат.
Мы хотим найти гиперплоскость (т.е. выбор $w, b$), которая разделит данные $x_i$ в соответствии с их метками классов. Мы предполагаем, что наши данные могут быть идеально разделены линией (или гиперплоскостью), т.е. они линейно разделимы. Таким образом, мы хотим гиперплоскость такую, что когда $y_i = -1$, тогда $w^Tx_i + b \le 0$, а когда $y_i = 1$, тогда $w^Tx_i + b \ge 0$. На самом деле существует довольно простой алгоритм, называемый алгоритмом перцептрона, который может найти гиперплоскость, соответствующую этим ограничениям.
Но существует бесконечное количество гиперплоскостей (т.е. выборов $w, b$), которые могут удовлетворить ограничениям разделения классов данных, поэтому, чтобы наша гиперплоскость хорошо работала при классификации будущих данных, мы хотим, чтобы она оптимально разделяла классы данных так, чтобы не было смещения в одну из классов или другую и чтобы она идеально находилась между ними с максимальным пространством по обе стороны (максимальные промежутки).
Проще всего установить это так, что то, что мы действительно хотим, это определить две параллельные гиперплоскости, одну прямо на внутренней границе класса $y_i = -1$ и другую прямо на внутренней границе класса $y_i = 1$, тогда фактическая граница решения будет параллельной гиперплоскостью ровно посередине между ними.
Иными словами, если мы имеем нашу гиперплоскость границы решения как $w^Tx + b = 0$, тогда мы хотим найти $\delta > 0$, такую, что мы можем определить две параллельные гиперплоскости по обе стороны: $w^Tx + b = 0 \pm \delta$. Мы хотели бы максимизировать $\delta$, чтобы расстояние между этими двумя граничными гиперплоскостями было максимальным, это даст нам максимальное разделение между классами.
Но если мы держим $\delta$ переменной, то изменение нормы $w$, изменение $b$ или изменение $\delta$ изменит промежуток между двумя гиперплоскостями. Мы действительно только хотим оптимизировать $w, b$. Более того, если мы изменим $\delta$ на любое скалярное значение, то мы просто можем масштабировать $w, b$ на противоположное значение, так что мы можем зафиксировать $\delta$ на любое значение, которое мы хотим, и все равно можем регулировать промежуток, изменяя $w, b$.
$\pm 1$, это от произвольно фиксированного $\delta = \pm 1$, потому что это удобный выбор.
Таким образом, мы определяем наши две параллельные разделяющие гиперплоскости как:
$$ w^Tx + b = \pm 1$$
Тогда промежуток – это расстояние между этими двумя параллельными гиперплоскостями. Смещение от начала координат до гиперплоскости есть $\frac{b}{\Vert w \Vert}$, и мы можем использовать этот факт, чтобы вычислить расстояние между нашими гиперплоскостями. Расстояние от начала координат до первой гиперплоскости составляет $\frac{b+1}{\Vert w \Vert}$, а до второй гиперплоскости $\frac{b-1}{\Vert w \Vert}$, поэтому расстояние между ними (так называемый промежуток $m$):
$$m = \frac{b+1}{\Vert w \Vert} – \frac{b-1}{\Vert w \Vert}$$
$$m = \frac{2}{\Vert w \Vert} $$
Таким образом, оптимальная гиперплоскость будет найдена путем максимизации $m$, т.е.
$$ \underset{w}{max}\frac{2}{\Vert w \Vert} = \underset{w}{min}\frac{1}{2}{\Vert w \Vert}$$
с условием ограничения $y_i(w^Tx_i + b) \ge 1$.
Теперь, если бы мы произвольно выбрали $\delta = \pi$ вместо 1, промежуток был бы $\frac{2\pi}{\Vert w \Vert}$, но это всего лишь изменение масштаба, и задача оптимизации идентична по форме.
Ответ или решение
Вопрос о том, почему в методе опорных векторов (SVM) для гиперплоскостей, расположенных на границах классов, используются значения +1 и -1, требует детального анализа. Эта тема важна для глубокого понимания алгоритма SVM и его математической основы. Давайте разберем несколько ключевых аспектов данного вопроса.
Общее представление о SVM
Метод опорных векторов предназначен для нахождения оптимальной гиперплоскости, которая разделяет два класса в многомерном пространстве. Основной целью SVM является максимизация расстояния (маржи) между гиперплоскостью принятия решений и ближайшими к ней данными (опорными векторами), что способствует снижению вероятности ошибки при классификации новых данных.
Определение горизонтальных гиперплоскостей
В SVM существуют три гиперплоскости:
- Основная гиперплоскость (линия решений) — это гиперплоскость, которая разделяет два класса и задается уравнением:
[ w^T x + b = 0 ] - Гиперплоскости для положительного класса задаются уравнением:
[ w^T x + b = 1 ] - Гиперплоскости для отрицательного класса задаются уравнением:
[ w^T x + b = -1 ]
Выбор +1 и -1 обусловлен несколькими факторами.
Удобство математической формализации
Использование значений +1 и -1 является математически удобным. Мы имеем дело с бинарными метками классов, где:
- ( y_i = 1 ) соответствует положительному классу,
- ( y_i = -1 ) соответствует отрицательному классу.
Это позволяет нам установить четкие условия для разделения классов:
- Если ( y_i = 1 ), тогда должно справедливо выполняться ( w^T x_i + b \ge 1 ).
- Если ( y_i = -1 ), тогда должно выполняться ( w^T x_i + b \le -1 ).
Эти условия обеспечивают правильное разделение данных и единую формулировку задачи.
Оптимизация маржи
Одним из ключевых элементов SVM является минимизация нормы вектора весов ( |w| ), что приводит к максимизации маржи между гиперплоскостями. Расстояние между параллельными гиперплоскостями, задаваемыми уравнениями ( w^T x + b = 1 ) и ( w^T x + b = -1 ), определяется следующим образом:
[
m = \frac{2}{|w|}
]
Максимизация маржи при заданных условиях (гиперплоскости +1 и -1) ведет к формулировке задачи оптимизации в виде:
[
\underset{w}{\text{max}} \frac{2}{|w|} = \underset{w}{\text{min}} \frac{1}{2} |w|
]
Это позволяет свести задачу к минимизации нормы (|w|), что является целевой функцией, которая удобна для анализа.
Заключение
Таким образом, выбор значений +1 и -1 для поддерживающих гиперплоскостей в SVM является не только математически обоснованным, но и удобным для алгоритмической реализации. Эти значения позволяют точно задавать условия разделения классов и упрощают формулировку задачи оптимизации. Понимание этого аспекта критически важно для изучения и применения SVM в практике машинного обучения.
Данная структура объяснения отвечает на задачу, подчеркивая ключевые свойства и плюсы такого выбора, что способствует более глубокому пониманию механизма работы методики SVM.