Советники на нейросетях, делимся опытом. - страница 3

 
Maxim Dmitrievsky:

Никто не надоумил, мне прост показалось это интересным )

То, что это интересно, никто не спорит!

Но нельзя перепрыгивать в обучении специальности через несколько ступенек - толку от этого не будет...

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

 
Serqey Nikitin:

То, что это интересно, никто не спорит!

Но нельзя перепрыгивать в обучении специальности через несколько ступенек - толку от этого не будет...

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

Я не спорю про идею, конечно она нужна. Но нейросеть также поможет быстро проверить идею, или хотя бы найти пути куда можно двигаться. Я, например, уже вижу что 11 входов стандарных осцилляторов, которые все показывают +- одно и то же, ничего не дает. Точно так же она может торговать и с одним входом.

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

 
Алексей:

Сейчас поищу свой топик про нейросеть.... На четверке было и давно.

  

http://forum.mql4.com/ru/38550

 

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

Сети все получены перебором архитектур.

Самая главная проблема была склейка нескольких форвард-тестов. Это вообще надо автоматизировать по-хорошему. 

Из всего этого я понял, что самое важное - это правильные входы, надо над этим подумать.. Какую-то скрытую зависимость довольно сложно найти нейросетью, необходимо изначально иметь представление о какой-то зависимости, а затем обрабатывать сеткой.
 
Maxim Dmitrievsky:
Из всего этого я понял, что самое важное - это правильные входы, надо над этим подумать.. Какую-то скрытую зависимость довольно сложно найти нейросетью, необходимо изначально иметь представление о какой-то зависимости, а затем обрабатывать сеткой.

Про входы - да. Но дело тут в том, что на вскидку не получится составить набор "хороших" входов. Как их узнать? Надо сделать много входов, затем сделать процедуру отбора информативного вектора входов. А уже на нем обучать сеть. Причем если вы найдете информативные входы (90% дела), то сеть и вовсе становится не нужна, так как модел можно построить на правило-образующем алгоритме каком-нибудь, а не тыркать черный ящик.

 

Про зависимость. Сеть не даст никакого понимания формы зависимости. Не для этого она в первую очередь предназначена. И снова возвращаемся к предыдущему пункту: надобно подыскать информативные признаки и из них построить статистически значимые правила.

Если хотите расшифровок, могу еще рассказать ) Правда на службе сейчас и не могу много времени потратить на объяснения, но хорошо, что тяпница сегодня. )) 

 
Алексей:

Про входы - да. Но дело тут в том, что на вскидку не получится составить набор "хороших" входов. Как их узнать? Надо сделать много входов, затем сделать процедуру отбора информативного вектора входов. А уже на нем обучать сеть. Причем если вы найдете информативные входы (90% дела), то сеть и вовсе становится не нужна, так как модел можно построить на правило-образующем алгоритме каком-нибудь, а не тыркать черный ящик.

 

Про зависимость. Сеть не даст никакого понимания формы зависимости. Не для этого она в первую очередь предназначена. И снова возвращаемся к предыдущему пункту: надобно подыскать информативные признаки и из них построить статистически значимые правила.

Если хотите расшифровок, могу еще рассказать ) Правда на службе сейчас и не могу много времени потратить на объяснения, но хорошо, что тяпница сегодня. )) 

Вообще, у меня идея изначально такая была: обучить сети на разных тф, затем сигналы с мелких тф фильтровать крупными, т.е. получить статистическое преимущество на этом, при учете того, что сетки будут выдавать какой-то процент неправильных входов, допустим, 50 на 50. Сами по себе нейросети подразумевают обработку большого количества данных, в этом их преимущество, поэтому можно идти не от каких-то конкретных качественных закономерностей, а размазать большое количество сигналов по тарелке.  И не важно что там творится внутри, важно что нейросеть будет пытаться упорядочить всё это. Но без OpenCl этого сделать не получится, сильно долго. И, наврено, здесь нужны сети третьего поколения, как описано в статье.

