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

 
paralocus писал(а) >>

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

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

Всё правильно. Действительно, озвученный тобой случай соответствует НЕэффективному рынку, на котором можно и нужно зарабатывать! Если построить ряд трансакций (РТ) в отрыве от терминального времени (просто отсчёты ряда), то эффект наиболее нагляден:

Именно такие участки (а они выглядят одинаковыми для Н+/- стратегий) вылавливает ТС на основе Каги-построений описанных в диссере Пастухова. Но есть проблема, связанная с низкой профитностью (по сравнению с комиссией ДЦ) такой ТС. Связано это с тем, что классическая стратегия эксплуатирует самое простое и доступное свойство Каги-построения - знакопеременность РТ, но ведь существуют и другие закономерности... именно их и должна выявлять НС!

 
Neutron >>:

существуют и другие закономерности... именно их и должна выявлять НС!

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

То есть я в некотором тупике:

Пусть имеется НС, которая обучается рядом: +1,-1,+1,-1,+1,-1.... (т.е. бинарные входы). В таком случае я могу с точностью около 80% угадать с трех раз чему она научится. При этом не имеет никакого значения нелинейность НС.

 

Я не меньше твоего хотел бы знать ответы на некоторые вопросы!

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

000

001

010

011

100

101

110

111

Пусть обучающий вектр Р, имеет в несколько раз большую длину, чем число входов d, тогда НС просто подсчитает вероятность р выпасть 1 на каждый паттерн (вероятность для нуля равна 1-р). Но, это мы и без НС можем проделать! Есть тут одна тонкость. А именно, что ты будешь делать, когда в обучающем векторе не встретится какой либо комбтинации? Что ты присвоишь в реальности на этот паттерн? - Ничего! Тебе придётся увеличивать длину вектора Р до тех пор, пока ты его (паттерн) не встретишь. И не факт, что у тебя хватит имеющихся в распоряжении данных, или, даже если и есть таковые, то не факт, что ты не умудришься выйти из оптимальной длины обучения. Понимаешь о чём я? Вот тут-то и встаёт во весь рост преимущество НС. Оказывается она и не нуждается во всём объёме обучения (на все случаи жизни), она способна обобщать имеющиеся знания с максимальной достоверностью обобщения! Другими словами, она востановит сама наиболее вероятный исход для паттерна, даже если его и не было ранее в обучающей программе. Это как взрослый человек, нам ведь для принятия решения в той или иной ситуации не нужно прецедента.

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

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

 
Да, я понял. Есть одна идейка. Надо просчитать вероятность того, что модуль проекции очередного плеча ряда транзакций на ось Y составит n>1 спредов. Тогда рассчитать размер взятки как МО длины плеча и таким же будет стоп. Боюсь, это и все, что может дать статистика, однако это +.
 

Что-то я слегка затупил с пересчетом ошибки для скрытого слоя с нелинейной ФА. Взгляни пожалуйста, правильно ли я беру ошибку скрытого слоя?

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

 

Нет, не всё правильно!

1. Находишь выход НС - OUT. Это у тебя правильно.

2. Считаешь ошибку НС: dOUT=х-OUT. Зная эту ошибку, находишь величину коррекции весов выходного нейрона. Это тоже у тебя правильно.

3. Это же ошибка торчит на выходе каждого i-го нейрона скрытого слоя (входного), пересчитываем её на вход по формуле: dIn[i]=dOUT*(1-out[i]^2), где out[i] - выход i-го нейрона скрытого слоя. Зная ошибку приведённую ко входу каждого нейрона (dIn[i]), находишь величину коррекции весов во входном слое.

 

Я для однослойки давал 100 - 120 эпох. Для двушки это, возможно, мало? Что-то она на котире(часовки) хороших результатов пока не дает.


 
paralocus писал(а) >>

Что-то она на котире(часовки) хороших результатов пока не дает.

Ожидал чего-то другого?

 
Neutron >>:

Ожидал чего-то другого?

Честно - да. Однослойка же худо-бедно работала. Хотя, ты конечно прав, с таймфремами пора завязывать окончательно.

 
paralocus писал(а) >>

Я для однослойки давал 100 - 120 эпох. Для двушки это, возможно, мало? Что-то она на котире(часовки) хороших результатов пока не дает.

Я подумал ты это про однослойку сказал...

У меня двуслойка на часовка стабильно выдаёт th<=0.05, а однослойка около нуля.

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