Использование Нейронных сетей в трейдинге. - страница 3

 
StatBars писал(а) >>

На рисунках не нормализованные данные и к тому же с разных данных, я просто пример привёл того что делал(как это выглядит в результате)

А вот скрипт, можете с помощью него и посмотреть что получается на выходе(только к входным данным чур не придераться жтот скрипт делал просто для примера...)

//Тип 0 - линейная нормализация, 1 - нелинейная

StatBars, да я же без претензий!

Ну, работает - и хорошо. Я хочу лишь уточнить, что процедура нормализации не равносильна выравниванию распределения и тут нужен сравнительно более сложный подход. Зато, мы имеем на выходе входную величину в конечном диапазоне +/-1 и в виде полочки - пальчики оближешь. Ещё, как следует выбелишь входа и чувствуешь, просто эстетическое наслаждение.

 
Neutron писал(а) >>

StatBars, да я же без претензий!

Ну, работает - и хорошо. Я хочу лишь уточнить, что процедура нормализации не равносильна выравниванию распределения и тут нужен сравнительно более сложный подход. Зато, мы имеем на выходе входную величину в конечном диапазоне +/-1 и в виде полочки - пальчики оближешь. Ещё, как следует выбелишь входа и чувствуешь, просто эстетическое наслождение.

)))

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

И всё таки, вот файл с простой нормализацией и выравниванием частоты, не самый лучший пример, но тем не менее...

Вы выбеливание входов делали? У меня просто пару вопросов есть...

Файлы:
 

Делал.

Только, вот, выбеливание-выбеливанию - рознь. Можно, с дуру, на два входа НС подать две машки и задаться целью их выбеливания... это один случай (клинический), а можно сунуть цены открытия баров через десяток - это другой, тут и белить нечего - и так всё бело.

 
почитал веточку,по сравнению с другими более содержательна-но сегодня ДЕНЬ ДОБРЫХ ДЕЛ-поэтому подымаю ее в у-Т-О-П-И-К-Е... :-О)
 
Neutron >>:

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

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

Нет никаких неправильных входов. Есть неправильно поставленная задача.

 

На счет нормализации. Не всякий тип нормализации может быть применим в контексте какой-либо решаемой задачи.

 
registred писал(а) >>

Нет никаких неправильных входов. Есть неправильно поставленная задача.

Почему же нет? Есть. Помимо объективной(правильной) задачи есть ещё и данные с помощью которых эта задача будет решаться...

А на счёт нормализации - какие-нибудь пояснения можно?

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

Почему же нет? Есть. Помимо объективной(правильной) задачи есть ещё и данные с помощью которых эта задача будет решаться...

А на счёт нормализации - какие-нибудь пояснения можно?

Ну, есть линейная нормировка, есть нелинейная. Нелинейная чувствительна к дисперсии новых данных. Линейная проста и при ней необходимо проводить меньше вычислительных действий, но для нее не симметричность, так сказать, будет влиять на продолжительность обучения. С ней разброс значений может быть каким угодно в итоге обучения, при соблюдении некоторых условий. Но, при самом обучении, ряд, который не был приведен к нулевому среднему и единичной дисперсии, в итоге заставляет сеть обучается дольше, нежели, если такую нормировку провести. На счет первого вопроса, то у меня лично, мнение такое. Я могу взять MA, могу взять приращения самого ряда. Разницы не будет для меня никакой. Суть будет состоять в том, что, если после обучения сети, результат обучения зависит от того, что я выберу(MA или просто приращения ряда), то это будет говорить лишь о неправильно поставленной задачи и сеть просто обучалась тому, чему ее я пытался научить. То есть просто выполнять те действия, которым я ее обучал. Но находить закономерности, а именно обобщать сеть не будет или будет делать это не корректно. Суть же состоит в том, чтобы уменьшать ошибку обобщения такого типа данных, которые бы требовались на выходе нейросети. Входными данными может быть и сами приращения временного ряда, не обязательно сглаженная его версия в виде MA или еще чего бы то ни было. Все пишут нужно ряд сглаживать. Но я считаю, что не важно, так как объективные закономерности в данных сохраняются, главное просто выбрать нужное количество приращений вашего ряда.

 
registred писал(а) >>

Ну, есть линейная нормировка, есть нелинейная. Нелинейная чувствительна к дисперсии новых данных. Линейная проста и при ней необходимо проводить меньше вычислительных действий, но для нее не симметричность, так сказать, будет влиять на продолжительность обучения. С ней разброс значений может быть каким угодно в итоге обучения, при соблюдении некоторых условий. Но, при самом обучении, ряд, который не был приведен к нулевому среднему и единичной дисперсии, в итоге заставляет сеть обучается дольше, нежели, если такую нормировку провести. На счет первого вопроса, то у меня лично, мнение такое. Я могу взять MA, могу взять приращения самого ряда. Разницы не будет для меня никакой. Суть будет состоять в том, что, если после обучения сети, результат обучения зависит от того, что я выберу(MA или просто приращения ряда), то это будет говорить лишь о неправильно поставленной задачи и сеть просто обучалась тому, чему ее я пытался научить. То есть просто выполнять те действия, которым я ее обучал. Но находить закономерности, а именно обобщать сеть не будет или будет делать это не корректно. Суть же состоит в том, чтобы уменьшать ошибку обобщения такого типа данных, которые бы требовались на выходе нейросети. Входными данными может быть и сами приращения временного ряда, не обязательно сглаженная его версия в виде MA или еще чего бы то ни было. Все пишут нужно ряд сглаживать. Но я считаю, что не важно, так как объективные закономерности в данных сохраняются, главное просто выбрать нужное количество приращений вашего ряда.

По-моему из Вашего поста и следует что нормализация больше зависит от данных чем от поставленной задачи.

На счёт второй части: Вы рассматриваете приращение МА и приращение ряда?

Ну и в общем смысле, Вы имеете ввиду что обученная сеть должна быть не чувствительна к входным данным(к каждому отдельному входу)? или просто меняете входные данные на другие и сеть всё равно должна продолжать прогнозировать?

Причина обращения: