На самом деле существует множество вещей, которые вы можете оптимизировать, используя GA в отношении NN. Вы можете оптимизировать структуру (количество узлов, слоев, функцию активации и т. Д.). Вы также можете тренироваться с использованием GA, что означает настройку весов.
Генетические алгоритмы никогда не будут наиболее эффективными, но они обычно используются, когда у вас мало информации о том, какие числа использовать.
Для обучения можно использовать другие алгоритмы, в том числе, nelder-mead обратного распространения и т.д ..
Вы сказали, что вы хотите, чтобы оптимизировать число скрытых узлов, для этого, генетический алгоритм может быть достаточно, хотя и далеко от «оптимального». Пробел, который вы ищете, вероятно, слишком мал, чтобы использовать генетические алгоритмы, но они все еще могут работать и afaik, они уже реализованы в Matlab, так что не biggie.
Что вы подразумеваете под оптимизацией количества тренировок? Если вы имеете в виду количество эпох, то это прекрасно, просто помните, что обучение каким-то образом зависит от стартовых весов, и они обычно случайны, поэтому функция пригодности, используемая для GA, на самом деле не будет функцией.
спасибо. это точная информация, которую я искал. – ServAce85
Я хотел бы закодировать его на C/C++, а затем включить 1000 серверов Amazon EC2 в течение нескольких часов. –
В чем преимущество обучения ANN, использующего GA, с использованием только GP? У ANN есть то преимущество, что они имитируют мозг, и что они могут использовать методы для обновления весов умным способом, такие как backpropagation, чтобы сеть развивалась в правильном направлении (точно так же, как в мозге). Но когда вы используете GA для обновления весов, вы теряете все это, и мне кажется, что у вас нет каких-либо реальных преимуществ перед GP, так как теперь просто случайно, если сеть улучшится или нет. Каково ваше отношение к этому? – HelloGoodbye