- Neuronales Gas
-
Neural Gas - ein Künstliches neuronales Netz, angelehnt an die Self-Organizing Maps und vorgestellt 1991 von Thomas Martinetz und Klaus Schulten. Das Neural Gas ist ein einfacher Algorithmus zur möglichst fehlerfreien Datenkodierung mit Hilfe von Merkmalsvektoren. Die Bezeichnung begründet sich auf der Dynamik der Merkmalsvektoren, die sich während des Lernprozesses wie ein "Gas" im Datenraum verteilen. Anwendung findet es überall dort, wo Datenkompression oder Vektorquantisierung durchgeführt werden muss, also zum Beispiel in der Spracherkennung, Bildverarbeitung oder Mustererkennung. Als robust konvergierende Alternative zum K-Means-Algorithmus wird es des Weiteren zur Clusteranalyse eingesetzt. Prominente Erweiterungen des Neural Gas sind das Growing Neural Gas und das Topology Representing Network.
Arbeitsweise
Gegeben eine Häufigkeitsverteilung P(x) von Datenvektoren x sowie eine endliche Zahl von Merkmalsvektoren wi, i=1,...,N. Mit jedem Zeitschritt t wird ein zufällig aus P gewählter Datenvektor präsentiert. Danach wird zunächst die Entfernungsrangfolge der Merkmalsvektoren zum gegebenen Datenvektor x bestimmt. i0 bezeichnet den Index des nächstliegenden Merkmalsvektors, i1 den Index des zweitnächsten usw. und iN-1 den Index des zu x entferntesten Merkmalsvektors. Dann wird jeder Merkmalsvektor adaptiert. Der Adaptionsschritt lautet für k=0,...,N-1
mit ε als Adaptionsschrittweite und λ als sogenannte Nachbarschaftsreichweite. ε und λ nehmen mit der Zahl t der Adaptionsschritte ab. Nach ausreichend vielen Adaptionsschritten decken die Merkmalsvektoren den Datenraum gleichmäßig ab.
Kommentare
- Der Adaptionsschritt des Neural Gas kann als Gradientenabstieg auf einer Kostenfunktion interpretiert werden.
- Durch Adaption nicht nur des nächstliegenden Merkmalsvektors sondern in abnehmendem Maße auch der im Entfernungsrang folgenden Merkmalsvektoren wird im Vergleich zum K-Means-Algorithmus eine robuste und von der Initialisierung weitgehend unabhängige Konvergenz erzielt.
- Als Lernrate hat sich bewährt:
mit εstart=1 als Startlernrate und εend=0,001 als Lernrate zum Ende des Verfahrens, d.h. nach tmax Stimuluspräsentationen. - Als Nachbarschaftreichweite hat sich bewährt:
mit λstart=N/2 als Reichweite zu Beginn und λend=0,01 als Reichweite zum Ende des Verfahrens.
Referenzen & Weblinks
- T. M. Martinetz and K. J. Schulten. A neural-gas network learns topologies. In T. Kohonen, K. Mäkisara, O. Simula, and J. Kangas, editors, Artificial Neural Networks, pages 397-402. North-Holland, Amsterdam, 1991.
- T. Martinetz, S. Berkovich, and K. Schulten. "Neural-gas" Network for Vector Quantization and its Application to Time-Series Prediction. IEEE-Transactions on Neural Networks, 4(4):558-569, 1993.
- T. Martinetz and K. Schulten. Topology representing networks. Neural Networks, 7(3):507-522, 1994.
- Growing Neural Gas videos.
- Java applet. Neural Gas, Growing Neural Gas und andere Verfahren des kompetitiven Lernens.
- Fritzkes Seite zu Growing Neural Gas.
- Java Competitive Learning Applications Unsupervised Neural Networks (including Self-organizing map) in Java mit Quelltexten.
- Neural Gas Algorithm
Wikimedia Foundation.