Ein neuronales Netz mit R
Dieses Beispiel soll kurz beschreiben, wie man mit R ein Neuronales Netz erstellt. Als erstes muss das Paket: "neuralnet" installiert und geladen werden:install.packages("neuralnet") library(neuralnet)Dieses beispiel Netz soll 3 Eingänge und eine Ausgabe haben,
Definition der Ein- und Ausgangsdaten:
I1 <- c(1,2,3,4,5) #Input 1 I2 <- c(10, 20, 30, 40, 50) #Input 2 I3 <- c(100, 200, 300, 400, 500) #Input 3 O1 <- c(6,7,8,9,10) #Output
data.frame erstellen:
Ein data.frame fasst unterschiedliche Daten zusammenNetDaten <- data.frame(I1, I2, I3, O1)Die Daten sollten nun wie folgt aussehen:
I1 | I2 | I3 | O1 | |
1 | 1 | 10 | 100 | 6 |
2 | 2 | 20 | 200 | 7 |
3 | 3 | 30 | 300 | 8 |
4 | 4 | 40 | 400 | 9 |
5 | 5 | 50 | 500 | 10 |
Erstellen des Netzes
Das Beispiel Netz soll mit folgenden Eigenschaften erstellt werden:Das Netz soll 10 Hidden-Neurons haben (hidden=10)
Das Anlernen des Netzes kann beendet werden, sobald ein Fehler-Threshold von 0.01 erreicht wurde (threshold=0.01)
Es wird nur 1 Netz erstellt (rep=1).
net <- neuralnet(O1~I1+I2+I3, t, hidden=10, rep=1, threshold=0.01)
Darstellen
Textuelle Ausgabe des Netzes> print(net) Call: neuralnet(formula = O1 ~ I1 + I2 + I3, data = NetDaten, hidden = 10, threshold = 0.01, rep = 1) 1 repetition was calculated. Error Reached Threshold Steps 1 0.000537743293 0.006383272813 3259Grafisches Darstellund des Netzes
plot(net)Bei den blauen Neuronen handelt es sich um einen Bias, eine gute Beschreibung welche Aufgabe ein Bias hat ist hier beschrieben:http://stackoverflow.com/questions/2480650/role-of-bias-in-neural-networks.