Hauptinhalt

Daten-Clustering mithilfe der App „Neural Net Clustering“

Dieses Beispiel veranschaulicht, wie ein flaches neuronales Netz mithilfe der App Neural Net Clustering für das Daten-Clustering trainiert werden kann.

Öffnen Sie die App Neural Net Clustering mithilfe des Befehls nctool.

nctool

Auswählen der Daten

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

Zum Importieren der Clustering-Daten für das Beispiel einer Irisblüte wählen Sie Import > Import Iris Flowers Data Set (Datensatz für Irisblüten importieren) aus. Wenn Sie Ihre eigenen Daten aus einer Datei oder aus dem Arbeitsbereich importieren, müssen Sie die Prädiktoren 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 150 Beobachtungen mit jeweils vier Merkmalen.

Erstellen des Netzes

Für Clustering-Probleme ist die selbstorganisierende Merkmalskarte (Self-Organizing feature Map, SOM) das am häufigsten verwendete Netz. Dieses Netz besteht aus einer Schicht, in der Neuronen in einem Raster angeordnet sind. Selbstorganisierende Karten lernen, Daten basierend auf deren Ähnlichkeit in Clustern zusammenzufassen. Weitere Informationen zur SOM finden Sie unter Cluster with Self-Organizing Map Neural Network.

Zum Erstellen des Netzes geben Sie die Größe der Karte an, die der Anzahl der Zeilen und Spalten des Netzes entspricht. Für dieses Beispiel setzen Sie den Wert für Map size (Kartengröße) auf 10, was einem Raster mit 10 Zeilen und 10 Spalten entspricht. Die Gesamtzahl der Neuronen ist gleich der Anzahl der Punkte im Raster (in diesem Beispiel hat die Karte 100 Neuronen). Die Netzarchitektur wird im Fensterbereich Network angezeigt.

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 fortgesetzt, bis die maximale Anzahl der Epochen erreicht wurde.

Analysieren der Ergebnisse

Generieren Sie Diagramme, um die Trainingsergebnisse zu analysieren. Beim SOM-Training wird der Gewichtungsvektor, der den einzelnen Neuronen zugeordnet ist, so verschoben, dass er zum Zentrum eines Clusters von Eingangsvektoren wird. Darüber hinaus sollten sich Neuronen, die in der Topologie benachbart sind, auch im Eingangsraum dicht beieinander bewegen, sodass es möglich ist, einen hochdimensionalen Eingangsraum in den zwei Dimensionen der Netztopologie zu visualisieren. Standardmäßig weist die SOM eine hexagonale Topologie auf.

Zum Darstellen der SOM-Beispieltreffer klicken Sie im Abschnitt Plots (Diagramme) auf Sample Hits (Beispieltreffer). In der folgenden Abbildung sind die Positionen der Neuronen in der Topologie dargestellt und es wird angegeben, wie viele der Beobachtungen den einzelnen Neuronen (Clusterzentren) zugeordnet sind. Die Topologie ist ein 10x10-Raster, das heißt, es gibt 100 Neuronen. Jedem Neuron sind maximal 5 Treffer zugeordnet. Daher enthält dieser Cluster 5 Eingangsvektoren.

Erstellen Sie ein Diagramm mit den Gewichtungsebenen (auch als Komponentenebenen bezeichnet). Klicken Sie im Abschnitt Plots (Diagramme) auf Weight Planes (Gewichtungsebenen). Diese Abbildung veranschaulicht, dass eine Gewichtungsebene für jedes Element der Eingangsmerkmale vorliegt (in diesem Beispiel also vier). Im Diagramm sind die Gewichtungen angegeben, die jeden Eingang mit den jeweiligen Neuronen verbinden, wobei dunklere Farben höhere Gewichtungen darstellen. Wenn die Verbindungsmuster zweier Merkmale sehr ähnlich sind, kann davon ausgegangen werden, dass die Merkmale stark korrelieren.

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

  • Trainieren Sie das Netz neu. Jedes Training wird mit unterschiedlichen Anfangsgewichtungen und -verzerrungen des Netzes ausgeführt und so kann nach einem Neutraining ein verbessertes Netz entstehen.

  • Erhöhen Sie die Anzahl der Neuronen, indem Sie die Karte vergrößern.

  • Verwenden Sie einen größeren Trainingsdatensatz.

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. Generieren Sie Diagramme, 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 Daten-Clustering 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 den Tools von MATLAB Compiler™ und anderen Tools zum Generieren von MATLAB-Programmcode 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