Hauptinhalt

Mustererkennung mit der App „Neural Net Pattern Recognition“

Dieses Beispiel veranschaulicht, wie ein flaches neuronales Netz mithilfe der App Neural Net Pattern Recognition zur Klassifizierung von Mustern trainiert werden kann.

Öffnen Sie die App Neural Net Pattern Recognition mithilfe des Befehls nprtool.

nprtool

Auswählen der Daten

Die App Neural Net Pattern Recognition enthält Beispieldaten, die Ihnen den Einstieg in das Training eines neuronalen Netzes erleichtern.

Wählen Sie zum Importieren von Daten zur Klassifizierung von Glas die Optionen Import > Import Glass Data Set (Glasdatensatz importieren) aus. Mit diesem Datensatz können Sie ein neuronales Netz trainieren, das anhand der chemischen Eigenschaften von Glas klassifiziert, ob es sich um Fenster oder Nicht-Fenster handelt. Wenn Sie Ihre eigenen Daten aus einer Datei oder aus dem Arbeitsbereich importieren, müssen Sie die Prädiktoren und Antworten angeben und festlegen, ob die Beobachtungen in Zeilen oder Spalten vorliegen.

Informationen über die importierten Daten werden im Fenster Model Summary (Modellzusammenfassung) angezeigt. Dieser Datensatz enthält 214 Beobachtungen mit jeweils 9 Merkmalen. Jede Beobachtung wird in eine von zwei Klassen klassifiziert: Fenster oder Nicht-Fenster.

Unterteilen Sie die Daten in Trainings-, Validierungs- und Testmengen. Behalten Sie die Standardeinstellungen bei. Die Daten sind wie folgt unterteilt:

  • 70 % für das Training.

  • 15 % für die Validierung, um festzustellen, ob das Netz generalisiert, und um das Training zu stoppen, bevor es zu einer Überanpassung kommt.

  • 15 %, um unabhängig zu testen, ob das Netz generalisiert.

Weitere Informationen zur Datenunterteilung finden Sie unter Divide Data for Optimal Neural Network Training.

Erstellen des Netzes

Das Netz ist ein zweischichtiges vorwärtsgerichtetes Netz (auch: Feedforward-Netz) mit einer Sigmoid-Transferfunktion in der verborgenen Schicht und einer Softmax-Transferfunktion in der Ausgangsschicht. Die Größe der verborgenen Schicht entspricht der Anzahl der verborgenen Neuronen. Die Standardschichtgröße ist 10. Die Netzarchitektur wird im Fensterbereich Network angezeigt. Die Anzahl der Ausgangsneuronen ist auf 2 festgelegt, was der Anzahl der Klassen entspricht, die durch die Antwortdaten vorgegeben sind.

Trainieren des Netzes

Klicken Sie zum Trainieren des Netzes auf Train.

Im Fensterbereich Training wird der Trainingsfortschritt angezeigt. Das Training wird so lange fortgesetzt, bis eines der Stoppkriterien erfüllt ist. In diesem Beispiel wird das Training so lange fortgesetzt, bis der Validierungsfehler größer oder gleich dem zuvor kleinsten Validierungsfehler für sechs aufeinanderfolgende Validierungsiterationen ist („Validierungskriterium erfüllt“).

Analysieren der Ergebnisse

Die Modellzusammenfassung enthält Informationen zum Trainingsalgorithmus und zu den Trainingsergebnissen für die einzelnen Datensätze.

Sie können die Ergebnisse weiter analysieren, indem Sie Diagramme generieren. Zum Darstellen der Konfusionsmatrizen klicken Sie im Abschnitt Plots (Diagramme) auf Confusion Matrix (Konfusionsmatrix). Die Netzausgänge sind sehr genau, wie Sie an der hohen Anzahl korrekter Klassifizierungen in den grünen Quadraten (diagonal) und der geringen Anzahl falscher Klassifizierungen in den roten Quadraten (außerdiagonal) erkennen können.

Anhand der ROC-Kurve können Sie die Leistung des Netzes zusätzlich überprüfen. Klicken Sie im Abschnitt Plots (Diagramme) auf ROC Curve (ROC-Kurve).

Die farbigen Linien entlang der jeweiligen Achsen stellen die Receiver-Operating-Characteristics(ROC)-Kurven dar. Die ROC-Kurve ist ein Diagramm der Richtig-Positiv-Rate (Sensitivität) im Verhältnis zu der Falsch-Positiv-Rate (1-Spezifität), wenn der Schwellenwert variiert wird. Bei einem perfekten Test würden Punkte in der oberen linken Ecke mit einer Sensitivität von 100 % und einer Spezifität von 100 % angezeigt werden. Für dieses Problem funktioniert das Netz sehr gut.

Wenn Sie mit der Leistung des Netzes nicht zufrieden sind, können Sie eine der folgenden Möglichkeiten nutzen:

  • Trainieren Sie das Netz neu.

  • Erhöhen Sie die Anzahl der verborgenen Neuronen.

  • Verwenden Sie einen größeren Trainingsdatensatz.

Wenn die Trainingsmenge zu einer guten Leistung führt, die Testmenge jedoch nicht, könnte dies auf eine Überanpassung des Modells hinweisen. Durch eine Verringerung der Anzahl der Neuronen kann die Überanpassung reduziert werden.

Sie können die Leistung des Netzes auch anhand einer zusätzlichen Testmenge beurteilen. Um zusätzliche Testdaten zur Beurteilung des Netzes zu laden, klicken Sie im Abschnitt Test auf Test. In der Modellzusammenfassung werden die zusätzlichen Testergebnisse angezeigt. Sie können auch Diagramme generieren, um die zusätzlichen Testergebnisse zu analysieren.

Generieren von Code

Wählen Sie Generate Code > Generate Simple Training Script (Einfaches Trainingsskript generieren) aus, um MATLAB-Programmcode zu erstellen, mit dem die vorherigen Schritte über die Befehlszeile reproduziert werden können. Das Erstellen von MATLAB-Programmcode kann hilfreich sein, wenn Sie lernen möchten, wie die Befehlszeilenfunktionen der Toolbox zum Anpassen des Trainingsprozesses genutzt werden können. In Mustererkennung mithilfe von Befehlszeilenfunktionen werden Sie die generierten Skripte näher untersuchen.

Exportieren des Netzes

Sie können Ihr trainiertes Netz in den Arbeitsbereich oder nach Simulink® exportieren. Sie können das Netz auch mit MATLAB Compiler™ und anderen MATLAB-Tools zur Codegenerierung bereitstellen. Wählen Sie zum Exportieren Ihres trainierten Netzes und der Ergebnisse die Optionen Export Model > Export to Workspace (In den Arbeitsbereich exportieren) aus.

Siehe auch

| | | |

Themen