Рыночный этикет или правила хорошего тона на минном поле - страница 10

 

Привет, paralocus, начать, думаю, можно прямо тут, а дальше посмотрим.

Кстати, всем интересующимся: стратегия - "фиксировать убытки и давать расти прибыли" или "фиксировать прибыль и давать расти убыткам" (в зависимочти от того, трендовый рынок или флетовый, на выбранном торговом горизонте) - не является оптимальной, при реинвестировании капитала. В этом случае, выгоднее фиксироваться на каждом шаге с реинвестированием! Т.е., если у нас 10 непрерывных профитных трансакций, то выгоднее на каждой отдать комиссию ДЦ и реинвестировать, чем удерживать одну позицию всё это время и экономить на спреде.

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

 
Neutron >>:

Привет, paralocus, начать, думаю, можно прямо тут, а дальше посмотрим.


Спасибо!

У меня на входе стоит три перцептрона(пока три) это первый слой. Состав слоя такой:

Один перцептрон на RSI, один на CCI и один на стохастике. Все входы и выходы нормализованы (-1 ; +1). Перцептроны обучены генетиком по самой простой схеме - на разделение.

Теперь я хочу добавить второй слой из двух перцептронов, один из которых заточен только на покупку, а второй только на продажу. Вопрос:

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

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

 
paralocus писал(а) >>

Спасибо!

Пока, незачто!

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

P.S. Да, важно, что бы плотность вероятности входного сигнала для НС имела нулевое матожидание и была распрелена в интервале +/-1 равномерно (полочка). Это заметно увеличивает эффективность обучения и работы Сети.

 
Neutron >>:

Пока, незачто!

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

P.S. Да, важно, что бы плотность вероятности входного сигнала для НС имела нулевое матожидание и была распрелена в интервале +/-1 равномерно (полочка). Это заметно увеличивает эффективность обучения и работы Сети.

Эге! Кое что понятно, но много нового! Чтобы ничего не упустить, буду спрашивать сразу по ходу...

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

Насчет сумматора понял, насчет нейрона с гипертангенсной активацией - это что за зверь? Я нормализую входы и выходы сигмоидой, а чтобы быть уверенным, что на входах и выходах сигнал правильный( -1< максимумы и минимумы < +1), слегка переделал индикатор Perseptron. То есть, берем три входных нейрона и кидаем их выходы на вход четвертого(с гипертангенсной активацией), выход которого можем совершенно спокойно рассматривать, как вероятностную оценку успешного исхода трейда в указанном направлении(в сторону активной полярности) ... так?


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

То есть нейроны входного слоя должны быть обучены просто разделять входные данные на "правых" и "левых". Немного не понял насчет того, как "они сами определяться в процессе тренировки" -имеется ввиду тренировка этого гипертангенсного выходного нейрона, или все же тренировка всех сразу и выходного и входных? Если всех сразу, то генетик не позволит оптимизировать более 8 параметров одновременно, а их в такой сетке как минимум 12(... не считая параметры индюков) - как быть? Если тренировать по отдельности - сначала отдельно каждый входной, а потом отдельно только выходной(я сейчас так и делаю), то не будет ли это ошибкой?


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

Это как? Возводим все веса сети в квадрат, потом эти квадраты суммируем и получаем то, чему должна быть пропорциональна длина обучающей выборки?

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


4. оптимальным вариантом выглядит двуслойная НС с одним скрытым слоем и одним выходным нейроном.

Тут, я чего то не понял... Если есть входной слой нейронов, выходной слой нейронов, да еще и скрытый слой нейронов, то их уже три. Почему же сеть двухслойная?


5. Да, важно, что бы плотность вероятности входного сигнала для НС имела нулевое матожидание и была распрелена в интервале +/-1 равномерно (полочка). Это заметно увеличивает эффективность обучения и работы Сети.

Необходимость нормализации входного сигнала я и сам понимаю (на уровне интуиции), поэтому я преобразовываю входной сигнал так, чтобы на выходе получилось бы по форме то же самое, но в диапазоне -/+1. Однако как распределена плотность вероятности нормализованного RSI ? Например входной сигнал моего нейрона RSI выглядит так:


Этого достаточно, или требуется что-то еще?

P/S С бритвой у меня все хорошо, главное понять, что резать..:-)

 
paralocus писал(а) >>

1. Насчет сумматора понял, насчет нейрона с гипертангенсной активацией - это что за зверь? Я нормализую входы и выходы сигмоидой, а чтобы быть уверенным, что на входах и выходах сигнал правильный( -1< максимумы и минимумы < +1), слегка переделал индикатор Perseptron. То есть, берем три входных нейрона и кидаем их выходы на вход четвертого(с гипертангенсной активацией), выход которого можем совершенно спокойно рассматривать, как вероятностную оценку успешного исхода трейда в указанном направлении(в сторону активной полярности) ... так?

