Kompetitive Netze
Definition: Kompetitive Netze
Kompetitive Netze sind neuronale Netze, typischerweise mit einer Input- und einer Outputschicht. Wie beim Pattern Associator und Kohonennetzen sind hier keine Hidden-Units vorhanden, wenngleich die Verwendung von Hidden-Units mit der von kompetitiven Netzen benutzten kompetitiven Lernregel möglich ist. Damit erfolgt die Trainingsphase kompetitiver Netze in 3 Schritten:
- Erregung
- Wettbewerb
- Adjustierung der Gewichte
unsupervised learning
Im Gegensatz zu den bisher vorgestellten Netzen sind kompetitive Netze unsupervised, d. h. sie kommen ohne Vorgabe eines korrekten, externen Output-Reizes aus.
Begrenzung der Gewichtsvektoren
Bei kompetitiven Netzen kann es vorkommen, dass die Gewichte zu einer einzigen oder einigen wenigen Outputunits so groß werden, dass diese den Wettbewerb unabhängig vom Muster des Inputs gewinnen. In diesem Fall leistet ein kompetitives Netz keine "sinnvolle" Kategorienbildung mehr. Um dies zu verhindern kann man z. B. die Größe (d.h. den Absolutbetrag) aller einzelnen Gewichtsvektoren einer Schicht (Gewichtsvektor = alle Gewichte einer bestimmten Outputunit) auf einen konstanten Wert festlegen.
Anwendungen
Anwendungen kompetitiver Netze
Kompetitive Netze eignen sich zu folgenden Anwendungen:
- Filtern von Redundanzen und Alternative zur Faktorenanalyse (z. B. Erzeugung von Outputmustern, die weniger korreliert sind als der Input)
- vorgeschaltetes Netz für andere Netztypen (Beispielsweise kann man ein kompetitives Netz vor einen Pattern Associator setzen, damit die einzelnen "Patterns" weniger korreliert sind. Dadurch wird die Arbeitsweise des Pattern Associators verbessert.)
- Musterklassifikation (ähnlich wie beim Pattern Associator, jedoch im Gegensatz zu diesem als "unsupervised learning") -> z. B. Buchstabenerkennung
- Im Rahmen der Musterklassifikation: Korreliertes Lernen (correlated teaching). Beispiel: Nehmen wir an, es sollen die Inputmuster "AA", "BA", "SB" und "EB" mit 2 Outputunits kategorisiert werden. Eine Möglichkeit für das neuronale Netz bestünde darin, dass die zweite Stelle ("A" oder "B") festlegt, zu welcher Outputunit ein Inputmuster zugeordnet wird. Damit würde nun "A" und "B", sowie "S" und "E" zusammen geclustert, obwohl diese Buchstaben sich relativ unähnlich sind (=eine zum Teil "unnatürliche Klassifikation" durch korreliertes Lernen). Das korrelierte Lernen kann unter anderem bei linear nicht separierbaren Problemen eingesetzt werden.