# Selbstorganisierende Karte
## Einleitung

Diese Seite zum Thema Selbstorganisierende Karte kann als Wiki2Reveal Folien angezeigt werden. Einzelne Abschnitte werden als Folien betrachtet und Änderungen an den Folien wirken sich sofort auf den Inhalt der Folien aus. Dabei werden die folgenden Teilaspekte im Detail behandelt:
* (1) Motivation für neuronale Karten in der Neurophysiologie
* (2) Mathematische Grundlagen und visuelle Darstellung
* (3) Implementation von Methoden z.B. in GNU R oder Octave

## Zielsetzung

Diese Lernressource ist es Selbstorganisierende Karten neurophysiologisch zu motivieren und in die mathematische Modellbildung und Implementation der Methoden einzuführen.

## Lernvoraussetzungen

Die Lernressource zum Thema Selbstorganisierende Karte hat die folgenden Lernvoraussetzungen, die zum Verständnis der nachfolgenden Ausführungen hilfreich bzw. notwendig sind.
* Mathematische Grundkenntnisse aus der lineare Algebra
* Grundvorstellungen zur Funktionsweise von neuronalen Netzen

## Begriff und Einbettung des Themas

Als Selbstorganisierende Karten, Kohonenkarten oder Kohonennetze (nach Teuvo Kohonen; englisch self-organizing map, SOM bzw. self-organizing feature map, SOFM) bezeichnet man eine Art von künstlichen neuronalen Netzen. Sie sind als unüberwachtes Lernverfahren ein leistungsfähiges Werkzeug des Data-Mining.

### Animation

Deformation eines Netzes durch geclusterte Trainingsdaten

### Funktionsprinzip

Das Funktionsprinzip selbstorganisierender Karten beruht auf der biologischen Erkenntnis, dass viele Strukturen im Gehirn eine lineare oder planare neurophysiologische Topologie aufweisen. Mathematische Strukturen, mit denen diese neurophysiologische Strukturen modelliert werden können, werden im Kontext der Graphentheorie und auch der Topologie behandelt.

### Dimensionsreduktion

Die Signale des Eingangsraums, z. B. visuelle Reize, sind jedoch multidimensional. Es stellt sich also die Frage, wie diese multidimensionalen Eindrücke durch planare Strukturen verarbeitet werden. Biologische Untersuchungen zeigen, dass die Eingangssignale so abgebildet werden, dass ähnliche Reize nahe beieinander liegen. Der Phasenraum der angelegten Reize wird also kartiert.

### Sensorische Karte

Erhält eine selbstorganisierende Karte Signale als Eingaben, so werden nur diejenigen Gebiete der Karte erregt, die dem Signal ähnlich sind. Die Neuronenschicht wirkt als topologische Merkmalskarte, wenn die Lage der am stärksten erregten Neuronen in gesetzmäßiger und stetiger Weise mit wichtigen Signalmerkmalen korreliert ist.

### Anwendungsgebiete

Anwendung finden selbstorganisierende Karten zum Beispiel in der Computergrafik (als Quantisierungsalgorithmus zur Farbreduktion von Rastergrafikdaten) und zur Clusteranalyse.

## Laterale Umfeldhemmung

Ein allgemeines Arbeitsprinzip des Nervensystems ist, dass aktive lokale Gruppen von Nervenzellen andere Gruppen ihrer Umgebung hemmen, und somit deren Aktivität unterdrücken (siehe laterale Hemmung). Die Aktivität einer Nervenzelle wird daher aus der Überlagerung des erregenden Eingangssignals und den hemmenden Beiträgen aller Schichtneuronen bestimmt. Da diese laterale Hemmung überall gilt, kommt es zu einem ständigen Wettbewerb um die Vorherrschaft. Der Verlauf der lateralen Hemmung ist für kurze Distanzen erregend/verstärkend und für lange Distanzen hemmend/schwächend. Es lässt sich zeigen, dass dieser Effekt ausreichend ist, eine Lokalisierung der Erregungsantwort in der Nähe der maximalen äußeren Erregung zu bewirken.

