Обсуждение статьи "Нейросети - это просто" - страница 6

 

Познавательная статья.

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

 

Статья интересная! Благодарность автору!

Хотелось бы продолжения, с примером инициализации нейросети и ее обучением.

 

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

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

Поэтому правильный подбор входных  входных сигналов - это основа успеха при использовании НС в торговле. Даже архитектура НС при этом не так важна, как хорошие входные сигналы (можете покидать в меня камнями:) ).


P.S. Хотелось бы увидеть статью про использовании обучения с подкреплением.

Сам пытаюсь двигаться в этом напраdлении поэтому нуждаюсь в дополнительной информации от знающих людей.

 
Vitaliy davydov :

Unfortunately, the neural network is not a panacea. In the sense that if garbage is fed to its input, then garbage will be received at the output, how many do not train it and how many layers do not.

And I call garbage all indicators built into the trading terminal, and all the common methods of technical analysis that try to predict its future on the past price behavior.

Therefore, the correct selection of input input signals is the basis of success when using NS in trading. Even the architecture of the NS is not as important as good input signals (you can leave stones at me :)).


PS I would like to see an article about the use of reinforcement training.

I myself am trying to move in this direction, so I need additional information from knowledgeable people.

Me too. But I figured, the best way to understand and create my own reinforcement learning algorithm is bu first understanding how neural networks learn. 

PS: I create custom indicators based on pure price action and read my calculation results from EA. A good way of using two threads.✔✔

 
Dmitriy Gizlyk:

Техника "5 почему" построена на последовательных вопросах, когда каждый вопрос отвечает на причину предыдущего. К примеру, мы смотрим на график и растущий график цены и и строим вопросы (вопросы ответы даны абстрактно для разъяснения техники):
1. Куда торговать?  - Покупать
2. Почему покупать? - Потому-что растущий тренд
3. Почему растущий тренд? - МА50 растет
4. Почему МА50 растет? - средня цена закрытия 50 свечей со сдвигом 1 ниже средней цены закрытия 50 последних свечей.

и т.д.
Т.к. вопросы последовательны и имеют причинно-следственную связь, то создаем слои для соблюдения этой связи. Если мы используем только 2 слоя, то теряется причинно- следственная связь, нейросеть анализирует ряд независимых вариантов и выбирает лучший. 

Вот читаю и думаю: в этом, кажется, есть смысл.

Но смысла нет! Я делаю нейронную сеть с 1 слоем, и она выдает хороший результат. Я добавляю второй слой, и результат хуже.

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

И еще. Почему вы думаете, что покупка и продажа - это разные решения нейронной сети? Покупка и продажа - это одно и то же решение о покупке актива. Иначе получается совсем несуразица. Вы что же собираетесь подавать отрицательные значения осциллятора на входы, чтобы получить выход меньше нуля, и положительные значения, чтобы получить выход больше нуля? Но вообще-то, если осциллятор ниже нуля, это зона перепроданности, и надо-таки покупать, а не продавать.

Короче, подумайте о результате, и дело сразу пойдет в другом направлении. Бедный, бедный Розенблат...

 
Evgeniy Scherbina:

Вот читаю и думаю: в этом, кажется, есть смысл.

Но смысла нет! Я делаю нейронную сеть с 1 слоем, и она выдает хороший результат. Я добавляю второй слой, и результат хуже.

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

И еще. Почему вы думаете, что покупка и продажа - это разные решения нейронной сети? Покупка и продажа - это одно и то же решение о покупке актива. Иначе получается совсем несуразица. Вы что же собираетесь подавать отрицательные значения осциллятора на входы, чтобы получить выход меньше нуля, и положительные значения, чтобы получить выход больше нуля? Но вообще-то, если осциллятор ниже нуля, это зона перепроданности, и надо-таки покупать, а не продавать.

Короче, подумайте о результате, и дело сразу пойдет в другом направлении. Бедный, бедный Розенблат...

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

 
Aleksey Mavrin:

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

Подскажите, вы опирались на какие-то другие работы, где использовались такие основания для выбора кол-ва слоев? Или это ваше ноу-хау?

з.ы. Работа хорошая, спасибо.

а на это можете ответить?

 
Aleksey Mavrin:

а на это можете ответить?

Метод 5-почему дан образно. Количество слоев, зачастую, подбирается экспериментальным путем. В литературе упоминается, что сети с одним скрытым слоям применяются для задач, в которых объекты можно поделить на 2 части линейно. Рост количества слоев позволяет решать более сложные задачи.

 
Кто-нибудь может подсказать, зачем применяется в статье такой код?:
" if(!CheckPointer(neuron)!=POINTER_INVALID) "
по моему лишние восклицательные знаки
Наверно проще так записывать:
if(CheckPointer(neuron)==POINTER_INVALID)
return false;
Причина обращения: