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

Дневник разработчика торговой стратегии. Шаг 18. Оптимизируем процесс обучения нейросети.

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

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


И так, на прошлом шаге я решил применить некоторые идеи для того, что бы повысить точность прогноза, который делают нейросети. Почему на прошлом шаге была такая плохая точность? Во первых, был взят слишком маленький коэффициент обучения, из за этого обучение нейросети происходило за очень большое число итераций, и все равно Дельта оставалась довольно большой. Так что во первых, необходимо написать алгоритм регулирования коэффициента обучения. Об этом сказано в "Теория нейронных сетей. Урок 7. Характеристики обучения персептрона." А во вторых, сам принцип подачи котировок на входы нейросети надо сделать более универсальным. Например, подавать не котировки, а изменение котировок относительно самой крайней свечи. Это уменьшить сами "веса" входов нейронов. Например, если мы подаем на вход 40 свечей, с номерами от 101 до 40, то берем отклонения цен относительно свечи с номером 100.

Начнем с реализации второй идеи. Для этого нужно внести изменения в класс NeuroForecast: ...

...

...И вот что получилось в результате эксперимента:

Дневник разработчика торговой стратегии. Шаг 18. Оптимизируем процесс обучения.

...

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

Дневник разработчика торговой стратегии. Шаг 18. Оптимизируем процесс обучения.

Попробуем проверить, за сколько же итераций:

                if (delta < target_delta)

                {

                    MessageBox.Show(i.ToString());

                    return delta;

                }

Как оказалось, итераций тут 500000. Тоже много. Будем думать дальше, но это уже следующий шаг.

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