### Laterale Inhibition - Optische Täuschung

Hell-Dunkel-Wechsel als Ausgangsbild für die optische Täuschung.

### Laterale Inhibition - Monochromes graues Rechteck

Auf dem gegebenen Hell-Dunkel-Wechsel als Ausgangsbild wird nun ein monochromes graues Rechteck ergänzt.

### Aufgabe - Laterale Inhibition

Das graue Rechtecht ist monochrome. Dennoch scheint sich ein komplementärer Wechsel von helleren zu dunkleren Bereichen von dem benachbarten Übergänge zwischen schwarz und weiß zu induzieren. Nehmen Sie zwei Blätter Papier und bedecken Sie den Bildschirm so, dass nur noch das graue Rechteck zu sehen ist. Die laterale Inhibition is so als optische Täuschung zu erkennen. Erläutern Sie den Mechanismus der lateralen Inhibition an diesem Beispiel.

## Struktur und Lernen
### Eingabeschicht

Eine Eingabeschicht mit 𝑛 Neuronen ist vollständig mit allen Neuronen innerhalb der Kohonenkarte (der sogenannte competitive layer), im Folgenden einfach Karte, verbunden. Jeder zu kartierende Eingangsreiz 𝑣 wird über die Verbindungen an jedes Neuron dieser Karte weitergegeben.

### Verbindungsgewichte

Die Verbindungsgewichte 𝑤 zwischen den Neuronen der Eingabeschicht und den Neuronen in der Karte definieren je einen Punkt im Eingangsraum der angelegten Reize 𝑣. Alle Neuronen innerhalb der Karte sind untereinander inhibitorisch (hemmend) vernetzt.

### Erläuterungen zu Iteration

* (1) Die Abbildung zeigt einen Adaptionsschritt im Modell von Kohonen. Ein Reiz 𝑣 wird an das Netz angelegt.
* (2) Das Netz sucht das Erregungszentrum 𝑠 in der Karte, dessen Gewichtsvektor 𝑤 am nächsten zu 𝑣 liegt (kleinster Abstand).
* (3) Der Unterschied zwischen 𝑤 und 𝑣 wird in einem Adaptionsschritt verringert.
* (4) Die Neuronen nahe am Erregungszentrum 𝑠 werden auch adaptiert, aber umso weniger, je weiter sie vom Erregungszentrum entfernt sind.

### Euklidischer Abstand

Es ist gebräuchlich, aber nicht zwingend, sowohl für die Lernvektoren als auch für die Karte den euklidischen Abstand als Abstandsmaß zu verwenden.

### Epoche für Trainingsdaten

Steht ein Satz verschiedener Trainingsdaten zur Verfügung, so ist eine Epoche im Training vollständig, wenn alle Reize genau einmal in zufälliger Reihenfolge an die Eingabeschicht angelegt worden sind. Das Training endet, wenn das Netz seinen stabilen Endzustand erreicht hat.

### Lernen als Interationsprozess

Das Lernen in einer selbstorganisierten Karte kann formal als iterativer Prozess beschrieben werden. Im Anfangszustand sind die Gewichtsvektoren der Neuronen zufällig im Netz verteilt und in jedem Lernschritt wird an das Netz ein Reiz angelegt. Die selbstorganisierende Karte verändert die Gewichtsvektoren der Neuronen entsprechend der Hebbschen Lernregel, sodass sich im Laufe der Zeit eine topografische Abbildung ergibt.

## Training einer SOM im Beispiel

Die folgende Tabelle zeigt ein Netz, dessen Neuronen in einem Gitter angeordnet sind und zu Beginn zufällig im Raum verteilt sind. Es wird mit Eingabereizen aus dem Quadrat trainiert, die gleichverteilt sind.
| Zufällig initialisiertes Netz | 10 Trainingschritte | 100 Trainingsschritte |
| 1.000 Trainingsschritte | 10.000 Trainingsschritte | 100.000 Trainingsschritte |

