Функция MLP в R дает постоянные выходы для нейронной сети - PullRequest
0 голосов
/ 07 февраля 2019

Я пытаюсь вписать нейронную сеть в R, цель состоит в том, чтобы предсказать целочисленное значение.У меня много ковариат, некоторые непрерывны, некоторые категориальны, и я стандартизировал их.Когда я использую функцию nnet из пакета nnet с одним скрытым слоем и 5 узлами, это работает нормально.Но мне не нравится, что я не вижу, что такое функция обучения, акт.функция ... есть.При использовании mlp из пакета RSNNS с таким же количеством скрытых нейронов, это дает мне постоянные выходы (что неправильно), и функция очень медленная.Я думал, что функции должны давать довольно похожие результаты, так как построенная сеть должна быть такой же.

nn <- nnet(x_train, y_train,size=5, linout=T, maxit = 50, MaxNWts=16350)
nn_p <- predict(nn, newdata=x_test)

> nn_p
        y 
0.4484153002
-1.2744682375
0.4484153002
0.4657251465
0.4484153002
0.4484153002
0.4484153002
0.4484153002
-1.2744682375

nn3 <- mlp(x_train, y_train, size=c(5), maxit=50, linOut = TRUE, 
hiddenActFunc = "Act_TanH", learnFunc = "BackpropMomentum")
nn3_p <- predict(nn3, x_test)

> nn3_p
   y
-0.2601733208
-0.2601733208
-0.2601733208
-0.2601733208
-0.2601733208
-0.2601733208
-0.2601733208
-0.2601733208
-0.2601733208
...