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

Тесты торговых стратегий на C#. Урок 28. ГА. Кодирование нейросети в ген.

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

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

Исходники к уроку можно скачать в платном разделе.


На прошлом уроке мы внесли в программу тестирования стратегий кое какие доработки. А сегодня я расскажу о том, как реализовал в программе кодирование нейросети в геном. И так, каждый элемент нейросети кодируется собственной генетической командой, которая является экземпляром класса предка  от GeneticCommand. См. урок Тесты торговых стратегий на C#. Урок 14. Разработка генетического алгоритма.

Генетический аппарат устроен следующим образом: генетические команды группируются в ген, гены - в хромосомы, а хромосомы в геном. Таким образом, что бы развернуть геном в нейросеть, необходимо обойти все хромосомы в геноме и развернуть каждую из них. За это отвечает метод  create_from_genom класса StrategyNeuralNet:

        /// <summary>

        /// Создать из генома

        /// </summary>

        /// <param name="genom">Геном</param>

        /// <returns>true - создано, false - не создано</returns>

        public bool create_from_genom(Genom genom)

        {

            net = null;

            foreach (Chromosome chromosome in genom.chromosomes)

            {

                if(!create_from_chromosome(chromosome)) return false;

            }

            return true;

        }

 

Что бы развернуть хромосому, необходимо обойти все гены хромосомы...

...

Геном такой нейросети состоит из одной хромосомы, в которую входит два гена:

Тесты торговых стратегий на C#. Урок 28. ГА. Кодирование нейросети в ген.

Первый ген состоит всего из одной команды, этот ген может мутировать только в пределах параметров команд, добавление и удаление генетических команд при мутации у него отключено.:

Тесты торговых стратегий на C#. Урок 28. ГА. Кодирование нейросети в ген.

А вот другой ген, в котором есть команды создание слоя и нейрона, мутации удлинения и укорочения гена включены:

Тесты торговых стратегий на C#. Урок 28. ГА. Кодирование нейросети в ген.

Это нужно потому что команда создания нейросети обязательно должна присутствовать в геноме и обязательно стоять первой. Хотя, в принципе, все можно запихнуть в один ген, что я дела, когда тестировал разворот в стратегию генома для многослойно нейрости:

Тесты торговых стратегий на C#. Урок 28. ГА. Кодирование нейросети в ген.

 

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