Cтатья: Прогнозирование цен с помощью нейронных сетей - страница 13

 
Ulterior:

Dobrovo vam vremia sutok i izvinite za translit.

НЕ ИЗВИНИМ!

 
Neutron:

Хорошо, но хотелось бы теории.

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

Для 3-х слойной НС порядок рассуждения тот же.

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

1. Исходим от нужной нам глубины погружения определяем размерность входа НС.

2. Далее учитывая архетектуру (число слоёв) НС считаем количество синапсов, и получаем оптимальный размер обучающей выборки.


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

 
Sergey_Murzinov:

Одно из самых важных(по моему мнению), это подготовка данных, для этого

1. Стараться уменьшить корреляцию входов. Иными словами входа должны быть максимально статистически независимыми.

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

Обязательна проверка качественности данных, например методом Колмогорова-Смирнова или/и экспонентой Херста


Подбором архитектуры сети можно снизить ошибку.

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


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

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

Это представлены результаты тестирования предсказательной способности двух НС.


На рис. красным показан исходный временной ряд (ВР), синим - прогноз на 1 бар вперёд линейной однослойной сети, зелёным - нелинейной двухслойной. Глубина погружения в обоих случаях одинакова. Видно, что для этого искусственного случая наблюдается заметное оставание прогнозных данных на трендовом участке ВР. Мне интересно, у моих опытных коллег наблюдается этот эффект, и если да, то с чем он может быть связан?

 

rip писал (а):


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


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

 Я не сказанно рад. Такое мнение бытует среди большинства. Я рад.

 
Sergey_Murzinov:

rip писал (а):


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


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

Я не сказанно рад. Такое мнение бытует среди большинства. Я рад.

Мнение мнением, но на практике все по другому. Я пробовал для оптимизации архитектуры сети использовать генетический алгоритм, результат интересный - но вычисляется очень долго.

 

Вот ещё сравнение предсказательной мощности сети.


Это работа по прогнозу на шаг вперёд однослойной нелинейной (синяя линия) и двух слойной нелинейной НС. Тут однослойка выглядит предпочтительнее.

Вот интересно сранить эти результаты тестирования с аналогичными у других архитектур НС. Ктонить может выложить для сравнения свои результаты?

 

rip писал (а):


Мнение мнением, но на практике все по другому. Я пробовал для оптимизации архитектуры сети использовать генетический алгоритм, результат интересный - но вычисляется очень долго.

Если примерно сутки - это много тогда, да. Только прошу заметить, что при работе с сетями (эксплуатации их) это делается один раз.

 

to Neutron

Результатов пока нет, потихоньку въезжаю что к чему.

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

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