Basierend auf der Segmentkarte wird eine weitere Karte trainiert.
Zur Generierung des Eingabevektorfiles für die Musikstückkarte werden die geometrischen Maße der Segmentkarte als Grundlage genommen.
Eine SOM bedeutet, dass ein Vektor der Musikstückkarte
Attribute besitzt.
Auf der Musikstückkarte ist jedes Musikstück nur genau einmal vertreten, unabhängig von seiner Länge.
Die Anzahl der Vektoren der Musikstückkarte ist daher gleich der Anzahl der betrachteten Musikstücke.
Die einzelnen Attribute des Eingabevektors werden aufgrund der Lage der Segmente eines Stückes auf der Segmentkarte gebildet.
Den Eingabevektor kann man vorerst wie in Ausdruck
zur Einfachheit wieder als Tabelle betrachten.
Ein Beispiel für einen
SOM Eingabevektor zeigt Ausdruck
.
Liegen beispielsweise ein Segment desselben Liedes in der Segmentkarte auf Knoten S(0/1)
, zwei auf S(1/3), und keines auf den anderen Segmenten, so lautet der Zeilenvektor für die Musikstückkarte für dieses spezielle Stück
.
Um die Ergebnisse der Segmentkarte zu verunschärfen, wird zu den unmittelbaren Nachbarn noch ein Wert (
) hinzugezählt.
Somit ergibt sich ein Wert von
, welcher auf insgesamt neun Knoten verteilt wird.
Diese Summe bleibt immer gleich.
Je besser ein Segment geclustert ist, desto besser wird das Zentrum gewichtet, und desto niedriger die Nachbarn.
Ist ein Segment schlecht geclustert, so wird eine breite Streuung bis schließlich zur Gleichgewichtung vorgenommen.
In der Implementierung wird der QF, der eine Maßzahl für die Qualität des Mappings ist, benutzt um diese Werte zu berechnen.
Vektoren mit niedrigem QF liegen besser auf dem Knoten, als Vektoren mit hohem QF.
Diese Streuung wird vorgenommen um nachbarschaftliche Beziehungen zu förden.
Durch die Mitgewichtung der Nachbarn werden Gebiete, wo die Segmente eines Liedes direkt nebeneinander liegen aufgewichtet, wodurch Clusterbildung gefördert wird.
Der QF wird durch die euklidische Distanz zwischen dem
-dimensionalen Gewichtsvektor
und dem jeweiligen Segmentvektor
auf diesem Knoten S(x/y) gebildet (Ausdruck
).
Die Ausdrücke
und
stehen für die Komponenten der Vektoren
und
in der
-ten Dimension.
Ist der QF des derzeit betrachteten Segmentvektors
minimal
auf diesem Knoten, d.h. ist das betrachtete Musiksegment sehr ähnlich bzw. am ähnlichsten dem Gewichtsvektor
des Neurons S(x/y), so wird für dieses Segment selbst
hinzugezählt und alle anderen Nachbarn gleichsam um
erhöht (
stellt den Segmentvektor mit dem minimalsten QF auf diesem Knoten dar, um das deutlich zu zeigen wird er immer wie folgendermaßen dargestellt:
).
Das bedeutet, zu jedem der Nachbarn wird
hinzugezählt, was in etwa
entspricht.
Übersteigt der QF ein gewisses Niveau (ist er siebenmal so groß wie das Minimum auf diesem Knoten), so wird eine Gleichgewichtung vorgenommen.
Der Wert des Knotens und der aller Nachbarn wird um
erhöht.
Die genaue Berechnung der Attribute
und deren Nachbarn
des neuen Vektors
für die Musikstückkarte ist in Rechnung
und
gezeigt.
Zum besseren Verständnis folgt ein weiteres Beispiel:
Stück besitzt folgende Verteilung auf einer
SOM: 1 Segment auf S(0/1) mit QF 4 und 2 Segmente auf S(1/3) mit QF 1 und 2.
Stück
besitzt ein Segment auf S(0/1) mit QF 1, ein weiteres auf S(0/2) mit QF 3 und noch eines auf S(1/3) mit QF 9.
Zuerst wird der minimale QF für jeden Knoten berechnet, Rechnung
.
Für S(0/1):
Für S(0/2):
Für S(1/3):
Vektor für die Musikstückkarte lautet somit wie im Ausdruck
.
Um die Länge der Stücke zu nivellieren werden die resultierenden Vektoren auf Länge 1 normiert.
Nun wird wiederum eine SOM mit diesen Vektoren trainiert. Das Resultat ist eine Karte, auf der jedes Musikstück nur genau einmal vorkommt. Auf der Segmentkarte ähnlich verteilte Musikstücke liegen in benachbarten Bereichen, während Stücke mit einer völlig anderen Verteilung in anderen Bereichen zu finden sind. Natürlich werden nicht nur Stücke deren Segmente alle auf einem Cluster liegen auf einen gemeinsamen Bereich gemappt, sondern auch solche, die ähnliche Sprungverhalten zeigen, z.B. zwischen zwei Clustern hin und her springen (Strophe und Refrain).