Lade...
 

Neuronales Netzwerk Aufbauen

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.

Felder
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.
copytoclipboard.png 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.)

Knopf Beschreibung
: NN initialisieren Das neuronale Netzwerk wird initialisiert, d.h. alle Parameter und auch alle eventuell bisher trainierten Daten gehen verloren.
: NN finetunen Während des trainierens lassen sich bestimmte Trainingsparameter neu setzen.
: NN trainieren

Die Eingabe- und Ausgabedaten werden dem neuronalen Netzwerk als Trainingsdaten übergeben. Nach einem Training(zyklus) wird das Ergebnis der Güte in der darüber liegenden Liste ausgegeben.

Man kann ein NN mehrfach trainieren, wichtig dabei ist es ein Resultat zu erhalten, bei dem der Trainingsverlust und auch der Validierungsfehler so klein wie möglich sind.

Neuronale Netze tendieren im Regelfall dazu, den Trainingsdatensatz zu overfitten. Das bedeutet, dass das Netz die Trainingsdaten "auswendig lernt". Dies ist im Allgmeinen nicht erwünscht, da das Netz dann schlecht auf noch nicht gesehene Daten inter-/extrapolieren kann. Dies erkennt man daran, dass der "Validierungsfehler" deutlich größer als der "Trainingsverlust" ist (und der Trainingsverlust sehr klein ist). Mehr unter Wikipedia-Overfitting.

 

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.

Knöpfe
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.

Knöpfe
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.
Kontextmenü - Erreichbar mittels Rechtsklick auf die Liste oder einer Zeile
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

CX_NEURAL_NETWORK

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.

Empfangene Messages
Message Parameter Funktion Security

LOAD_NEURAL_NETWORK

     
       
       
Gesendete Messages
Message Parameter Funktion Empfangs-Modul
PLOT_CHART      

 

Operativer Betrieb