Frage

Ich mag die Ausführung zu stoppen, wenn Batch SOM konvergiert wird. Welche Fehlerfunktion kann ich die Konvergenz bestimmen?

War es hilfreich?

Lösung

Wenn man über die Konvergenz für SOM, für eine bestimmte Kartengröße (n x m), Sie wollen wissen, ob genügend Iterationen des Algorithmus, um die Karte, um sicherzustellen, haben laufen ist „stabil“. Das bedeutet grob gesagt, tun neue Eingänge (Beobachtungen) auf der Karte an den gleichen Neuronen platziert bekommen / Kodebuchvektoren, wenn die Karte oft umschulen? (Das Ignorieren der Frage der Tatsache, dass die Anordnung der Karte wechseln kann um, wenn es wird jedes Mal trainiert, die als die Cluster noch gut, so lange ist, sind in einer stabilen Art und Weise angeordnet sind).

Zur Unterstützung bei der Beantwortung der Frage, ob genügend Iterationen ausgeführt haben, finden Sie in den wissenschaftlichen Arbeiten weiter unten. Beide Papiere auch über die Ausgabe von berühren, was Karte Größe angemessen ist (was n x m-Werte Hilfe gewährleisten Konvergenz der SOM?).

Einer der traditionellen Ansätze, die in Papiere populär gewesen ist hier gegeben:

Statistische Tools, um die Zuverlässigkeit der selbstorganisierenden Karten (Bodt, Cottrell, Verleysen)

In jüngerer Zeit ist dieses Verfahren zustande gekommen ist, die eher sehen vielversprechend aus:

Ein Konvergenzkriterium für selbstorganisierende MAPS , Diplomarbeit, Benjamin h. ott (University of Rhode Island)

Diese Arbeit, meiner Meinung nach, war wirklich gut geschrieben und ein Vergnügen zu lesen. Was auch schön ist, dass diese Forschung in einem (eher unbekannt) Paket in R, genannt popsom als SOM Konvergenztest geschrieben wurde. Check it out:

popsom

Andere Tipps

Ich bin mir ziemlich sicher, dass Sie mittleren Kostenfunktion anstatt Fehlerfunktion.

SOM benötigt keine Fehlerfunktion (noch eine Kostenfunktion).

Auf der obersten Ebene des Machine Learning Taxonomie, SOM ist eine unüberwachten Lerntechnik -. Keine Zielvektor und somit keine "Zielvektor" minus "value_at_the_current_iteration" zu minimieren

Eine weitere Möglichkeit, daran zu denken: Die Rolle einer Kostenfunktion ist es, einige Kosten zu minimieren; in ML, es ist das Delta zwischen Modellrechnung und gelieferten Daten. In SOM, werden keine Daten an den Algorithmus für diesen Zweck zugeführt wird.

(Ich weiß, dass dies etwas verwirrend, da die Eingangsdaten, aus denen das Netzwerk erstellt wird oft als „Trainingsdaten“ bezeichnet wird - wahrscheinlich, dass die Rolle von Eingangsdaten in beaufsichtigten ML-Techniken ist, die weitaus häufiger sind als . unbeaufsichtigt diejenigen Es ist wahrscheinlich verwirrend auch, weil Teuvo Kohonen, die Person gutgeschrieben ‚erfinden‘ SOM, ursprünglich, um sie als eine Klasse von neuronalen Netzen bezeichnet - und natürlich NN ein überwachtes Technik ist und auf einer Kostenfunktion angewiesen ist (oft Gradient Abstieg.))

Schließlich, nur um sicher zu machen, überprüfte ich meinen eigenen SOM-Code als auch den Code aus dem ML Lehrbuch von Marsland, „Machine Learning: Eine algorithmische Perspective“. Sowohl in meinem Code und sein, das einzige Abbruchkriterium unabhängig von Wert für „maximale Iterationen“ der Benutzer übergeben, wenn er die Hauptfunktion genannt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top