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

 
StatBars >>:

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

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

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

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

 

По поводу предобработки пару слов.

Исходная выборка: Выход коррелирует со входом(Самая значимая корреляция). corr=0.64.

На графике: Координата Х - входные данные. Y - Требуемый выход

Удаляем линейную зависимость. Чтобы найти линейную зависимость сеть не нужна, да и к тому же она ухудшит рез-ты нейронной сети.

Так выглядят декоррелированные данные.

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

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

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

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

Таким образом выглядят преобразованные данные. Именно на этих данных сеть обучается.

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

Также стоит отметить все преобразования обратимы и не вносят своей погрешности.

все методы(в принципе) в этой ветке оговаривались.

 
StatBars писал(а) >>

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

StatBars, эта процедура у тебя автоматизирована, или приходится раз-от-раза производить её ручками - подбирать коэффициенты у сигмоидальной функции?

 
Neutron писал(а) >>

StatBars, эта процедура у тебя автоматизирована, или приходится раз-от-раза производить её ручками - подбирать коэффициенты у сигмоидальной функции?

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

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

 

Во-во - у меня тоже-самое.

Нужно Prival-a спосить как получить нужное распределение (прямоугольное) из произвольного в аналитическом виде.

И, почему ты пользуешься сигмоидой в качестве ФА, а не гиперболическим тангенсом? Преимущества ведь на поверхности...

 
Neutron писал(а) >>

И, почему ты пользуешься сигмоидой в качестве ФА, а не гиперболическим тангенсом? Преимущества ведь на поверхности...

А о преимуществах можно и по подробнее.

 
Да, нейрон будучи активированным симметричной функцией, обучается в два раза быстрее. Кроме того, в процессе обучения, часть весов принимают значения близкие к нулю, это выключает их из работы, т.е. эффективное количество "рабочих" синапсов у нейрона с сигмоидальной ФА всегда меньше, чем с гиперболической. Это не хорошо, т.к. таскать "мёртвые" синапсы взад-перёд всё равно приходится.
 
Neutron писал(а) >>
Да, нейрон будучи активированным симметричной функцией, обучается в два раза быстрее. Кроме того, в процессе обучения, часть весов принимают значения близкие к нулю, это выключает их из работы, т.е. эффективное количество "рабочих" синапсов у нейрона с сигмоидальной ФА всегда меньше, чем с гиперболической. Это не хорошо, т.к. таскать "мёртвые" синапсы взад-перёд всё равно приходится.

Просто легкое преобразование позволяет и у сигмоида получать значение от -1 до 1. Сложного же ничего нет.

 

Да, кто ж с этим спорит?

Только это уже из разряда "особенности одевания штанов".

 
Neutron писал(а) >>

Во-во - у меня тоже-самое.

Нужно Prival-a спосить как получить нужное распределение (прямоугольное) из произвольного в аналитическом виде.

И, почему ты пользуешься сигмоидой в качестве ФА, а не гиперболическим тангенсом? Преимущества ведь на поверхности...

Я использую как раз гиптанг.