Должен ли я добавлять смещение к искусственной нейронной сети, которая обучается генетическим алгоритмом

У меня есть ИНС, которая управляет искусственным травоядным. Входными данными являются величина и направление ближайшего растения, величина и направление ближайшего помощника и здоровье травоядного. Выходные данные представляют собой вектор движения (направление и величину). Нужно ли использовать смещение, если оно обучается генетическим алгоритмом?


person Conner Ruhl    schedule 20.01.2012    source источник
comment
зависит от того, как реализован генетический алгоритм и насколько сложна задача. У вас всегда должна быть некоторая предвзятость при выборе новой популяции и определении значения пригодности.   -  person Marek Sebera    schedule 20.01.2012
comment
Смещение в ИНС, а не в ГА.   -  person Conner Ruhl    schedule 20.01.2012
comment
ах, моя вина. нет, в таком случае я считаю, что это не нужно.   -  person Marek Sebera    schedule 20.01.2012
comment
я думаю, что смещение используется для того, чтобы привести выход нейрона в определенный диапазон, вы должны решить, нужно ли вам это. это не должно влиять на работу генетического алгоритма...   -  person yurib    schedule 20.01.2012


Ответы (2)


Смещение используется для смещения границы решения нейронной сети от начала координат. Для простого персептрона, выполняющего простую линейную классификацию, это равносильно перемещению линии, разделяющей два класса. (подумайте о c в простой линейной регрессии.

Генетические алгоритмы — лишь один из многих способов поиска оптимальных весов. Неважно, есть ли у вас предвзятость или нет, поскольку предвзятость — это всего лишь еще один вес!

Поэтому используйте предвзятость, это может ускорить обучение и позволяет сети изучать шаблоны, которые иначе невозможно было бы изучить!

Отредактируйте, чтобы ответить на ваш конкретный вопрос: нет необходимости использовать смещение как таковое, сеть может работать и без него, но поскольку его так легко реализовать и он улучшает вашу сеть, используйте его!

person Niclas    schedule 20.01.2012
comment
+1. Кроме того, подумайте об априорном классе в Наивном Байесе (которую можно рассматривать как линейную модель, и тогда априорный класс — это в точности член смещения в однослойном персептроне). - person Fred Foo; 20.01.2012

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

person Romaine Carter    schedule 20.01.2012
comment
Предвзятость позволяет вам решать проблемы, которые не являются линейно разделимыми — как это? Однослойный персептрон со смещением/перехватом по-прежнему является линейной моделью. - person Fred Foo; 20.01.2012
comment
Это правда, но нейрон смещения не повредит решению. - person Romaine Carter; 20.01.2012