Задал, значит, ф-ию: Abs[0.25 Sin[x] + 0.25 Cos[y] + 0.25 Sin[z] + 0.25 Cos[g]] (работаю в Wolfram Mathematica). Область значений - от нуля до 1.
Задал нейронную сеть с передаточной ф-ией 1/(1+е^-S)
Обучаю методом обратного распространения ошибки на промежутке от -10 до 10 с шагом 0.1. А оно ни черта не учится. При обучении никаких ошибок не выдаётся, просто либо нет сходимости, либо потом сеть выдаёт для любых входных данных какое-то одно число, либо (
) обучение происходит в направлении градиента, а не в обратном.
Подозреваю, что я задаю неправильно или начальные значения весов, или количество нейронов скрытого слоя, или скорость обучения. Потому что при изменении этих параметров изменяется моя проблема: появляется несходимость, нейронная сеть выдаёт на любые входы одно и то же число или вообще ошибка нейронной сети не уменьшается, а увеличивается. Подскажите, какие параметры для этой задачи будут самые лучшие?
P.S. Сеть двухслойная, входа - 4, последний слой - один выходной нейрон.