Индикаторы на базе нейросетей, PerceptronIndicator_AC.

 

Hi all.

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

Для всех индикаторов такого типа, и в частности для PerceptronIndicator_AC, характерна одна очень неприятная особенность.

При UP-тренде, когда значения индикатора (даже от 0 до 21 бара) находятся в положительной зоне шкалы - то перцептрон выдает оч. часто отрицательные значения, и наоборот, при DOWN - тренде выдает положительные.

Причина этого несоответствия, возможно, заложена в строчках кода:
double w1 = x1 - 100.0;
double w2 = x2 - 100.0;
double w3 = x3 - 100.0;
double w4 = x4 - 100.0;
Решетов рекомендовал применять весовые коэффициэнты не более 200.

Получается, что при такой записи - w1 = x1 - 100.0, весовые коэф-ты у нас получаются двухполярными! Также как и шкала индикатора!
В результате имеем своего рода расширение "динамичечкого диапазона" значений индикатора.
Положительные значения при этом увеличиваются при х>100, а отрицательные также по абсолютной величине увеличиваются при х.>100. Т.е. уменьшаются.
При х<100 - динамический диапазон, напротив, сужается!
В итоге некорректно определяются развороты тренда со всеми вытекающими.

Возможно, нужно использовать многослойник, когда последний слой будет оценивать результаты работы остальных трёх и принимать окончательное решение, количество входов в рынок при такой архитектуре станет меньше:

double f1 = y1 - 100.0;
double f2 = y2 - 100.0;
double f3 = y3 - 100.0;
double f4 = y4 - 100.0;
return (p_1( ) * f1 + p_2( ) * f2 + p_3( ) * f3 + p_4( ) * f4);
где p_1( ) - p_4( ) верхние слои.

Исходя из этой теории как можно модифицировать прилагаемый индикатор?

 

Файлы:
 
Gray_Mouse писал(а) >>

Исходя из этой теории как можно модифицировать прилагаемый индикатор?

Модифицировать несложно, гораздо сложнее этого перца будет обучить ...

 
Раньше тоже увлекался этой темой. Вы хотите решить надуманную проблему.
 
Gray_Mouse >>:

Hi all.

...
В итоге некорректно определяются развороты тренда со всеми вытекающими.

Возможно, нужно использовать многослойник, когда последний слой будет оценивать результаты работы остальных трёх и принимать окончательное решение, количество входов в рынок при такой архитектуре станет меньше:

Сеть любой слойности не имеющую нелинейных нейронов и обратных переходов можно без потерь преобразовать в 2-слойную линейную НС. Это раз.

А во-вторых -- откуда собственно уверенность в некорректности?.


Вобщем, как правильно

storm >>:
Вы хотите решить надуманную проблему.