А вообще конечно, интересны ваши комментарии. Попробую пока повозиться с предложенным ранее индикатором. В паре с зигзагом (2 выхода), выдает что-то невнятное. Уменьшу кол-во входов и на выходе оставлю только его.  

 
Maxim Dmitrievsky:
А я не слышал, что бы кто-то на мувингах стабильно зарабатывал )
"Чисто на мувингах", действительно, сейчас врядли можно что-то получить. Но, как фильтр сигналов мувигни вполне себе подходят.
 
Serqey Nikitin:

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

Хм... А по-моему, паттерны - это самый быстрый вход. Любые осцилляторы - медленнее. А уж мувинги - и подавно.
 
Maxim Dmitrievsky:

Вообще, у меня идея изначально такая была: обучить сети на разных тф, затем сигналы с мелких тф фильтровать крупными, т.е. получить статистическое преимущество на этом, при учете того, что сетки будут выдавать какой-то процент неправильных входов, допустим, 50 на 50. Сами по себе нейросети подразумевают обработку большого количества данных, в этом их преимущество, поэтому можно идти не от каких-то конкретных качественных закономерностей, а размазать большое количество сигналов по тарелке.  И не важно что там творится внутри, важно что нейросеть будет пытаться упорядочить всё это. Но без OpenCl этого сделать не получится, сильно долго. И, наврено, здесь нужны сети третьего поколения, как описано в статье.

А вообще конечно, интересны ваши комментарии. Попробую пока повозиться с предложенным ранее индикатором. В паре с зигзагом (2 выхода), выдает что-то невнятное. Уменьшу кол-во входов и на выходе оставлю только его.  

Почитайте про отбор информативным признаков или фичей. Сеть кормить непонятно чем это не лучший подход.

Привожу пример:

Я на работе разработал модельку бинарный классификатор на 10 дискретных переменных на входе. Их отобрал хитрым способом из 76 фичей. Предсказание т.н. мажоритарное - если доля единичек сильно перевесила, то единичка. Качество классификатора оказалось не хуже, чем случайный лес из 150 деревьев, использующих весь мой вектор признаков из 76 переменных! Причём в простой модели конструируются человеко-читаемые правила, а лес он и есть тёмный ящик.

 

Кстати, обычный многослойный перцептрон можно использовать для отбора фичей путем анализа весов на обученной сети. Вы наверное в курсе, что сеть хуже обучается на скоррелированных входах, на парах вход-выход, которые противоречат друг другу. Вот чтобы отсеять плохие входы надо их просеять.

 
Алексей:
Почитайте про отбор информативным признаков или фичей. Сеть кормить непонятно чем это не лучший подход.

Привожу пример:

Я на работе разработал модельку бинарный классификатор на 10 дискретных переменных на входе. Их отобрал хитрым способом из 76 фичей. Предсказание т.н. мажоритарное - если доля единичек сильно перевесила, то единичка. Качество классификатора оказалось не хуже, чем случайный лес из 150 деревьев, использующих весь мой вектор признаков из 76 переменных! Причём в простой модели конструируются человеко-читаемые правила, а лес он и есть тёмный ящик.

 

Кстати, обычный многослойный перцептрон можно использовать для отбора фичей путем анализа весов на обученной сети. Вы наверное в курсе, что сеть хуже обучается на скоррелированных входах, на парах вход-выход, которые противоречат друг другу. Вот чтобы отсеять плохие входы надо их просеять.

Да, это, кажется, называется проклятием размерности :) На самом деле, в моем случае, куча одинаковых осцилляторов на входе, всё это надо убрать и оставить один.

Еще вопрос - при нормализации данных для входов, лучше нормализовать все вектора одновременно, одним циклом, с учетом макс и мин значений из всей совокупности, или же нормализовать для каждого входа отдельно, с учетом макс и мин каждого конкретного вектора? 

 
Serqey Nikitin:

То, что это интересно, никто не спорит!

Но нельзя перепрыгивать в обучении специальности через несколько ступенек - толку от этого не будет...

Нейро сеть, сама по себе, не даст "правильный выход" - это не волшебная палочка. 

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

Даст. Волшебная. Надо уметь данные на вход готовить.

Тогда нейронка не нужна.