Программирование - это просто
Advertisement
Главная arrow Искусственный интеллект arrow Генетический алгоритм (платный раздел) arrow Генетический алгоритм. Урок 10. Немного философии и исследование поведения одного нейрона.
19.04.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Генетический алгоритм. Урок 10. Немного философии и исследование поведения одного нейрона. Печать E-mail
Автор megabax   
04.04.2014 г.
unit AIObj

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

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

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


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

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

...

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

...

        /// <summary>

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

        /// </summary>

        public StockNetIncomes stockIncomes;

...

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

...

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

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

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

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


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


Последнее обновление ( 15.04.2014 г. )
 
Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги