Я новичок в нейронных сетях в R. Я пытаюсь эмулировать следующее поведение, реализованное с использованием neuroph в java.
Тип - Многослойный персептрон, Входы - 7, Выходы - 1, Скрытые - 5 нейронов, Передаточная функция - сигмовидная, Правило обучения - Обратное распространение, Максимальная ошибка - 0,01, Скорость обучения - 0,2
Ниже приведен код R, который я реализовал.
net.result <- neuralnet(Output ~ Input1 + Input2 + Input3 + Input4 + Input5 + Input6 + Input7,
traindata, algorithm = "backprop", hidden = 5,
threshold = 0.01, learningrate = 0.2, act.fct = "logistic",
linear.output = FALSE, rep =50, stepmax = 100)
Данные относительно небольшие (120 строк), и ниже приведен образец используемых обучающих данных. Обратите внимание, что входные данные нормализованы и масштабируются от 0 до 1.
Input1 Input2 Input3 Input4 Input5 Input6 Input7 Output
1 0 0 0 0 0 0 0 0
2 0 0 0 0 0 1 0.0192307692 0
3 0 0 0 0 1 0 0.125 0
4 0 0 0 0 1 1 0.0673076923 0
5 0 0 0 1 0 0 0.1971153846 0
6 0 0 0 1 0 1 0.2644230769 0.3333333333
Ниже приведено предупреждение, которое я получаю при выполнении упомянутой выше команды.
Warning message:
algorithm did not converge in 50 of 50 repetition(s) within the stepmax
Любое разъяснение, почему это происходит?