Подтвердить что ты не робот

Почему вектор веса ортогонален плоскости решения в нейронных сетях

Я новичок в нейронных сетях. Я узнаю о персептронах. Мой вопрос: почему весовой вектор перпендикулярен границе решения (гиперплоскость)? Я упомянул много книг, но все упоминают, что вектор веса перпендикулярен границе решения, но никто не говорит, почему?

Может ли кто-нибудь дать мне объяснение или ссылку на книгу?

4b9b3361

Ответ 1

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

w1*x1 + w2*x2 + ... + wN*xN - w0 = 0

Вы также можете думать об этом как о точечном продукте:

w*x - w0 = 0

где w и x - оба вектора длины-N. Это уравнение справедливо для всех точек на плоскости. Напомним, что мы можем умножить указанное выше уравнение на константу и оно все еще выполняется, поэтому мы можем определить такие константы, что вектор w имеет единичную длину. Теперь выньте лист бумаги и нарисуйте оси x-y (x1 и x2 в приведенных выше уравнениях). Затем нарисуйте линию (плоскость в 2D) где-нибудь около начала координат. w0 - просто перпендикулярное расстояние от начала координат до плоскости, а w - единичный вектор, который указывает на начало координат вдоль этого перпендикуляра. Если вы теперь нарисуете вектор от начала координат до любой точки на плоскости, то точечный продукт этого вектора с единичным вектором w всегда будет равен w0, так что вышеприведенное уравнение верно? Это просто геометрическое определение плоскости: единичный вектор, определяющий перпендикуляр к плоскости (w) и расстояние (w0) от начала координат до плоскости.

Теперь наш нейрон просто представляет ту же самую плоскость, как описано выше, но мы просто описываем переменные несколько иначе. Мы будем называть компоненты x нашими "входами", компонентами w наших "весов", и мы будем называть расстояние w0 смещением. Это все, что нужно.

Получив немного больше, чем ваш реальный вопрос, мы не очень-то заботимся о точках самолета. Мы действительно хотим знать, на какой стороне плоскости падает точка. Пока w*x - w0 ровно равен нулю на плоскости, он будет иметь положительные значения для точек на одной стороне плоскости и отрицательные значения для точек с другой стороны. То, что происходит при активации функции активации нейронов, но не выходя за рамки вашего фактического вопроса.

Ответ 2

Интуитивно, в двоичной задаче весовой вектор указывает в направлении "1'-класса, а" 0 "-класс найдется при указании от весового вектора. Следовательно, граница решения должна быть проведена перпендикулярно к весовому вектору.

См. изображение для упрощенного примера: у вас есть нейронная сеть с одним входом, который, таким образом, имеет 1 вес. Если вес -1 (синий вектор), то все отрицательные входы станут положительными, поэтому весь отрицательный спектр будет присвоен классу "1", а положительный спектр будет "0". Таким образом, граница решения в плоскости с двумя осями является вертикальной линией через начало координат (красная линия). Проще говоря, это линия, перпендикулярная весовому вектору.

Давайте рассмотрим этот пример с несколькими значениями. Выход персептрона - это класс 1, если сумма всех inputs * weights больше 0 (порог по умолчанию), в противном случае, если выход меньше порога 0, тогда класс равен 0. Ваш ввод имеет значение 1. вес, применяемый к этому одиночному входу, равен -1, поэтому 1 * -1 = -1, который меньше 0. Таким образом, ввод присваивается классу 0 (ПРИМЕЧАНИЕ: класс 0 и класс 1 могут быть просто вызваны классом A или классом B, не путайте их с входными и весовыми значениями). И наоборот, если входной сигнал равен -1, то input * weight равен -1 * -1 = 1, который больше 0, поэтому ввод назначается классу 1. Если вы попробуете каждое входное значение, вы увидите, что все отрицательные значения в этом например, имеют выход больше 0, поэтому все они относятся к классу 1. Все положительные значения будут иметь выходной результат меньше 0 и поэтому будут классифицированы как класс 0. Нарисуйте линию, которая отделяет все положительные и отрицательные входные значения ( красная линия), и вы увидите, что эта линия перпендикулярна вектору веса.

Также обратите внимание, что весовой вектор используется только для модификации входов для соответствия желаемому результату. Что произойдет без весового вектора? Вход 1, приведет к выходу 1, который больше порога 0, поэтому класс равен "1".

image

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

Ответ 3

Хотя вопрос был задан 2 года назад, я думаю, что у многих учеников будут те же сомнения. Я дошел до этого ответа, потому что задал тот же вопрос.

Теперь просто подумайте о X, Y (декартова система координат - это система координат, которая однозначно определяет каждую точку в плоскости парой числовых координат, которые являются знаковыми расстояниями от точки до двух фиксированных перпендикулярно направленных линий [ из Википедии].

Если Y = 3X, в геометрии Y перпендикулярно X, то пусть w = 3, то Y = wX, w = Y/X, и если мы хотим нарисовать соотношение между X, w, мы будем иметь две перпендикулярные линии так же, как когда мы рисуем связь между X, Y. Поэтому всегда думайте о w-коэффициенте перпендикулярно X и Y.