Mehrschichtiges Perzeptron
Die Prozedur "Mehrschichtiges Perzeptron" (Multilayer Perceptron, MLP) erstellt ein Vorhersagemodell für mindestens eine abhängige Variable (Zielvariable), das auf den Werten der Prädiktorvariablen beruht.
Beispiele. Im Folgenden finden Sie zwei Szenarios, die die Prozedur MLP verwenden:
Eine Kreditsachbearbeiterin in einer Bank muss in der Lage sein, Merkmale zu ermitteln, die auf Personen hindeuten, die mit hoher Wahrscheinlichkeit ihre Kredite nicht zurückzahlen, und diese Merkmale zur Feststellung eines guten bzw. schlechten Kreditrisikos einzusetzen. Mithilfe einer Stichprobe von früheren Kunden kann sie ein mehrschichtiges Perzeptron trainieren, die Analysen anhand einer Holdout-Stichprobe früherer Kunden validieren und anschließend mit dem Netz das Kreditrisiko potenzieller Kunden als gering oder hoch einstufen.
Ein Krankenhaussystem möchte die Kosten und die Aufenthaltsdauer für Patienten aufzeichnen, die zur Behandlung eines Herzinfarkts aufgenommen wurden. Durch genaue Schätzungen dieser Messwerte kann die Krankenhausverwaltung die verfügbare Bettenkapazität während der Behandlung der Patienten besser verwalten. Mithilfe der Behandlungsakten einer Stichprobe von Patienten, die wegen eines Herzinfarkts behandelt wurden, kann die Verwaltung ein Netz trainieren, mit dem sich die Kosten und die Dauer des Aufenthalts vorhersagen lassen.
Erläuterung der Daten
Abhängige Variablen. Die abhängigen Variablen können wie folgt gestaltet sein:
- Nominal. Eine Variable kann als nominal behandelt werden, wenn ihre Werte Kategorien darstellen, die sich nicht in eine natürliche Reihenfolge bringen lassen, z. B. die Firmenabteilung, in der eine Person arbeitet. Beispiele für nominale Variablen sind Region, Postleitzahl oder Religionszugehörigkeit.
- Ordinal. Eine Variable kann als ordinal behandelt werden, wenn ihre Werte für Kategorien stehen, die eine natürliche Reihenfolge aufweisen (z. B. Grad der Zufriedenheit mit Kategorien von sehr unzufrieden bis sehr zufrieden). Ordinale Variablen treten beispielsweise bei Einstellungsmessungen (Zufriedenheit oder Vertrauen) und bei Präferenzbeurteilungen auf.
- Skala. Eine Variable kann als metrisch (stetig) behandelt werden, wenn ihre Werte geordnete Kategorien mit einer sinnvollen Metrik darstellen, sodass man sinnvolle Aussagen über die Abstände zwischen den Werten machen kann. Metrische Variablen sind beispielsweise Alter (in Jahren) oder Einkommen (in Geldeinheiten).
Bei der Prozedur wird davon ausgegangen, dass allen abhängigen Variablen das richtige Messniveau zugewiesen wurde. Sie können das Messniveau für eine Variable jedoch vorübergehend ändern. Klicken Sie hierzu mit der rechten Maustaste auf die Variable in der Liste der Quellenvariablen und wählen Sie das gewünschte Messniveau im Popup-Menü aus. Weitere Informationen zum dauerhaften Ändern des Messniveaus einer Variablen finden Sie in Messniveau einer Variablen.
Messniveau und Datentyp sind durch ein Symbol neben der jeweiligen Variablen in der Variablenliste gekennzeichnet:
Numerisch | Zeichenfolge | Datum | Zeit | |
---|---|---|---|---|
Metrisch (stetig) | |
entfällt | |
|
Ordinal | |
|
||
Nominal |
Prädiktorvariablen. Prädiktoren können als Faktoren (kategorial) oder als Kovariaten (metrisch) angegeben werden.
Codierung für kategoriale Variablen. Die Prozedur codiert vorübergehend für die Dauer ihrer Ausführung kategoriale Prädiktoren und abhängige Variablen mithilfe der "Eins-aus-c"-Codierung neu. Wenn es c Kategorien für eine Variable gibt, wird die Variable als c Vektoren gespeichert. Dabei wird die erste Kategorie als (1,0,...,0) angegeben, die zweite Kategorie als (0,1,0,...,0),... und die letzte Kategorie als (0,0,...,0,1).
Dieses Codierungsschema erhöht die Anzahl der synaptischen Gewichtungen und kann zu einer Verlangsamung des Trainings führen, "kompaktere" Codierungsmethoden führen jedoch in der Regel zu neuronalen Netzen mit geringer Anpassungsgüte. Wenn das Training des Netzes sehr langsam vorangeht, können Sie versuchen, die Anzahl der Kategorien der kategorialen Prädiktoren zu verringern, indem Sie ähnliche Kategorien zusammenfassen oder Fälle ausschließen, die extrem seltene Kategorien aufweisen. Weitere Informationen zum Neucodieren von Variablen finden Sie in Umcodieren in dieselben Variablen oder Umcodieren in andere Variablen.
Jede "Eins-aus-c"-Codierung beruht auf den Trainingsdaten, selbst wenn eine Test- oder Holdout-Stichprobe definiert wurde (siehe Partitionen (mehrschichtiges Perzeptron)). Wenn also die Test- oder Holdout-Stichproben Fälle mit Prädiktorkategorien enthalten, die in den Trainingsdaten nicht vorhanden sind, werden diese Fälle nicht in der Prozedur oder beim Scoring verwendet. Wenn die Test- oder Holdout-Stichproben Fälle mit Kategorien abhängiger Variablen enthalten, die in den Trainingsdaten nicht vorhanden sind, werden diese Fälle zwar nicht in der Prozedur, jedoch möglicherweise beim Scoring verwendet.
Neuskalierung. Metrische abhängige Variablen und Kovariaten werden standardmäßig neu skaliert, um das Training des Netzes zu verbessern. Jede Neuskalierung beruht auf den Trainingsdaten, selbst wenn eine Test- oder Holdout-Stichprobe definiert wurde (siehe Partitionen (mehrschichtiges Perzeptron)). Das bedeutet, dass je nach Neuskalierungstyp Mittelwert, Standardabweichung, Mindestwert oder Maximalwert einer Kovariaten oder abhängigen Variablen ausschließlich anhand der Trainingsdaten berechnet wird. Wenn Sie eine Variable zur Festlegung von Partitionen angeben, müssen diese Kovariaten oder abhängigen Variablen in der Trainings-, Test- und Holdout-Stichprobe ähnliche Verteilungen aufweisen. Verwenden Sie beispielsweise die Prozedur Explorative Datenanalyse, um die Verteilungen in den verschiedenen Partitionen zu untersuchen.
Häufigkeitsgewichtungen. Häufigkeitsgewichtungen werden von dieser Prozedur ignoriert.
Reproduzieren der Ergebnisse. Wenn Sie Ihre Ergebnisse exakt reproduzieren möchten, müssen Sie nicht nur dieselben Einstellungen für die Prozedur, sondern auch denselben Initialisierungswert für den Zufallszahlengenerator, dieselbe Datenreihenfolge und dieselbe Variablenreihenfolge verwenden. Weitere Details zu diesem Problem folgen:
- Generierung von Zufallszahlen. Die Prozedur verwendet Zufallszahlengenerierung während der Zufallszuweisung von Partitionen, zufällige Ziehung von Teilstichproben für die Initialisierung der synaptischen Gewichtungen, zufällige Ziehung von Teilstichproben für die automatische Architekturauswahl und den Algorithmus der simulierten Abkühlung für die Initialisierung der Gewichtungen und die automatische Architekturauswahl. Um zu einem späteren Zeitpunkt dieselben randomisierten Ergebnisse zu reproduzieren, müssen Sie vor jeder Ausführung der Prozedur "Mehrschichtiges Perzeptron" denselben Initialisierungswert für den Zufallszahlengenerator verwenden. Weitere Informationen finden Sie in Zufallszahlengenerator.
- Fallreihenfolge. Die Trainingsmethoden "Online" und "Mini-Batch" (siehe Training (mehrschichtiges Perzeptron)) sind explizit von der Fallreihenfolge abhängig. Allerdings ist sogar Batch-Training von der Fallreihenfolge abhängig, da die Initialisierung der synaptischen Gewichtungen die Ziehung einer Teilstichprobe aus dem Dataset beinhaltet.
Zur Minimierung der Auswirkungen der Reihenfolge mischen Sie die Fälle in zufälliger Reihenfolge. Prüfen Sie daher die Stabilität einer bestimmten Lösung, indem Sie verschiedene Lösungen abrufen, bei denen die Fälle in einer unterschiedlichen, zufällig ausgewählten Reihenfolge sortiert sind. In Situationen mit extrem umfangreichen Dateien können mehrere Durchgänge mit jeweils einer Stichprobe von Fällen durchgeführt werden, die in unterschiedlicher, zufällig ausgewählter Reihenfolge sortiert ist.
- Reihenfolge der Variablen. Die Ergebnisse können von der Reihenfolge der Variablen in der Faktorenliste und der Kovariatenliste beeinflusst werden, da die zugewiesenen Anfangswerte ein anderes Muster aufweisen, wenn die Reihenfolge der Variablen geändert wird. Wie bei den Effekten der Fallreihenfolge können Sie auch eine andere Reihenfolge der Variablen ausprobieren (durch Ziehen und Ablegen in der Liste der Faktoren oder Kovariaten), um die Stabilität einer bestimmten Lösung einzuschätzen.
Erstellen eines Netzes mit mehrschichtigen Perzeptronen
Für diese Funktion ist SPSS Statistics Premium Edition oder die Option "Neural Network" erforderlich.
Wählen Sie in den Menüs Folgendes aus:
- Wählen Sie mindestens eine abhängige Variable aus.
- Wählen Sie mindestens einen Faktor oder eine Kovariate aus.
Optional können Sie auf der Registerkarte "Variablen" die Methode zur Neuskalierung der Kovariaten ändern. Folgende Optionen stehen zur Auswahl:
- Standardisiert. Subtraktion des Mittelwerts und Division durch die Standardabweichung, (x-Mittelwert)/s.
- Normalisiert. Subtraktion des Mittelwerts und Division durch den Bereich, (x-Min)/(Max-Min). Normalisierte Werte liegen im Bereich zwischen 0 und 1.
- Angepasst normalisiert. Angepasste Version der Subtraktion des Mittelwerts und Division durch den Bereich, [2*(x-Min)/(Max-Min)]-1. Angepasste, normalisierte Werte liegen im Bereich zwischen -1 und 1.
- Keine. Keine Neuskalierung der Kovariaten.
Felder mit unbekanntem Messniveau
Der Messniveau-Alert wird angezeigt, wenn das Messniveau für mindestens eine Variable (ein Feld) im Dataset unbekannt ist. Da sich das Messniveau auf die Berechnung der Ergebnisse für diese Prozedur auswirkt, müssen alle Variablen ein definiertes Messniveau aufweisen.
Daten durchsuchen. Liest die Daten im aktiven Dataset und weist allen Feldern, deren Messniveau zurzeit nicht bekannt ist, das Standardmessniveau zu. Bei großen Datasets kann dieser Vorgang einige Zeit in Anspruch nehmen.
Manuell zuweisen. Öffnet ein Dialogfeld, in dem alle Felder mit unbekanntem Messniveau aufgeführt werden. Mit diesem Dialogfeld können Sie diesen Feldern ein Messniveau zuweisen. Außerdem können Sie in der Variablenansicht des Dateneditors ein Messniveau zuweisen.
Da das Messniveau für diese Prozedur bedeutsam ist, können Sie erst dann auf das Dialogfeld zur Ausführung dieser Prozedur zugreifen, wenn für alle Felder ein Messniveau definiert wurde.
Mit dieser Prozedur wird Syntax des Befehls MLP eingefügt.