簡體   English   中英

R中的Neuralnet軟件包出現問題

[英]Trouble with Neuralnet package in R

我正在嘗試使用包Neuronet計算一個神經網絡,以解決回歸問題。 我正在嘗試近似函數:f(x1,x2)= sqrt(x1)+ sin(x2)+ x1 * x2。

這是我的代碼:

library(neuralnet)
library(scatterplot3d)
X1 <- as.data.frame(runif(1000, min = 0 , max = 100))
X2 <- as.data.frame(runif(1000, min = 0 , max = 100))
input <- cbind(X1,X2)
sortie <- sqrt(X1) + sin(X2) + X1*X2
donnee <- cbind(sortie,input)
colnames(donnee) <- c("sortie","entree1","entree2")

f <- as.formula(sortie ~ entree1 + entree2)
net.f <- neuralnet(f , donnee, hidden = c(10,10,10) ,linear.output = FALSE)

這是查看神經網絡輸出散點圖的代碼:

  abscisse1 <- 0:100
  abscisse2 <- 0:100
  net.abscisseformule <- compute(net.f , cbind(abscisse1,abscisse2))
  neuralsortie <-  c(net.abscisseformule$net.result)
  scatterplot3d(abscisse1,abscisse2,neuralsortie)

我很確定結果是錯誤的,因為散點圖看起來不像函數f的散點圖。 我認為問題出在線

f <-as.formula(sortie ~ entree1 + entree2)

這是查看函數散點圖的代碼

x <- seq(0, 100, 1)
y <- seq(0, 100, 1)
z <- sqrt(x) + sin(y) +x*y
scatterplot3d(x,y,z)

這是f的圖https://i.stack.imgur.com/HkpbG.png

這是神經網絡的輸出圖https://i.stack.imgur.com/N38dd.png

有人可以給我一些建議嗎? 非常感謝 !

我找到了我問題的答案。 根據《統計學習的要素》一書(Friedman,Tibshirani和Hastie的著作),在解決回歸問題時,需要在神經網絡的最后一層使用身份函數。 這意味着輸出是上一層的線性組合。 為了使用R進行此操作,需要將“ linear.output”設置為TRUE而不是FALSE。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM