我有一个非常愚蠢的问题,但它仍然是一个问题。 我想训练一个神经网络,结果有两个输入数据集“P1”,“P2”和“T”。 我知道如果只有“x1”这个东西怎么做,但我不能用两个变量来管理它。这是我的代码,它绘制了输入数据(x1,x2,y)的3d图,但只绘制了输出数据的2d图。我希望我已经正确解释了。
library(AMORE)
P1 <- Dane02[,1]
P2 <- Dane02[,2]
T <- Dane02[,3]
target <- T
net <- newff(n.neurons=c(2,20,10,1), learning.rate.global=0.01,
momentum.global=0.01, error.criterium="LMS",
Stao=NA, hidden.layer="tansig",
output.layer="purelin", method="ADAPTgdwm")
result <- train(net, P1, P2, target, error.criterium="LMS",
report=TRUE, show.step=100, n.shows=100 )
y <- sim(result$net, P1, P2)
library(rgl)
plot3d(P1,P2,target)
points3d(P1,P2,y, col="red")
如下图所示,看起来它正在训练网络,认为“P2”是目标。我对么?我该如何纠正?
更正后的结果: