.
Генетический алгоритм. Урок 10. Немного философии и исследование поведения одного нейрона.
Автор megabax   
04.04.2014 г.
unit AIObj

Генетический алгоритм. Урок 10. Немного философии и исследование поведения одного нейрона.

Что бы смотреть урок полностью, подпишитесь на платный раздел.

В платном разделе статья находиться здесь.


Прежде чем приступить к дальнейшим экспериментам, давайте немножко подумаем. Почему же прошлая попытка не увенчалась успехом? Давайте проведем аналогию с эволюцией жизни на земле. И так, сначала возникла одноклеточные, они развивались, появились примитивные колонии простейших. Эти сгустки биомассы постепенно эволюционировали до примитивных многоклеточных организмом. Потом пошли моллюски, насекомые, рыбы, рептилии. После возникли млекопитающие, приматы, и, наконец, человек.  Иными словами, живые организмы эволюционировали от простого к сложному. в нашем же случае получилось так, что мы сразу создали сложную особь (многонейронную сеть), и попытались методом случайных мутаций получить из нее нечто работающее. Естественно, ничего не получилось. Начинать надо с простейших.

Тоесть, нам надо начать с однослойных однонейронных сетей, которые будут эволюционировать, и может быть, станут многослойными сетями. Как все это будет происходить? Разумеется, необходимо предусмотреть, что бы в ходе мутации количество слоев и нейронов в слое могли меняться. Как этого достичь, вроде понятно. Вопрос в другом. Как нейросети разных размеров будут скрещиваться? Есть одна идея. ...

...

... Теперь займемся самой нейросетью. В классе NeuralNet добавляем новое поле:

...

        /// <summary>

        /// Вход для получения данных с биржи

        /// </summary>

        public StockNetIncomes stockIncomes;

...

Переделываем конструктор на основании другой нейросети...

...

...Тестируем:

Генетический алгоритм. Урок 10. Немного философии и исследование поведение одного нейрона.

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

Но это еще не все. Дело в том что периодически появляется странный плавающий глюк: исчезает лучшая особь: "Королева". Мутировать она не мутирует, алгоритм это исключает. Значит, дело в другом. В общем, чувствую, поиск этого глюка тема достаточно большая, как раз на следующий урок, вам же тоже пригодиться умение и опыт по отлавливанию глюков, не правда ли? Так что оставайтесь с нами, до новых встреч.


Скриншоты, помеченные знаком *, являются цитатами и иллюстрациями  программного продукта "Microsoft Visual Studio 2010 Professional", авторское право на который принадлежит корпорации Microsoft.. 


Последнее обновление ( 15.04.2014 г. )