September 20th, 2018

Timing Solition

Нейропрогноз: как избежать эффекта перетренированности нейросети?

Эффект перетренировки является наиболее типичной проблемой при создании моделей на основе нейронных сетей. Эта проблема возникает, когда вы загрузили слишком много "входов" или инпутов для нейронной сети и у вас при этом недостаточно ценовой истории (слишком малый период котировок; маловато баров для анализа).

Вот пример: вы загрузили ценовую историю DJIA с 1885 по 2011 год. Это около 35 тыс. ценовых баров, мы можем создать нейронную сеть, содержащую 10 тыс. входов. Возникает вопрос: "хорошая ли это модель?".

Соотношение между количеством ценовых баров и количеством входов в нашей нейронной сети составляет 2.8 (35 000 ценовых баров делим на 10 0000 входов). Это значение слишком низкое, т.е. у нас слишком много входов, и этот факт может вызвать чрезмерный тренировочный эффект. Что такое перетренировка сети, как она выглядит в рабочем процессе? Этот эффект работает следующим образом: нейронная сеть обеспечивает отличную корреляция с данными до LBC, в то время как после LBC ее прогноз совершенно провальный.

Вот типичная картинка перетренированности сети:



Математически этот факт вполне очевиден: у нас слишком много событий на входе; мы перекормили этими событиями нейросеть. Их чрезмерное многообразие позволяет описать любое движение фондового рынка в прошлом, и она попросту не смогла разобраться, как бы захлебнулась в этом разнообразии. Однако, когда мы пытаемся предсказать будущее движение рынка, нам нужно иметь дело реальными с входными данными, которые на самом деле связаны с прогнозом по финансовому рынку. Collapse )