## Formale Beschreibung des Trainings

Gegeben ist eine endliche Menge $\mathbb {D}$ von Trainingsstimuli $x^{(i)}$, die durch einen n-dimensionalen Vektor $\mathbb {R} ^{n}$ spezifiziert sind:
    $\mathbb {D} =\{x^{(i)}=(x_{1}^{(i)},\ldots ,x_{n}^{(i)})\mid x^{(i)}\in X\subseteq \mathbb {R} ^{n},i=1,...,d\}$
Weiterhin sei eine Menge von $N$ Neuronen gegeben, denen jeweils ein Gewichtsvektor $w_{i}\in X\subset \mathbb {R} ^{n}$ und eine Position k$_i$ auf einer Kohonen-Karte zugeordnet wird.

### Beispiel - zweidimensionaler Grundraum

Im weiteren Verlauf wird der Grundraum des Kohonennetzes als zweidimensional angenommen, da so das Prinzip der Kohonennetze gut veranschaulicht werden kann. Die Kartendimension kann beliebig-dimensional gewählt werden, wobei Kartendimensionen kleiner-gleich drei zur Visualisierung von hochdimensionalen Zusammenhängen verwendet werden. Die Positionen auf der Karte sollen diskreten, quadratischen Gitterpunkten entsprechen (alternative Nachbarschaftstopologien wie z. B. hexagonale Topologien sind ebenfalls möglich), und jeder Gitterpunkt soll durch genau ein Neuron besetzt sein:
    $N=\{n_{i}=(w_{i},k_{i})\mid w_{i}\in X\subseteq \mathbb {R} ^{n},k_{i}\in K^{2},i=1,...,\mu _{N}\}$

### Lernphase

In der Lernphase wird aus der Menge der Stimuli zum Präsentationszeitpunkt t ein Element m$_j$$^t$ gleichverteilt zufällig ausgewählt. Dieser Stimulus legt auf der Karte ein Gewinnerneuron n$_s$$^t$ fest, das als Erregungszentrum bezeichnet wird. Es handelt sich dabei um genau das Neuron, dessen Gewichtsvektor w$_s$$^t$ den geringsten Abstand im Raum X zu dem Stimulusvektor x$_j$$^t$ besitzt, wobei eine Metrik d$_X$(.,.) des Inputraumes gegeben sei:
    $d_{X}(x_{j}^{t},w_{s}^{t})=min\{d_{X}(x_{j}^{t},w_{i}^{t})\mid i=1,...,\mu _{N}\}$
Nachdem n$_s$$^t$ ermittelt wurde, werden alle Neuronen n$_i$$^t$ bestimmt, die neben dem Erregungszentrum ihre Gewichtsvektoren anpassen dürfen. Es handelt sich dabei um die Neuronen, deren Entfernung d$_A$(k$_s$, k$_i$) auf der Karte nicht größer ist als ein zeitabhängiger Schwellenwert, der als Entfernungsreichweite δ$^t$ bezeichnet wird, wobei eine Metrik d$_A$(.,.) der Karte gegeben sei. Diese Neuronen werden in einer Teilmenge N$^{+t}$ ⊂ N$^t$ zusammengefasst:
    $N^{+t}=\{n_{i}=(w_{i},k_{i})\mid d_{A}(k_{s},k_{i})\leq \delta ^{t}\}$
Im folgenden Adaptionsschritt wird auf alle Neuronen aus N$^{+t}$ ein Lernschritt angewendet, der die Gewichtsvektoren verändert. Der Lernschritt ist interpretierbar als eine Verschiebung der Gewichtsvektoren in Richtung des Stimulusvektors x$_j$$^t$.
Es wird entsprechend dem Modell von Ritter et al. (1991) dabei die folgende Adaptionsregel verwendet:
    $w_{s}^{t+1}=w_{s}^{t}+\epsilon ^{t}\cdot h_{si}^{t}\cdot (x_{j}-w_{s}^{t})$
