Рыночный этикет или правила хорошего тона на минном поле - страница 83
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Оптимальным каги-разбиением тикового ВР с порогом Н, следует считать такое разбиение, при котором имеется минимальное количество следующих друг за другом одноцветных плеч ряда транзакций.
Если распределение полученного ряда транзакций таково, что свыше 50% следующих друг за другом плеч имеют разный цвет, то зачем вообще НС?
Всё правильно. Действительно, озвученный тобой случай соответствует НЕэффективному рынку, на котором можно и нужно зарабатывать! Если построить ряд трансакций (РТ) в отрыве от терминального времени (просто отсчёты ряда), то эффект наиболее нагляден:
Именно такие участки (а они выглядят одинаковыми для Н+/- стратегий) вылавливает ТС на основе Каги-построений описанных в диссере Пастухова. Но есть проблема, связанная с низкой профитностью (по сравнению с комиссией ДЦ) такой ТС. Связано это с тем, что классическая стратегия эксплуатирует самое простое и доступное свойство Каги-построения - знакопеременность РТ, но ведь существуют и другие закономерности... именно их и должна выявлять НС!
существуют и другие закономерности... именно их и должна выявлять НС!
Можно с этого метса по подробней? Мне ничего больше, кроме длины плеч в голову пока не приходит(если думать об НС и каги)
То есть я в некотором тупике:
Пусть имеется НС, которая обучается рядом: +1,-1,+1,-1,+1,-1.... (т.е. бинарные входы). В таком случае я могу с точностью около 80% угадать с трех раз чему она научится. При этом не имеет никакого значения нелинейность НС.
Я не меньше твоего хотел бы знать ответы на некоторые вопросы!
Давай посмотрим, как работает бинарная НС. Пусть, у нас имеется обучающий вектор. Всё, что такая НС может сделать с ним для минимизации ошибки на выходе, так это просчитать вероятности исходов для всевозможных входных комбинаций. Для определённости, пусть у нас три входа, тогда все входные комбинации сводятся к следующим паттернам (для красоты перейдём от +/-1 к 0/1):
000
001
010
011
100
101
110
111
Пусть обучающий вектр Р, имеет в несколько раз большую длину, чем число входов d, тогда НС просто подсчитает вероятность р выпасть 1 на каждый паттерн (вероятность для нуля равна 1-р). Но, это мы и без НС можем проделать! Есть тут одна тонкость. А именно, что ты будешь делать, когда в обучающем векторе не встретится какой либо комбтинации? Что ты присвоишь в реальности на этот паттерн? - Ничего! Тебе придётся увеличивать длину вектора Р до тех пор, пока ты его (паттерн) не встретишь. И не факт, что у тебя хватит имеющихся в распоряжении данных, или, даже если и есть таковые, то не факт, что ты не умудришься выйти из оптимальной длины обучения. Понимаешь о чём я? Вот тут-то и встаёт во весь рост преимущество НС. Оказывается она и не нуждается во всём объёме обучения (на все случаи жизни), она способна обобщать имеющиеся знания с максимальной достоверностью обобщения! Другими словами, она востановит сама наиболее вероятный исход для паттерна, даже если его и не было ранее в обучающей программе. Это как взрослый человек, нам ведь для принятия решения в той или иной ситуации не нужно прецедента.
Так вот, принимать решение она будет путём проекции имеющихся данных (входа) на некую гипер-поверхность, которую она строит в пространстве признаков во время своего обучения. Эта поверхность многомерна (по числу входов) и может быть плоскостью, или поверхностью более высокого порядка (параболоид, гиперболоид для трёх измерений и т.п.). Наличие нелинейности, позволяет использовать сложные топологии поверхностей, и не важно, что вход бинарный, важно, что он проецируется на нетривиальную поверхность.
Так, что я думаю, нелинейность даже при бинарном входе играет роль.
Что-то я слегка затупил с пересчетом ошибки для скрытого слоя с нелинейной ФА. Взгляни пожалуйста, правильно ли я беру ошибку скрытого слоя?
Здесь меня смущает то, что ошибка на выходе скрытого слоя оказалась равной величине микрокоррекции соответствующего синапса выходного слоя
Нет, не всё правильно!
1. Находишь выход НС - OUT. Это у тебя правильно.
2. Считаешь ошибку НС: dOUT=х-OUT. Зная эту ошибку, находишь величину коррекции весов выходного нейрона. Это тоже у тебя правильно.
3. Это же ошибка торчит на выходе каждого i-го нейрона скрытого слоя (входного), пересчитываем её на вход по формуле: dIn[i]=dOUT*(1-out[i]^2), где out[i] - выход i-го нейрона скрытого слоя. Зная ошибку приведённую ко входу каждого нейрона (dIn[i]), находишь величину коррекции весов во входном слое.
Я для однослойки давал 100 - 120 эпох. Для двушки это, возможно, мало? Что-то она на котире(часовки) хороших результатов пока не дает.
Что-то она на котире(часовки) хороших результатов пока не дает.
Ожидал чего-то другого?
Ожидал чего-то другого?
Честно - да. Однослойка же худо-бедно работала. Хотя, ты конечно прав, с таймфремами пора завязывать окончательно.
Я для однослойки давал 100 - 120 эпох. Для двушки это, возможно, мало? Что-то она на котире(часовки) хороших результатов пока не дает.
Я подумал ты это про однослойку сказал...
У меня двуслойка на часовка стабильно выдаёт th<=0.05, а однослойка около нуля.