Геометрическое представление перцептронов (искусственные нейронные сети) - программирование
Подтвердить что ты не робот

Геометрическое представление перцептронов (искусственные нейронные сети)

Я беру этот курс по нейронным сетям в Курсере Джеффри Хинтоном (не текущий).

У меня есть очень основное сомнение в весовых пространствах. https://d396qusza40orc.cloudfront.net/neuralnets/lecture_slides%2Flec2.pdf Page 18. enter image description here

Если у меня есть вектор веса (смещение равно 0) как [w1 = 1, w2 = 2] и учебный случай как {1,2, -1} и {2,1,1} где я предполагаю, что {1,2} и {2,1} - входные векторы. Как это можно представить геометрически?

Я не могу его визуализировать? Почему учебный корпус дает плоскость, которая разделяет весовое пространство на 2? Может ли кто-нибудь объяснить это в координатных осях трех измерений?

Ниже приведен текст из ppt:

1. Весовое пространство имеет один размер на вес.

2. Точка в пространстве имеет конкретную настройку для всех весов.

3. Утверждая, что мы устранили порог, каждая гиперплоскость может быть представлена ​​в виде гиперплоскости через начало координат.

Мое сомнение находится в третьем пункте выше. Пожалуйста, помогите мне понять.

4b9b3361

Ответ 1

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

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

Возьмем простейший случай, когда вы берете входной вектор длины 2, у вас есть вектор веса размера 2x1, который подразумевает выходной вектор длины один (эффективно скаляр)

В этом случае довольно легко представить, что у вас есть что-то вроде формы:

input = [x, y]
weight = [a, b]
output = ax + by

Если мы предположим, что weight = [1, 3], мы можем видеть и, надеюсь, предполагать, что ответ нашего персептрона будет примерно таким: enter image description here

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

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

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

Поскольку на самом деле создание гиперплоскости требует либо исправления ввода, либо вывода, вы можете подумать о том, чтобы дать перцептрону одно значение обучения как создание "фиксированного" значения [x,y]. Это можно использовать для создания гиперплоскости. К сожалению, это не может быть эффективно визуализировано, поскольку в браузере в действительности невозможны 4-D чертежи.

Надеюсь, что это прояснит ситуацию, дайте мне знать, если у вас есть дополнительные вопросы.

Ответ 2

"граница решения" для односекундного персептрона представляет собой плоскость (гиперплоскость)

plane

где n в изображении находится weight vector w, в вашем случае w={w1=1,w2=2}=(1,2) и направление указывает, какая сторона является правой стороной. n является ортогональным (90 градусов) к плоскости)

Плоскость всегда разбивает пространство на 2 естественным образом (протягивайте плоскость до бесконечности в каждом направлении)

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

Порекомендуйте вам прочитать линейную алгебру, чтобы лучше понять ее: https://www.khanacademy.org/math/linear-algebra/vectors_and_spaces

Ответ 3

Для персептрона с 1 входным и 1 выходным уровнями может быть только 1 ЛИНЕЙНАЯ гиперплоскость. И поскольку нет bias, гиперплоскость не сможет сдвинуться по оси и поэтому всегда будет иметь одинаковую точку начала. Однако, если есть предвзятость, они могут больше не использовать одну и ту же точку.

Ответ 4

Я столкнулся с этим вопросом о SO при подготовке большой статьи о линейных комбинациях (это на русском языке, https://habrahabr.ru/post/324736/). В нем есть раздел о весовом пространстве, и я хотел бы поделиться с ним некоторыми мыслями.

Возьмем простой случай линейно разделяемого набора данных с двумя классами: красный и зеленый:

введите описание изображения здесь

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

w ^ T * x + b = 0

Но мы можем переписать его наоборот, сделав x компоненту векторным коэффициентом и w векторной переменной:

x ^ T * w + b = 0

поскольку точечный продукт является симметричным. Теперь его можно было бы визуализировать в весовом пространстве следующим образом:

введите описание изображения здесь

где красная и зеленая линии являются образцами, а синяя - весом.

Более возможные веса ограничены областью ниже (показано пурпурной):

введите описание изображения здесь

который можно было бы визуализировать в dataspace X как:

введите описание изображения здесь

Надеемся, что он немного уточнит соотношение dataspace/weightspace. Не стесняйтесь задавать вопросы, будем рады объяснить более подробно.

Ответ 5

Я думаю, причина, по которой учебный случай может быть представлен как гиперплоскость, потому что... Пусть говорят [j, k] - весовой вектор и [m, n] - ввод-вывод

training-output = jm + kn

Учитывая, что учебный случай в этой перспективе фиксирован и веса меняются, вход обучения (m, n) становится коэффициентом, а веса (j, k) становятся переменными. Как и в любом учебнике, где z = ax + by - плоскость, training-output = jm + kn также является плоскостью, определяемой обучающим выходом, m и n.