Скачать MetaTrader 5

Обсуждение статьи "Третье поколение нейросетей: "Глубокие нейросети""

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Есть вопросы? Задай их на форуме - трейдеры помогут!
MetaQuotes Software Corp.
Модератор
181144
MetaQuotes Software Corp. 2014.11.27 10:37 

Опубликована статья Третье поколение нейросетей: "Глубокие нейросети":

Статья посвящена новому и очень перспективному направлению в машинном обучении — так называемому "глубокому обучению" и конкретней "глубоким нейросетям". Сделан краткий обзор нейросетей 2 поколения, их архитектуры связей и основных видов, методов и правил обучения и их основных недостатков. Далее рассмотрена история появления и развития нейросетей 3 поколения, их основные виды, особенности и методы обучения. Проведены практические эксперименты по построению и обучению на реальных данных глубокой нейросети, инициируемой весами накапливающего автоэнкодера. Рассмотрены все этапы от выбора исходных данных до получения метрик. В последней части статьи приведена программная реализация глубокой нейросети в виде индикатора-эксперта на MQL4/R.

В статье будут рассмотрены основные понятия по теме "Глубокое обучение" (Deep Learning), "Глубокие нейросети" (Deep Network) без сложных математических выкладок, как говорят, "на пальцах".

Будут проведены эксперименты с реальными данными подтверждающие (или нет) теоретические преимущества "глубоких сетей" перед "мелкими" путем определения и сравнения метрик. Решаемая задача — классификация. Мы создадим индикатор и эксперт, использующие модель глубокой сети и работающих в связке по схеме клиент-сервер и проведем их тестирование.

Предполагается, что читатели знакомы с основными понятиями по теме "Нейросети". Поскольку терминология по теме глубокое обучение на русском языке не установилась, будут приводиться, в необходимых случаях, термины на английском.


4. Программная реализация (индикатор и эксперт)

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

Возможна реализация в двух вариантах:

  • Первый. Всю работу по обучению нейросети проводим в Rstudio врукопашную. После получения приемлемых результатов сохраняем нейросеть в соответствующем каталоге. Затем запускаем эксперт и индикатор на графике. Эксперт загружает обученную сеть. Индикатор на каждом новом баре готовит вектор новых входных данных и передает их эксперту. Эксперт предъявляет данные нейросети, получает сигнал и далее его выполняет. Эксперт занимается своими обычными обязанностями (открыть, закрыть, тралить, ММ и т.п.). Задача индикатора подготовить и передать эксперту новые входные данные на каждом новом баре и, что более важно, выводить на график сигналы, полученные от нейросети при предсказании. Визуальный контроль, как показала практика, наиболее эффективный способ оценки работы нейросети.
  • Второй. Запускаем на графике эксперт и индикатор. При первом запуске индикатор передает эксперту подготовленный большой набор входных и выходных данных. Эксперт запускает обучение, тестирование и выбор лучшей нейросети. После этого работа продолжается по первому варианту.

Мы построим связку индикатор-эксперт по первому варианту. Эксперт с минимумом "рюшечек".

Предваряя вопрос — почему так сложно? Такой вариант исполнения дает возможность подключать к одному эксперту несколько индикаторов, расположенных на разных символах/таймфреймах, и, соответственно, работать на них. Для этого нужно будет сделать небольшую модернизацию эксперта. Но об этом позже.

Ниже представлена схема взаимодействия индикатора и эксперта:

Рис. 31. Структурная схема взаимодействия индикатора и эксперта

Рис. 31. Структурная схема взаимодействия индикатора и эксперта

Автор: Vladimir Perervenko

123
402
123 2014.11.27 11:40  

Спасибо за статью. "Простыню" разом не осилить.

 

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

Vladimir Perervenko
2320
Vladimir Perervenko 2014.11.27 11:47  
zaskok:

Спасибо за статью. "Простыню" разом не осилить.

 

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

Вопрос не понял. О чем это Вы?
СанСаныч Фоменко
6131
СанСаныч Фоменко 2014.11.27 12:19  
vlad1949:
Вопрос не понял. О чем это Вы?

ПОЗДРАВЛЯЮ! 

Очень содержательная и качественная статья! 

Vladimir Perervenko
2320
Vladimir Perervenko 2014.11.27 12:34  
faa1947:

ПОЗДРАВЛЯЮ! 

Очень содержательная и качественная статья! 

Приветствую. 

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

Закончу расчет и выложу

Успехов 

123
402
123 2014.11.27 12:38  
vlad1949:
Вопрос не понял. О чем это Вы?
Об этом.
СанСаныч Фоменко
6131
СанСаныч Фоменко 2014.11.27 12:56  
vlad1949:

Приветствую. 

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

Закончу расчет и выложу

Успехов 

Очень интересно. Хотелось бы сравнить варианты. Попробовал разобраться в кластеризации - просто караул сколько инструментов.
Yury Reshetov
13460
Yury Reshetov 2014.11.27 13:21  

vlad1949:


...

  1. Индикатор i_SAE.mq4, положить в папку ~/MQL4/Indicators/
  2. Эксперт e_SAE.mq4, положить в папку ~/MQL4/Experts/
  3. Библиотека mt4Rb7.dll, положить в папку ~/MQL4/Libraries/.
  4. Заголовочный файл mt4Rb7.mqh, положить в папку ~/MQL4/Include/. Библиотеку и заголовочный файл разработал и предоставил добрый человек Bernd Kreuss. В наименовании я добавил индекс последнего изменения (b7). При наличии многих версий (как у меня) с одинаковыми именами случаются казусы, которые отнимают море времени на их отлов.

...

Непонятно, зачем в категории "Статьи по программированию на языке MQL5" публиковать разработки на MQL4?
Vladimir Perervenko
2320
Vladimir Perervenko 2014.11.27 13:39  
Reshetov:
Непонятно, зачем в категории "Статьи по программированию на языке MQL5" публиковать разработки на MQL4?

Вопрос не ко мне. Это всё что Вы хотели сказать о статье??

Удивлен.

Удачи 

Vladimir Perervenko
2320
Vladimir Perervenko 2014.11.27 13:44  
faa1947:
Очень интересно. Хотелось бы сравнить варианты. Попробовал разобраться в кластеризации - просто караул сколько инструментов.

Это так. Но здесь важно не столько сама кластеризация как определение оптимального количества кластеров на которые можно(нужно) разделить наш набор. 

Много писанины. Может завтра закончу.

Успехов 

123
402
123 2014.11.27 13:53  
zaskok:
Об этом.
Прошу автора сделать великолепную подгонку под выбранный им кусок истории и показать MQL-исходник (без DLL) советника. Чтобы можно было оценить суть НС по потрохам, а не только словам.
12345678...10
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий