0

Я пытаюсь начать работу с нейронной сетью и реализовать логические функции, такие как AND/OR. Вместо использования 0 и 1 в качестве двоичных входов они используют -1 и +1. Есть ли причина, по которой мы не можем использовать (0, 1)? В качестве примера: http://www.youtube.com/watch?v=Ih5Mr93E-2cПочему у нас есть -1 и +1 как двоичные входы вместо 0 и 1

+1

см. Здесь http://www.faqs.org/faqs/ai-faq/neural-nets/part2/, поиск 'Subject: Почему бы не ввести двоичные входы кода как 0 и 1? ' –

ответ

1

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

2

Если вы действительно имеете в виду входы, никаких ограничений на использование {-1,1}. Вы можете так же легко использовать {0,1} или любую другую пару действительных чисел (например, {6,42}), чтобы определить свои входные значения True/False.

Что может вас смущать в диаграммах, так это то, что {-1,1} используются как выходы нейронов. Причина этого, как заявила @Memming, связана с функцией активации, используемой для нейрона. Если для функции активации используется tanh, выход нейрона будет находиться в диапазоне (-1,1), тогда как если вы используете logistic function, его выход будет находиться в диапазоне (0,1). Либо будет работать для многослойного персептрона - вам просто нужно определить целевое значение (ожидаемый результат) соответственно.