Практические алгоритмы архитектур нейросетей

 

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


В частности по алгоритмам в контексте статьи Рецепты нейросетей есть несколько интересных моментов для метода обучения с обратным распространением ошибки, которые в частности выяснялись в ветке Нейронная сеть в виде скрипта, то как к примеру внесение пороговых уровней, локальной по нейронам коррекцией скорости обучения, и фишка - сходимость при обучении сети по тн методу максимальной прибыли.

 
Ну начинайте делиться опытом и придложениями :)
 

Все что пока есть это доделанный код из статьи Сергеева. Перелопатил все что смог нарыть по вариациям сетей Кохонена - теперь пишу свой слой на основе библиотечек с сайта Teuvo хочу классифицировать полный временной ряд данных на двумерной карте, с подачей на 2-3 слойный перцептрон с bp и всё как везде. Качественной информации ко сеткам крайне мало, и если есть то все как клоны. Может кто предложит способ отображения (для классификации) пятимерного вектора на двумерном поле Кохонена ? Сам могу для начинающих сделать статью с подробным разъяснением метода обучения градиентным спуска и в частности обратного распространения ошибки, карты Кохонена более подробно, немного по нечеткой логике, етс. Здесь же все тяготеют к регрессионному типу анализа, т.е. эстерполяцией данных .. считаю это бредом.

 
-- Покажите дело, -- сказал Корейко задумчиво. :)
 
Valio >>:

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

Напрасно. Если уж разбираться "по-большому" то нейросеть это и есть некая завуалированная форма регрессии.

 
HideYourRichess писал(а) >>

Если уж разбираться "по-большому" то нейросеть это и есть некая завуалированная форма регрессии.

А вот кое-кто на форуме утверждает, что это аппроксиматор. Во. По-русски -- усреднятель.

 
Swetten >>:

А вот кое-кто на форуме утверждает, что это аппроксиматор. Во. По-русски -- усреднятель.

это не просто усреднятель, а подгонятельный усреднятель... :)

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

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

Больше ничего нейросеть не умеет. Да и не должна. Это просто разновидность математического представления информации.

Яркий пример - распознавание изображений. Любое изображение суть набор паттернов. Каждый паттерн - может быть описан неким функционалом. Хорошая нейросеть эти вещи определяет и может найти подобие в других изображениях.

То же самое обстоит и с распознаванием речи.
То же самое обстоит и с прогнозированием - что есть суть экстраполяция аппроксимированной функции.

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

Для трейдинга можно взять и "аппроксимировать" сотню индикаторов на относительно небольшом участке рынка. Это как бы "впечатает" ТЕКУЩИЙ образ участка рынка в нейросеть. (Поэтому для трендов и флетов используются разные сети).
Дальше идем от обратного - можно расклассифицировать индюки по степени "влияния" на рынок. Это нейросеть может.
Можно попробовать экстраполировать значения индюков на пару баров вперед. Это сработает на одном типе рынка и не сработает на другом (тренд-флет).

Можно так же попробовать обучить сеть на паттерн. За счет определенного "порога" ошибки - такой паттерн будет распознаваться хорошо в условиях "некоторой отличимости" паттернов друг от друга.
Японы сделали определенный тип сетей, которые распознают даже масштабированные паттерны, которые могут быть даже повернуты на некоторый градус как в 2-ух, так и в 3-х мерной плоскости. У них это юзалось для распознавания форм черепа.
У нас может - для поиска паттернов на всех ТФ.

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

... Программер нейросетей должен быть хорошим трейдером, понимающим СУТЬ рынка. Поэтому мало кто серьезно и успешно занимается применением сетей на рынке. 
Это очень сложно - быть мастером в двух абсолютно разных областях. И поняв рынок, выработать систему игры...

 

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

 
Vinsent_Vega >>:

это не просто усреднятель, а подгонятельный усреднятель... :)

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

а в чем суть прогнозирования?

 
m_a_sim >>:

а в чем суть прогнозирования?


ё-моё, ну вы хоть бы читали что я пишу:

То же самое обстоит и с прогнозированием - что есть суть экстраполяция аппроксимированной функции

 
Vinsent_Vega >>:Другими словами, нейросеть - хороший аппроксиматор некой "очень сложной" функции, скорее даже определенного сочетания нескольких относительно простых функций. 

пусть ряд цен - очень сложная функция, тогда где ее аргументы? или для использования нейросети они не требуются?