Verständnisfrage zu Kohonenkarten



  • Hallo,

    Ich habe ein problem beim Verständnis einer Kohonenkarte.
    http://de.wikipedia.org/wiki/Selbstorganisierende_Karte
    Ich habe verstanden wie sie aufgebaut ist und wie das Lernen funktioniert.

    Doch habe ich irgendwie ein Problem zu verstehen, was die eigentliche Ausgabe ist. (klingt komisch, ich weiß)

    Eine Kohonenkarte soll verwendet werden können um z.B. eine Dimensionsreduktion (z.B. von einer gegebnen Punktewolke) durchzuführen.

    Ich schreibe mal auf, was ich verstanden habe:

    Man stellt also die Koordinaten der Punktewolke als Eingabeneuronen dar.
    Es gibt eine n*m Ausgabeschicht von Neuronen.
    Jedes Eineabeneuron ist mit jedem Neuron der Ausgabeschicht gewichtet verbunden.

    Man initialisiert die Gewichte zufällig.

    Trainiert wird folgendermaßen:
    Es werden Eingabewerte an den Eingabeneuronen angelegt. Dann wird das Neuron der Ausgabeschicht gesucht welches der Eingabe am besten entspricht.
    Dieses und seine Nachbarn werden dann etwas in "richtung" der Eingabe verschoben.

    Nun frage ich mich, was eigentlich die Ausgabe ist?
    Wenn man das Netz gut trainiert hat, wird doch später das am besten passende Neuron aus der Ausgabeschicht nahezu die Identitätsfunktion der Eingabe sein.
    Was hat man also davon? Oder nimmt man als "Ergebnis" die Koordinate des am besten passenden Ausgabeneurons in der Anordnung der Ausgabeneuronen? Oder was sonst? Wo ist also die Dimensionsreduktion?



  • Ich denke es als "Ergebnis" erhält man die topologischen (geometrischen) Beziehungen der aktiv werdeneden Neuronen.

    Es stimmt, dass es im Idealfall auf eine Identitätsabbildung hinausläuft aber:
    1. Nicht der Wert des Neurons ist entscheident, sondern seine Lage in der konkurierenden Neuronenschicht.
    2. Es können auch Werte abgebildet werden die nicht in der Lernphase behandelt wurden.

    Beispiel:
    Bei einer Umfrage werden z.B. 30 Eigenschaften von Automarken abgefragt.
    (z.B. bwerten sie wie "gut" sie diese Automarke finden(in Zahlen), oder Jahresumsatz etc.)

    Damit trainiert man die Kohonenkarte mit einer 2D konkurierenden Neuronsnschicht.

    Schließlich, nach der Lernphase, gibt man die Automarken mit ihren Bewertungen ein und liest die Lage des am stärksten aktiv werdenden Neurons in der 2D Ebene der konkurierenden Neuronen ab. Somit hat man eine "2D Karte" die durch die Position der Automarken ihre Ähnlichkeit in Bezug auf die 30 Merkmale in der 2D Ebene duch ihre Lage wiedergibt, was einer Dimensionsreduktion von 30 auf 2 entspricht.

    Nun könnte man eine Automarke nehmen für die man zwar die Umfrage gemacht hat, aber die Kohonenkarte nicht trainiert hat. Dennoch wird diese Automakre von der Kohonenkarte (mehr oder weniger) sinvoll in der 2D Ausgabe zu den anderen Automarken zugeordnet.

    Somit gibt die Dimension der konkurierenden Neuronenschicht die Dimension der "Ausgabe" an.



  • Ein anderer Ansatz ist, dass man das "Gewinnerneuron" für einen bestimmten Eingangsvektor unabhängig von dessen Gewichtsvektor einfach nur als "binären" Ausgang betrachtet und z.B. an nachfolgende Netzwerkschichten oder andere weiterverarbeitende Stufen weitergibt.

    z.B. LVQ / Counterpropagation. Beide verwenden quasi Kohonenschichten und verwerten lediglich das Gewinnerneuron unabhängig von dessen Gewichtsvektor.



  • MisterX schrieb:

    Doch habe ich irgendwie ein Problem zu verstehen, was die eigentliche Ausgabe ist. (klingt komisch, ich weiß)

    Eine Kohonenkarte soll verwendet werden können um z.B. eine Dimensionsreduktion (z.B. von einer gegebnen Punktewolke) durchzuführen.

    Ich bin jetzt kein Experte für Kohonenkarten, aber so hab ich das aus meiner Vorlesung in Erinnerung:

    Wenn du ein Lernproblem hast, dann hast du normalerweise ziemlich hochdimensionale Daten in einem Eingaberaum Y. Bei vielen Problemen ist es aber so, dass du eigentlich einen niedrigdimensionalen Raum X hast, du aber nur eine Abbildung f:X->Y siehst, wobei f(x) beliebig kompliziert und stochastisch sein kann. Die Kohonenkarten suchen nun eine Abbildung x=f^-1(y).

    Als Ausgabe würde ich in diesem Szenario immer die Position des aktivsten neurons nehmen und eventuell die Ausgaben auf 1 normalisieren.

    Kohonenkarten funktionieren natürlich nur dann richtig gut, wenn man am Anfang eine sinnvolle Annahme über die Dimensionalität von X macht, auch wenn 2D mit am häufigsten ist und wahrscheinlich höhere Dimensionen rechnerisch nur schwierig zu erfassen sind. Schätzt man die Dimensionalität viel zu klein ein, kann es sein, dass die Nachbarschaftsbeziehungen unintuitiv werden (versuch mal einen 2D raum in einen 5D raum zu werfen, sodass dieser möglichst gut gefüllt ist. Da kommt nix sinnvolles mehr bei rum)



  • Ist ja quasi fast das gleiche.
    Du kannst SOMs zur Transformation von einem Raum in einen anderen nutzen. Darin eingeschlossen ist auch starke Dimensionsreduktion von Daten.


Log in to reply