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

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

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

 

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

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

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

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

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

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

 

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

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

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

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


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

 

С выбеливанием и нормализацией входов как раз всё понятно. Это элементарно. А вот как определить оптимальное число входов (глубину погружения)? Неужели только экспериментально. Есть соображения по этому вопросу. Я могу показать, что существует локальный оптимум по числу входов. Их не должно быть мало, но и не должно быть много. Как правило оптимум лежит в районе 3-5 входов. Что говорит теория по этому поводу?

 
Neutron:

С выбеливанием и нормализацией входов как раз всё понятно. Это элементарно. А вот как определить оптимальное число входов (глубину погружения)? Неужели только экспериментально. Есть соображения по этому вопросу. Я могу показать, что существует локальный оптимум по числу входов. Их не должно быть мало, но и не должно быть много. Как правило оптимум лежит в районе 3-5 входов. Что говорит теория по этому поводу?

Теория говорит - только методом тыка, то бишь эксперементально. Главное информативность.

 

Грустно то, что вы говорите.

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


Вообще, работа сети завораживает! Я тут для эксперимента накидал небольшую (однослойную) сеть с четырьмя входами и без нелинейности на выходе.

Сунул ей на вход тики и на каждом тике её переобучаю и делаю прогноз на один тик вперёд. Блин, она предсказывает! На рис. красный - тикер, синий цвет прогноз.

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

 

Я работаю в NeuroSolutions, а там есть возможность подбора размерности сети и глубины погружения

Лучше в Аську (см профиль)

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

Dobrovo vam vremia sutok i izvinite za translit.


Ja nacinajuscij treider, no s bolsim bagazom programirovanija. U menia vopros k vam, otnositelno neironnix setej.

Procitav ves topic foruma, mne bolee menee stalo jasno k cemu vse klonitsia ispolzuja neironnije seti, i potomu voprosi, dumaju, bolee konkretnije.


Dannije

1. Imeetsia kucia signalov s odinakovim cislom paramtrov na konkretnij slucaj. - eto kak bi vxod neiroseti

2. Imeetsia rezultat - is serii xoroso/ploxo


Itak - vozmozno li, ispolzuja neiroset polucit otvet neiroseti v buduscem po etoj modeli - novije dannije - otvet - xoroso ili ploxo? Kakije trudnosti obucenija NN vozmozni v etoj scheme?

Udovletvoriajuscij menia rezultat bilo bi virozenije sili v nabore signalov s raznimi parametrami ( slaboje ili silnoje ) v konkretnom sluciaje.

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