2012-09-16 19 views
5

Czy istnieje pakiet lub inne oprogramowanie do drukowania modeli sieci neuronowych z pakietu nnet cran.Wykreślanie modelu sieci neuronowej z pakietu nnet R cran

trenowałem model sieci neuronowej (3 wejścia i 1 wyjście) używając nnet i Rattle:

crs$nnet <- nnet(as.factor(Target) ~ ., 
       data=crs$dataset[crs$sample,c(crs$input, crs$target)], 
       size=10, skip=TRUE, MaxNWts=10000, 
       trace=FALSE, maxit=100) 

Było to podsumowanie modelu

Neural Network build options: skip-layer connections; entropy fitting. 

In the following table: 
    b represents the bias associated with a node 
    h1 represents hidden layer node 1 
    i1 represents input node 1 (i.e., input variable 1) 
    o represents the output node 

Weights for node h1: 
b->h1 i1->h1 i2->h1 i3->h1 
-0.66 0.15 0.24 -0.31 

Weights for node h2: 
b->h2 i1->h2 i2->h2 i3->h2 
-0.62 1.32 1.16 0.24 

Weights for node h3: 
b->h3 i1->h3 i2->h3 i3->h3 
13.59 -10.44 0.78 -6.46 

Weights for node h4: 
b->h4 i1->h4 i2->h4 i3->h4 
    0.16 -0.46 2.09 0.23 

Weights for node h5: 
b->h5 i1->h5 i2->h5 i3->h5 
-0.16 -0.55 -0.52 0.25 

Weights for node h6: 
b->h6 i1->h6 i2->h6 i3->h6 
-1.49 -7.07 1.67 -0.21 

Weights for node h7: 
b->h7 i1->h7 i2->h7 i3->h7 
    2.00 1.67 -5.51 0.66 

Weights for node h8: 
b->h8 i1->h8 i2->h8 i3->h8 
    0.56 0.44 0.41 0.51 

Weights for node h9: 
b->h9 i1->h9 i2->h9 i3->h9 
    0.38 0.21 0.47 -0.41 

Weights for node h10: 
b->h10 i1->h10 i2->h10 i3->h10 
    0.53 -1.60 4.79 -0.04 

Weights for node o: 
    b->o h1->o h2->o h3->o h4->o h5->o h6->o h7->o h8->o h9->o 
    1.08 1.83 0.17 1.21 1.21 0.64 -0.13 -8.37 0.98 2.03 
h10->o i1->o i2->o i3->o 
-8.41 0.03 0.00 0.01 

Dziękuję bardzo

+1

Jeśli nie podasz swojej nazwy, a nawet nie, możesz zostawić to Problem dotyczy tylko osób, które rozpoznają styl produkcji i wiedzą, jak skonstruować podobny przypadek. To prawdopodobnie znacznie mniejsza grupa odbiorców, niż może zainteresować, niż gdybyś podał więcej szczegółów. –

+0

@ user1594303: Wolę usunąć podsumowanie modelu i szczegółowe informacje o tym, jak trenowałeś swoją sieć. Wydaje mi się, że nie dodaje on do pytania użytecznych informacji, a jedynie odwraca uwagę od głównego punktu: jak wykreślić model NN z R. – Peque

Odpowiedz

10

Dzięki "R jest moim przyjacielem", teraz możesz to łatwo zrobić:

http://beckmw.wordpress.com/2013/11/14/visualizing-neural-networks-in-r-update/

Rozwinąłem funkcję wykonaną przez fawda123 i dodałem możliwość zmiany koloru obramowania. Moje zmiany są dostępne tutaj:

https://gist.github.com/Peque/41a9e20d6687f2f3108d

Przykład kolorem zwyczaj granicznego (czarny):

Neural network plot example

Oto kompletny kod z powyższego przykładu (zauważyć trzeba clusterGeneration pakiety” ',' nnet 'i' devtools '):

library(clusterGeneration) 
library(nnet) 
library(devtools) 

seed.val<-2 
set.seed(seed.val) 

num.vars<-8 
num.obs<-1000 

#input variables 
cov.mat<-genPositiveDefMat(num.vars,covMethod=c("unifcorrmat"))$Sigma 
rand.vars<-mvrnorm(num.obs,rep(0,num.vars),Sigma=cov.mat) 

#output variables 
parms<-runif(num.vars,-10,10) 
y1<-rand.vars %*% matrix(parms) + rnorm(num.obs,sd=20) 
parms2<-runif(num.vars,-10,10) 
y2<-rand.vars %*% matrix(parms2) + rnorm(num.obs,sd=20) 

#final datasets 
rand.vars<-data.frame(rand.vars) 
resp<-data.frame(y1,y2) 
names(resp)<-c('Y1','Y2') 
dat.in<-data.frame(resp,rand.vars) 

#nnet function from nnet package 
set.seed(seed.val) 
mod1<-nnet(rand.vars,resp,data=dat.in,size=10,linout=T) 

#import the function from Github 
source_url('https://gist.githubusercontent.com/Peque/41a9e20d6687f2f3108d/raw/85e14f3a292e126f1454864427e3a189c2fe33f3/nnet_plot_update.r') 

#plot each model 
pdf('./nn-example.pdf', width = 7, height = 7) 
plot.nnet(mod1, alpha.val = 0.5, circle.col = list('lightgray', 'white'), bord.col = 'black') 
dev.off() 
+0

Hi @Peque, proszę, jak mogę użyć nneta przy użyciu funkcji aktywacji tanha? moje wyjście to Y1, Y2, Y3, Y4. – DevEx

+0

@DevEx: powinieneś otworzyć nowe pytanie, jeśli jeszcze go nie znalazłeś. ;-) – Peque

Powiązane problemy