Как правильно сформировать входные значения для НС. - страница 11

 
LeoV писал (а) >>

Входные значения - тоже вопрос не простой. Что подавать на вход сети зависит от многих факторов -

1. Какой тип нейросети используется.

2. Что мы хотим получить от нейросети - цену или направление движения или точки переворота или следующую свечу или ещё что-нибудь.

Поэтому нужно сначала определиться с этими вопросами, а потом решать вопрос со входами.

Предлагаю пока говорить только о двух сетях

1. Сеть Кохонена

2. MLP


Все остальное пока оставим на потом.
 

1. Нейросеть 4-5 слойная обычная (прямого распространения без колец, звезд и еще чего либо.).

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

Пока для меня (по моим понятиям) нейросеть остается аппроксиматором. А значит на самом деле я пытаюсь выразить функциональную зависимость между входными переменными и выходными. А отсюда и мои размышления по поводу входов. Они не должны быть слишком сложными и на выходе мы не должны хотеть слишком многого.То сеть попытаться увязать простое с простым. С выходами более менее понятно (направление, высота), а вот что на вход. Ломаю голову третий день. Очень расстраивает то, что я не могу придумать такую обработку входного сигнала, чтоб он всегда лежал в фиксированном промежутке. Ибо если мы нормализуем на максимум общей выборки, то всегда есть вероятность, что появиться в будущем более высокое значение, которого сеть знать не будет и что в таком случае произойдет я не знаю. Конечно есть варианты обработки входов типа синусами или той же сигмоидой, но это все мне кажеться неправильно, так как хотелось бы иметь линейное сжатие. 

Для выходного наверно буду использовать гиперболическую зависимость. (Up-Dn)/(Up+Dn). Индюк прилагается.

Файлы:
_target.mq4  2 kb
 
TheXpert писал (а) >>

Предлагаю пока говорить только о двух сетях

1. Сеть Кохонена

2. MLP


Что такое MLP -многослойный персептрон?

Кохонен это каращо. Но наверно за вторым разом. Хотя... было бы нормально понимание что и куда.

Кстати, Кохонен - это ведь обучение без учителя?

 
sergeev писал (а) >>

Что такое MLP -многослойный персептрон?

Да

Кстати, Кохонен - это ведь обучение без учителя?

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

 
Ну так что на счет входов. У кого какие сети и входы?
 
sergeev писал (а) >>

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

Лучше не стОит, хватит только направления. Если получится, силу можно поверх прикрутить.

Пока для меня (по моим понятиям) нейросеть остается аппроксиматором.

Угу, так и есть.

А значит на самом деле я пытаюсь выразить функциональную зависимость между входными переменными и выходными. А отсюда и мои размышления по поводу входов. Они не должны быть слишком сложными и на выходе мы не должны хотеть слишком многого.То сеть попытаться увязать простое с простым. С выходами более менее понятно (направление, высота), а вот что на вход. Ломаю голову третий день. Очень расстраивает то, что я не могу придумать такую обработку входного сигнала, чтоб он всегда лежал в фиксированном промежутке.

MACD

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

Здесь. Стоит задача не сжатия, а разделения, поэтому получится не линейное сжатие а линейное разделение, которое не сможет разделить даже XOR.

Поэтому нелинейность должна присутствовать. Есть теорема, согласно которой любой n-слойный линейный персептрон можно преобразовать в 2-слойный аналог -- вход -> выход.

Так что линейный персептрон -- в топку.

 
sergeev писал (а) >>
Ну так что на счет входов. У кого какие сети и входы?

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

 
TheXpert писал (а) >>

MACD

у него может быть обновление максимума. 

Здесь. Стоит задача не сжатия, а разделения, поэтому получится не линейное сжатие а линейное разделение, которое не сможет разделить даже XOR.

Поэтому нелинейность должна присутствовать. Есть теорема, согласно которой любой n-слойный линейный персептрон можно преобразовать в 2-слойный аналог -- вход -> выход.

Имеется ввиду не линейность выходных сигналов. А линейное сжатие входных данных перед подачей в сеть. Сжатие к промежутку [0, 1] на основании данных всех орбразцов. Если будет преобразование к диапазону некоторой нелинейной функцией, то получим для больших значений насыщение, между которыми не будет различия. А это значит, что появится повторяемость и следовательно противоречивость. Сжатие следует делать как-то линейно. Но как, так чтоб и в будущем оно оставалось максимальным. (моск шипит)? 

 
sergeev писал (а) >>

у него может быть обновление максимума.

Да, конечно, но по мне это хороший вариант.

Имеется ввиду не линейность выходных сигналов. А линейное сжатие входных данных перед подачей в сеть. Сжатие к промежутку [0, 1] на основании данных всех орбразцов.

А, понятно.

 
sergeev писал (а) >>

Если будет преобразование к диапазону некоторой нелинейной функцией, то получим для больших значений насыщение, между которыми не будет различия. А это значит, что появится повторяемость и следовательно противоречивость. Сжатие следует делать как-то линейно. Но как, так чтоб и в будущем оно оставалось максимальным. (моск шипит)?


Вот для этого и будем пользовать декорелляцию и иже с ними %)