1

私は非常にばかげた問題を抱えていますが、それでも問題です。結果として、2 つの入力データセット "P1"、"P2"、および "T" を使用してニューラル ネットワークをトレーニングしたいと考えました。「x1」しかない場合にこれを行う方法は知っていますが、2 つの変数で管理することはできません。これが私のコードです。入力データ(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」をターゲットと考えてネットワークを学習させているようです。私は正しいですか?どうすれば修正できますか?2 つの異なる角度から撮影します。 赤いプロットが平らであることがわかります

修正後の結果: 結果

4

0 に答える 0