Нейро сети - страница 2

 
xweblanser >>:

Спасибо большое жаль комментов мало но попробую разобратся....

тут www.nnea.net/downloads есть хорошая подборка pdf с исследованиями по предсказанию фин. рынков с помощью НС. нужна регистрация. посмотрите так же раздел research.

 
marketeer >>:

Трейдеру не особо и нужно разбираться во внутреннем устройстве НС. Для него она выступает черным ящиком со входами и выходами. Готовых сетей уже много есть в свободном доступе, в том числе и на этом сайте - достаточно ввести в поисковой строке "нейронные сети". Одна из последних публикаций, например - Предсказатель на основе самообучающейся нейронной сети. Главная проблема в использовании НС - это выбор того, какие именно данные подавать на вход и чему обучать, как эти данные готовить, какая структура и размер сети и т.д. Например, берем уже упомянутую сеть, пытаемся её обучать так, как это делал Ежов и Шумский (см. Нейрокомпьютинг и его применение в экономике и бизнесе, рекомендую)... И получаем слив. Причин может быть море. Вот тут уже начинается работа трейдера, чтобы проинтуитить, что могло измениться с тех пор (или чего недоговаривают авторы ;-) ) и что менять в настройках и входных данных.

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

 
njel >>:

тут www.nnea.net/downloads есть хорошая подборка pdf с исследованиями по предсказанию фин. рынков с помощью НС. нужна регистрация. посмотрите так же раздел research.

О спасибо мателиал лишним не бывает..

 
xweblanser >>:

1. На сколько я понял каждый нейрон сети это одна и та же функция.. но мне не понятно как одна и та же функция при поступлении одних и тех же данных может выдавать разные значения...

Эти входные данные будут умножаться на разные веса. Поэтому значения функций будут разными. После тщательного изучения нейронных сетей и использования разных алгортимов обучения, начиная от градиентного спуска и кончая генетикой, я пришёл к выводу что математический аппарат нейронных сетей неидеален. Нейронная сеть предназначена для аппроксимации нелинейной функции. Согласно теореме Колмогорова, сеть способна реализовать любую непрерывную функцию. На практике, параллельность сети ведёт к множеству локальных минимумов и реализаций моделируемой функции. Возьмём для примера сеть изображённую внизу. Сеть имеет один вход, один выход и один скрытый слой, в котором два нейрона. Каждый скрытый нейрон умножает вход x на свой вес (w1 или w2), пропускает результат через функцию активации (допустим tanh), полученные значения суммируются на выходе сети. Для простоты, предположим что входы смещения равны нулю. Веса выходного нейрона одинаковы и равны 1.


Теперь давайте создадим задачу аппроксимации функции. Допустим что наша функция это t = cos(x) (t означает target). Сеть вычислит свое значение по формуле

y = tanh(w1*x) + tanh(w2*x)

Тренировка (или обучение) сети заключается в нахождении весов w1 и w2, при которых выход сети y наиболее близок к значению нашей функции t. Это достигается путём минимизации суммы квадратов ошибки

E(w1,w2) = sum((t[k]-y[k])^2,k=0..p-1)

где суммирование ведётся по разным тренировочным данным: x[k],t[k]. Давайте посмотрим как выглядет поверхность нашей минимизируемой целевой функции E(w1,w2) при отсутствии шума в измерениях t[k] = cos(x[k]):


Из этого графика видно что существует бесконечное множество решений (w1,w2) минимизирующих нашу целевуею функцию Е (обратите внимание на плоские долины). Понять это не сложно: сеть симметрична по отношению к w1 и w2. Результаты обучения сети будут разными при разном выборе начальных значений w1 и w2. Так как эти начальные значения всегда выбираются случайными, то последовательное обучение сети на одних и тех же тренировочных данных x[k],t[k] будет приводить к разным значениям оптимизированных весов w1 и w2. Глобального минимума по существу здесь нет. Или иначе говоря, бесконечное множество локальных минимумов являются также глобальными минимумами.

Теперь давайте усложним нашу задачу путём добавления шума к нашему ряду: t[k] = cos(x[k]) + rnd. Этот шумный ряд более близок по своим статистическим свойствам к ряду цен, чем идеальный косинус:


Теперь поверхность нашей минимизируемой функции E(w1,w2) выглядет так:


Заметьте множество пиков как на вершинах, так и в долинах. Давайте бриблизимся к одной из долин:


Здесь более чётко видно множество локальных минимумов. Теперь представьте себе оптимизацию E(w1,w2) путём градиентного спуска. В зависимости от начальных значений w1 и w2, этот спуск приведёт к разному минимуму. Причём этот локальный минимум может оказаться как на вершине так и в долине. Генетическая оптимизация здесь только поможет свалиться с вершины в одну из долин, а там застрянет на одном из локальных минимуов. Ситуация намного усложняется если кроме w1 и w2 также оптимизировать веса выходного нейрона, которые были приравнены единице в предыдущем рассмотрении. В этом случае у нас 4-х размерное пространство с огромным количеством локальных минимумов с координатами (w1,w2,w3,w4).

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

Прикрепляю MathCAD файл, в котором производились вышеуказанные вычисления.

Файлы:
nnrsimplea2.zip  699 kb
 
gpwr писал(а) >> Всем этим упрощённым описанием поведения нейронной сети я хотел доказать что параллельность сети (или симметричность её выхода по отношению к весам нейронов одного и того же слоя) ведёт к сложностям её обучения (оптимизации этих весов) из-за присутствия бесконечного множества локальных минимумов особенно для хаотичных рядов типа ряда цен.

Вопрос один - а как это влияет на профит?

 
LeoV >>:

Вопрос один - а как это влияет на профит?

У вас есть сеть приносящяя стабильный профит?

 
LeoV >>:

Вопрос один - а как это влияет на профит?

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

 
gpwr >>:

Каким МатКадом вы пользуетесь, у меня чёт в Mathcad 13 ваши выкладки не открываются.

 

Смысл минимизации/максимизации целевой функции E(w1,w2) - поиск глобального экстремума. А если этих глобальных экстремумов - мульён, то какая нам разница, в какой из них свалится NN?!

Хуже, ели она застревает в одном из локальных минимумов/максимумов. Но это уже не проблема NN. Это проблема алгоритма оптимизации.


LeoV >>:

Вопрос один - а как это влияет на профит?

Описанное gpwr - никак.

 
Urain >>:

Каким МатКадом вы пользуетесь, у меня чёт в Mathcad 13 ваши выкладки не открываются.

Mathcad 14. Прилагаю тот же файл в 11-й версии

Файлы:
nnosimplem2.zip  14 kb