Это нейрон, функция активации (ФА) которого, является гиперболическим тангенсом (область значений +/- 1) - удобно для принятия торгового решения - покупка/продажа и если |ФА|<const - вне рынка.

Все нейроны НС должны иметь нелинейную ФА (за некоторым исключением - кроме последнего). От конкретного вида ФА ничего не зависит, кроме скорости обучения.

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

То есть нейроны входного слоя должны быть обучены просто разделять входные данные на "правых" и "левых". Немного не понял насчет того, как "они сами определяться в процессе тренировки" -имеется ввиду тренировка этого гипертангенсного выходного нейрона, или все же тренировка всех сразу и выходного и входных? Если всех сразу, то генетик не позволит оптимизировать более 8 параметров одновременно, а их в такой сетке как минимум 12(... не считая параметры индюков) - как быть? Если тренировать по отдельности - сначала отдельно каждый входной, а потом отдельно только выходной(я сейчас так и делаю), то не будет ли это ошибкой?

Конечно тренировка всех сразу, иначе поимеем проблему - "кто в лес, кто по дрова". С "генетиком" я дела не имел, поэтому ничем тут не помогу.

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

Это как? Возводим все веса сети в квадрат, потом эти квадраты суммируем и получаем то, чему должна быть пропорциональна длина обучающей выборки?

Cуществует оптимальная длина обучающей ваборки Р, при которой достигается минимум суммы ошибки аппроксимации и обобщения. Этот оптимум однозначно определяется числом синапсов w в сети и размерностью входа d (чмслом входов сети):

Popt=k*w*w/d, где k - безразмерная константа порядка 1 и учитывает факт изменчивости рынка.

Критерием оптимума является соизмеримость ошибки сети на тестовой выборке и на обучающей, т.е. нормально обученная сетка если и угадывает правильно 55%, то и в тесте на новых данных покажет примерно такой же результат. Причём, для такой НС не существует проблемы переобучения связанного с увеличением числа итераций в методе ОРО - нет локального минимума ошибки - функция момнотонна и асимтотически стремится к константе.

4. оптимальным вариантом выглядит двуслойная НС с одним скрытым слоем и одним выходным нейроном.

Тут, я чего то не понял... Если есть входной слой нейронов, выходной слой нейронов, да еще и скрытый слой нейронов, то их уже три. Почему же сеть двухслойная?

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

Однако как распределена плотность вероятности нормализованного RSI ? Этого достаточно, или требуется что-то еще?

Незнаю. Нужно построить распределение плотности вероятности ряда первой разности вашего RSI и посмотреть на график - должна быть полочка с максимальной амплитудой +/-1.

 
Neutron писал(а) >>

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

То есть сеть состоит из нескольких параллельных перцептронов в первом слое и одного в выходном, при этом кол-во входов выходного перцептрона равно числу перцептронов в первом слое?

 
Neutron >>:

Конечно тренировка всех сразу, иначе поимеем проблему - "кто в лес, кто по дрова". С "генетиком" я дела не имел, поэтому ничем тут не помогу.


Ну вот! А я-то надеялся "доработать" свою сетку до самообучающейся несколько позже...

Перевариваю полученные ответы... нарисую то, что понял

 
FION писал(а) >>

То есть сеть состоит из нескольких параллельных перцептронов в первом слое и одного в выходном, при этом кол-во входов выходного перцептрона равно числу перцептронов в первом слое?

Всё так.

Но, на входе каждого персептрона имеется отдельный дополнительный вход для постоянного смещения +1. Это ускоряет обучение и увеличивает мощность Сети.

 
Neutron писал(а) >>

Всё так.

Но, на входе каждого персептрона имеется отдельный дополнительный вход для постоянного смещения +1. Это ускоряет обучение и увеличивает мощность Сети.

Понятно. Постоянное смещение просто немного смещает точку активации на кривой гипертангенса .

 

Neutron писал(а) >>


Вот, что я понял:

С гипертангенсом разобрался. До сих пор я пользовался сигмоидой и приходилось после нее еще вычитать из результата единицу, с th это уже не нужно. Насколько мне удалось вас понять, на рисунке изображена оптимальная архитектура НС для рынка. Число входов - 12, а число синапсов 4 значит по формуле Popt=k*w*w/d получаем 144/4 = 36... это что 36 баров что ли? Или 36 ближайших ситуаций покупка/продажа? Все ли я правильно понял?

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