mit den zeitabhängigen Parametergleichungen ε$^t$ und h$_{si}$$^t$, die festgelegt werden als:
1) Die zeitabhängige Lernrate ε$^t$:
    $\epsilon ^{t}=\epsilon _{\text{start}}\cdot \left({\frac {\epsilon _{\text{end}}}{\epsilon _{\text{start}}}}\right)^{\frac {t}{t_{\text{max}}}}$
mit der Startlernrate ε$_{start}$ und ε$_{end}$ als der Lernrate zum Ende des Verfahrens, d. h. nach t$_{max}$ Stimuluspräsentationen.
2) Die zeitabhängige Entfernungsgewichtungsfunktion h$_{si}$$^t$:
    $h_{si}^{t}=e^{\frac {-d_{A}(k_{s},k_{i})^{2}}{2\cdot (\delta ^{t})^{2}}}$
mit δ$^t$ als dem Nachbarschafts- oder Adaptionsradius um das Gewinner-Neuron auf der Karte:
    $\delta ^{t}=\delta _{\text{start}}\cdot \left({\frac {\delta _{\text{end}}}{\delta _{\text{start}}}}\right)^{\frac {t}{t_{\text{max}}}}$
mit dem Adaptionsradius δ$_{start}$ zum Anfang des Verfahrens, und δ$_{end}$ als dem Adaptionsradius zum Ende des Verfahrens.
Damit eine topologie-erhaltende Abbildung entsteht, d. h., dass benachbarte Punkte im Inputraum X auf benachbarte Punkte auf der Karte abgebildet werden, müssen zwei Faktoren berücksichtigt werden:
* Die topologische Nachbarschaft h$_{si}$$^t$ um das Erregungszentrum muss anfangs groß gewählt und im Laufe des Verfahrens verkleinert werden.
* Die Adaptionsstärke ε$^t$ muss ausgehend von einem großen Wert im Laufe des Verfahrens auf einen kleinen Restwert sinken.
In dem dargestellten Lernprozess werden t$_{max}$ Präsentationen durchgeführt, wonach die SOM in die Anwendungsphase überführt werden kann, in der Stimuli präsentiert werden, die in der Lernmenge nicht vorkamen. Ein solcher Stimulus wird dem Gewinnerneuron zugeordnet, dessen Gewichtsvektor die geringste Distanz von dem Stimulusvektor besitzt, sodass dem Stimulus über den Umweg des Gewichtsvektors ein Neuron und eine Position auf der Neuronenkarte zugeordnet werden kann. Auf diese Weise wird der neue Stimulus automatisch klassifiziert und visualisiert.

## Varianten der SOM

Es wurden eine Vielzahl von Varianten und Erweiterungen zu dem ursprünglichen Modell von Kohonen entwickelt, u. a.:
* Kontext-SOM (K-SOM)
* Temporäre SOM (T-SOM)
* Motorische SOM (M-SOM)
* Neuronen-Gas (NG-SOM)
* Wachsende Zellstrukturen (GCS-SOM)
* Wachsende Gitterstruktur (GG-SOM)
* Wachsende hierarchische SOM (GH-SOM)
* Wachsendes Neuronen-Gas (GNG-SOM)
* Parametrische SOM (P-SOM)
* Hyperbolische SOM (H-SOM)
* Interpolierende SOM (I-SOM)
* Local-Weighted-Regression-SOM (LWR-SOM)
* Selektive-Aufmerksamkeits-SOM (SA-SOM)
* Gelernte Erwartungen in GNG-SOMs (LE-GNG-SOM)
* Fuzzy-SOM (F-SOM)
* Adaptive-Subraum-SOM (AS-SOM)
* Generative Topographische Karte (GTM)