Ich habe eine Frage zu selbstorganisierenden Karten:Self-Organizing Maps
Aber zuerst, hier ist mein Ansatz eines an der Umsetzung:
Die som Neuronen in einem Grunde Array gespeichert ist. Jedes Neuron besteht aus einem Vektor (einem anderen Array der Größe der Eingangsneuronen) mit doppelten Werten, die auf einen zufälligen Wert initialisiert werden.
Soweit ich den Algorithmus zu verstehen, das ist eigentlich alles, was ich brauche, sie umzusetzen. mit der euklidischen Abstand von Werten der Probe und den Neuronengewichte
Also, für die Ausbildung wähle ich eine Probe der Trainingsdaten zufällig eine der BMU berechnen.
ich es aktualisieren Danach Gewichte und alle anderen Neuronen in das Sortiment auf der Nachbarschaftsfunktion und die Lernrate abhängig.
Dann verringere ich die Nachbarschaftsfunktion und die Lernrate.
Dies wird bis zu einer festen Anzahl von Iterationen durchgeführt.
Meine Frage ist nun: Wie kann ich die Cluster nach dem Training bestimmen? Meine bisherige Vorgehensweise besteht darin, einen neuen Eingangsvektor darzustellen und den euklidischen Mindestabstand zwischen ihm und der BMU zu berechnen. Aber das scheint mir etwas naiv zu sein. Ich bin mir sicher, dass ich etwas verpasst habe.
Vielen Dank für Ihre ausführliche Antwort und die von Ihnen angegebenen Links! –