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

Генетический алгоритм. Урок 8. Обучение биржевой нейросети на искусственных котировках.

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

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


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

 

...

 

...Сформированный файл мы может открыть в экселе и построить диаграмму, что бы убедиться в том, что у нас действительно сформировалась синусоида*:

Генетический алгоритм. Урок 8. Обучение биржевой нейросети на искусственных котировках.

 

Но в итоге получается тоже самое, что и на прошлом уроке: нейросеть совершает всего одну сделку. Более того, если задать 100 итераций, то мы получаем все виды с одинаковой целевой функцией:

 

Генетический алгоритм. Урок 8. Обучение биржевой нейросети на искусственных котировках.

 

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

 

Как мы это будем делать? Разумеется, в метод TestChromosomes класса Species  зададим условие проверки хромосом, с сами значения минимума и максимума зададим в классе Population:

 

       /// <summary>

       /// Класс популяции. Все виды размножаются и живут в популяции

       /// </summary>

       public class Population

       {

        /// <summary>

        /// Минимальное значение коэффициента

        /// </summary>

        public double min=0.0001;

 

        /// <summary>

        /// Максимальное значение коэффициента

        /// </summary>

        public double max = 10000;

...

...

...

 

в методе TestChromosomes   у нас будет вызываться метод valid класса NeuralNet, в которой

 

...

 

Теперь запускаем обучение на тестирование. Что получилось? В принципе, тоже самое, хотя коэффициенты теперь стали вменяемые:

 

Генетический алгоритм. Урок 8. Обучение биржевой нейросети на искусственных котировках.

 

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

 


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


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