Нейросеть: вопросы по рандомизации

Mar 06, 2018 12:04

Вопросы от юзера на Яху:

Для NN существует два варианта рандомизации (рядом с кнопкой «Traning»)
1. Randomize NN (Рандомизировать NN)
2. Randomize suboptimiztion parameters (Ранжирование или рандомизация субоптимизационных параметров)

Вопросы:
1. В чем разница между ними?
2. Когда лучше мне использовать каждый из этих вариантов?



Ответ автора программы Сергея Тарасова:

Суб-оптимизация это очень интересная функция в TS.

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

Кроме того, NN в TS может применять дополнительную процедуру оптимизации - она может оптимизировать саму структуру событий. К примеру, в астрособытиях это позволяет оптимизировать орб для аспектных событий. Это довольно новая технология (она, по крайней мере, была новой 14 лет назад).

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

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

Таким образом:

randomize weight -> при данном варианте нейросеть устанавливает случайные веса для событий и начинает процесс оптимизации заново.

randomize sub-optimization -> это лишь дополнительный вариант, здесь сбрасываются к исходному состоянию дополнительные параметры событий (помимо веса). К примеру, для астрособытий это устанавливает орб аспекта в исходное положение. Т. е. если у вас стояло значение орба в 15 градусов, то к этому все и вернется.

Для чего вообще нужна процедура рандомизации, для чего она применяется?

Вам нужна будет функция Randomize в следующей предполагаемой ситуации:

- вы создаете NN (нейросеть)

- запускаете процесс оптимизации и вдруг видите, что нейросеть тренируется очень неустойчиво, проекционная линия сильно изменяется при оптимизации NN

- Хорошо, тогда мы прекращаем обучение NN, уменьшаем значение параметра «Learning Rate», и рандомизируем NN - иначе говоря, сбрасываем установки нейросети в исходное положение, чтобы начать ее обучение снова.

#оптимизация параметров нейросети, [модуль Neural Net], #нейросеть, #neural net, #нейросеть в трейдинге, [Нейросетевой анализ в Timing Solution], [версия Аdvanced]

Previous post Next post
Up