Версия перцептрона

Вопрос или проблема

Если мы изменим условие $ywx<0$ (для выполнения обновления) на $ywx<1$, как в SVM (но без добавления регуляризации для максимизации отступа), будет ли какая-либо разница по сравнению с базовым персептроном (тот самый с вышеупомянутым условием $ywx<0$)?

Старый вопрос, но если кому-то все еще интересно…

В алгоритме персептрона точка $x$ имеет метку $y$, равную 1 или -1. Предсказанная метка для точки – это $w\cdot x$. Цель состоит в том, чтобы разделить точки гиперплоскостью, ортогональной вектору w таким образом, чтобы точки с меткой 1 оказались на одной стороне, а точки с меткой -1 – на другой. Математически, “стороны” гиперплоскости характеризуются уравнениями $w\cdot x>0$ и $w\cdot x<0$ соответственно. ($w\cdot x=0$ – это уравнение самой гиперплоскости).
Таким образом, точка $x$ правильно отмечена (находится на правильной стороне гиперплоскости, ортогональной $w$), если

  • $y=1$ и $w\cdot x>0$, или
  • $y=-1$ и $w\cdot x<0$

В обоих случаях правильно отмеченная точка соответствует $yw\cdot x > 0$, в то время как неправильно отмеченные точки соответствуют $yw\cdot x \leq 0$.

Весь алгоритм и доказательство его сходимости основаны на этом простом наблюдении.

Если мы изменим условие обновления на $yw\cdot x < 1$, алгоритм не сможет найти разделяющую гиперплоскость. Например, рассмотрим простой набор данных $x_1 = (2,0), y_1= 1$, $x_2 = (-2,1), y_2= -1$.

  • Начало: $w=(0, 0)$.
  • Шаг 1: $y_1w\cdot x_1 = 0 < 1$, следовательно, $w \leftarrow w + y_1x_1 = (2, 0)$
  • Шаг 2: $y_2w\cdot x_2 = 4 > 1$, не обновляем $w$.
  • Шаг 3: $y_1w\cdot x_1 = 4 > 1$, не обновляем $w$. Мы прошли все точки, не обновляя $w$, следовательно, выходим из цикла.
  • Результат: гиперплоскость, ортогональная вектору $w=(2, 0)$, – это ось y, которая явно не разделяет $x_1$ и $x_2$.

Кратко: Условия обновления, отличные от $yw\cdot x \leq 0$, не дают никаких гарантий нахождения разделяющей гиперплоскости.

.

Ответ или решение

Когда вы изменяете условие обновления в персептроне с $yw\cdot x < 0$ на $yw\cdot x < 1$, теоретическая структура и гарантии алгоритма претерпевают значительные изменения. Это изменение может показаться несущественным, но оно имеет серьёзные последствия для работы алгоритма персептрона, который, в отличие от метода опорных векторов (SVM), не использует регуляризацию для максимизации ширины разделяющей полосы. Персептрон - это простая модель машинного обучения, цель которой заключается в нахождении разделяющей гиперплоскости, способной подразделять различно маркерные точки на пространстве. В его оригинальной формулировке обновление весов происходит, когда точка неправильно классифицируется, то есть когда $yw\cdot x \leq 0$. При изменении этого условия на $yw\cdot x < 1$, обновление будет выполняться чаще, даже для правильно классифицированных точек, что потенциально приведет к состоянию, когда модель не сможет найти корректно разделяющую гиперплоскость. Рассмотрим пример: 1. Начало: $w = (0, 0)$. 2. Шаг 1: $y_1w \cdot x_1 = 0 < 1$, обновляем $w \leftarrow w + y_1x_1 = (2, 0)$. 3. Шаг 2: $y_2w \cdot x_2 = 4 > 1$, не обновляем $w$.
4. Шаг 3: $y_1w \cdot x_1 = 4 > 1$, не обновляем $w$. Все точки прошли проверку без обновления, завершаем цикл.

В результате, гиперплоскость, ортогональная $w=(2, 0)$, оказывается неподходящей для корректного разделения данных. Это показывает, что использование условия $yw\cdot x < 1$ может привести к тому, что алгоритм не сможет найти разделяющую гиперплоскость, обеспечивающую корректную классификацию. Таким образом, условие $yw\cdot x < 1$ лишает алгоритм гарантии сходимости к разделяющей гиперплоскости, что делает его практическое использование неоправданным при отсутствии дополнительных механизмов, таких как регуляризация в SVM. Это объяснение выделяет основные, но критические отличия, подчеркивая важность правильного выбора условий для обновления весов. Надеюсь, это способствует лучшему пониманию структурных различий между базовым персептроном и его модификацией, приближенной к методам, использующим концепцию софт-маржи.

Оцените материал
Добавить комментарий

Капча загружается...