Neuronales Netz Aufbauen
Beschreibung
Mit dieser App wird ein neuronales Netzwerk erstellt, trainiert und getestet. Die Eingangsdaten können dem neuronalen Netzwerk aus dem System heraus über eine Liste oder per externer Excel Datei zur Verfügung gestellt werden.
Funktionalität
Bearbeitungsfenster
Innerhalb dieses Fensters befindet sich die gesamte Funktionalität zum Laden, Trainieren und Testen eines neu zu erstellenden neuronalen Netzwerks.
Im oberen Bereich gibt es die beiden Laschen "Objektlistenansicht" und "Excel Datei", um die Quelle der Trainingsdaten zu definieren. Nachdem die Trainingsdaten definiert bzw. eingelesen wurden, werden mittels der Spalten der Liste mit den Trainingsdaten die Eingabe- und Ausgabedaten des neuronalen Netzwerks definiert.
Als letzten Schritt muss man die Parameter des neuronalen Netzwerks angeben (siehe Knöpfe "NN initialisieren" und "NN finetunen").
Jetzt kann man mittels des Knopfs "NN trainieren" das Netzwerk mit den Eingabe- und Ausgabedaten trainieren, dieses kann mehrfach hintereinander ausgeführt werden, wobei das Ergebnis eines jeden Trainingszykluses in einer Liste ausgegeben wird.
Mit einem Klick auf einen Trainingszyklus kann man sich die Güte des neuronalen Netzwerks anhand aller Eingabedaten nochmals anzeigen lassen.
| Feld | Beschreibung | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Objektlistenansicht | |||||||||
| : Dialogfenster | Titel des Fensters, aus dem heraus die Liste als Datenquelle für das neuronale Netzwerk an diese App geschickt wurde. | ||||||||
| : Liste | Name der Listenansicht (falls vorhanden). | ||||||||
| Excel Datei | |||||||||
| : Excel Datei | - | ||||||||
| : : Datei | Name der Excel Datei, die die Datenquelle für das neuronale Netzwerk sein soll. Mit dem Knopf rechts neben dem Feld kann eine Datei ausgewählt werden. | ||||||||
| : Daten | - | ||||||||
| : : Tabelle | Nummer des Tabellenblatts in der Excel Datei. | ||||||||
| : : Zeile Überschrift | Angabe der Zeilenummer mit der Überschrift der Daten. Aus der Überschrift wird die Bezeichung der Datenfelder generiert. | ||||||||
| :: Lesen ab Zeile | Angabe der Zeilennummer, ab der die Daten aus der Excel Datei eingelesen werden sollen. | ||||||||
| :: Lesen | Knopf zum Einlesen der Daten aus der Excel Datei. | ||||||||
| :: Trainingsdaten direkt aus Excel lesen |
Im Modus die Daten aus Excel zu lesen (Notebook Lasche steht auf "Excel Datei") kann man wählen, ob beim Training die Daten direkt aus Excel geladen werden oder die Daten aus der bereits in die Liste geladenen Excel Datei stammen sollen. Ist diese Kennung gesetzt werden nur wenige Zeilen in das Listenfenster geladen, um die Spalten und deren Datentyp bestimmen zu können. Diese Option ist dann sinnvoll, wenn es sich um sehr große Excel Dateien (einige hundertausend Zeilen). Andernfalls wird die gesamte Excel Datei in das Listenfenster geladen und man kann dann auch die Spalten und die Listeneinträge verändern (siehe auch Berichts-Knopf im Teilfenster Trainingsdaten). |
||||||||
| Trainingsdaten | |||||||||
| : Daten | Wurde eine Liste an diese App geschickt, werden die Einträge dieser Liste hier als Trainingsdaten aufgelistet. Wurde eine Excel Datei eingelesen, werden diese hier als Trainingsdaten aufgelistet. | ||||||||
| : |
Aufruf der Berichts-App, um das Spaltenformat der Liste ändern zu können. | ||||||||
| : Entfernen | Sollen einige Einträge der Liste nicht zu den Trainingsdaten gehören, kann man diese nicht erwünschten Zeilen in der Liste markieren und sie mit diesem Knopf aus der Liste entfernen. | ||||||||
| Trainingsspalten | |||||||||
| : Daten | Ausgabe der Spalten der Trainingsdaten. Mittels Drag&Drop kann man Einträge aus dieser Liste entweder als Eingabe (Input) oder als Ausgabe (Output) Trainingsdaten definieren. | ||||||||
| : Input | Auflistung der Spalten, die man vorher per Drag&Drop aus der obigen Liste mit den Spaltenangaben hierher als Eingabespalten/daten für das Training des neuronalen Netzwerks eingefügt hat. Will man einen Eintrag entfernen, kann man diesen per Drag&Drop in die Liste der verfügbaren Spalten zurückführen oder in die Liste der Output Spalten verschieben. | ||||||||
| : Output | Auflistung der Spalten, die man vorher per Drag&Drop aus der obigen Liste mit den Spaltenangaben hierher als Ausgabespalten/daten für das Training des neuronalen Netzwerks eingefügt hat. Will man einen Eintrag entfernen, kann man diesen per Drag&Drop in die Liste der verfügbaren Spalten zurückführen oder in die Liste der Input Spalten verschieben. | ||||||||
| : Trainingszyklen |
Ausgabe der Daten eines jeden Trainingszyklus. Wenn man auf einen Trainingszklus doppel klickt, dann öffnet sich das Fenster Trainingswerte mit den Input-, den ursprünglichen Output- und den berechneten Outputwerten. (Dieses ist nicht möglich, wenn die Kennzeichnung Trainingsdaten direkt aus Excel lesen gesetzt ist.)
|
||||||||
| Anwenden | |||||||||
| : Input Daten |
Dynamisches Einblenden von Eingabefeldern (abhängig von den gewählten Inputspalten) zur Erfassung von Testdaten für das neuronale Netzwerk. Sollte es sich um ein neuronales Netzwerk vom Typ "Regression" handeln und hat man nur eine Ein- wie auch nur eine Ausgabespalte definiert, kann man sich Testdaten mittels Start-, Schrittweite und Endwert automatisch generieren lassen. Das Ergebnis einer solchen Testreihe kann man sich dann auch als Graphen ausgeben lassen. |
||||||||
| : Anwenden | Mit diesem Knopf werden die Input Daten an das neuronale Netzwerk übergeben, das Ergebnis wird in den Output Daten ausgegeben. | ||||||||
| : Output Daten | Dynamisches Einblenden von Ausgabefeldern (abhängig von den gewählten Outputspalten) mit dem Ergebnis der Testdaten aus dem neuronalen Netzwerk. | ||||||||
| : NN als XML speichern |
Ist das Testen des neuronalen Netzwerks erfolgreich verlaufen, kann man mit diesem Knopf das neuronale Netzwerk als XML-Datei speichern und so für andere Anwender/Anwendungen zur Verfügung stellen. Dem fertig trainierten Neuronalen Netzwerk können in der Bearbeitungs-App weitere Beschreibungsdaten hinzugefügt werden, auch kann das Neuronale Netzwerk dort direkt getestet werden. |
||||||||
| Knopf | Beschreibung |
|---|---|
| Aktion | - |
| : Zurück | Die App wird geschlossen. |
Trainingswerte
In diesem Fenster werden alle Eingabe- und Ausgabespalten der ursprünglichen Trainingsdaten aufgelistet. Zusätzlich wird für jeden Originalwert einer Ausgabespalte auch der mittels des neuronalen Netzwerks ermittelte Wert ausgegeben. Die zusätzliche erste Spalte gibt an, ob und welche Zeile zur Validierung genutzt wurde: Ist eine Zeilennummer vorhanden, wurde diese Zeile zur Validierung verwendet.
Klickt man auf eine Zeile doppelt, wird die entsprechende Zeile in den Trainingsdaten selektiert.
Die Tabellenspalten sind wie folgt aufgebaut: zunächst die Validierungsspalte, gefolgt von den Input-Spalten. Anschließend folgen pro Output-Spalte jeweils abwechselnd der tatsächliche Output sowie der vom neuronalen Netz errechnete Output. Bei numerischen Werten des Outputs werden zusätzlich die Abweichungen angegeben.
| Knopf | Beschreibung |
|---|---|
| Aktion | - |
| : Zurück | Das Fenster wird geschlossen. |
| : Zeichnen |
Die vorgegebenen und die mit dem neuronalen Netzwerk ermittelten Ausgabedaten werden als Graph ausgegeben. Damit kann mittels Vergleich der Daten die Güte des neuronalen Netzwerks gezeigt werden. Die Erstellung der Graphen kann durch Ein-, Ausschalten und Veränderung der Reihenfolge der Spalten gesteuert werden. Sollten Spalten ausgeblendet sein, so werden diese nicht mit in die Grafik gezeichnet. Die Erste Spalte wird immer als X-Achse interpretiert. Sollten Zeilen selektiert sein, so werden nur diese Zeilen in den Graphen übernommen. |
| : Liste wiederherstellen | Gelöschte Werte aus der Liste können durch Klicken dieses Knopfes wiederhergestellt werden. |
| Menüpunkt | Beschreibung |
|---|---|
| : Selektion umkehren | Selektierte Zeilen werden Invertiert, d.h. vorher nicht selektierte Zeilen werden selektiert und umgekehrt. |
| : Selektierte Zeilen entfernen |
Selektierte Zeilen werden entfernt. |
Verwandte Themen
Technische Dokumentation
Lademodul
Modulname
neuralNetworkLoad.app
Klassen
Security
Neben der Beschränkung der Zugriffsrechte über die Klasse und deren Datenfelder kann das Modul über einige der empfangenen Messages in seiner Nutzung beschränkt werden.
| Message | Parameter | Funktion | Security |
|---|---|---|---|
|
LOAD_NEURAL_NETWORK |
|||
| Message | Parameter | Funktion | Empfangs-Modul |
|---|---|---|---|
| PLOT_CHART |