Wie kann ein künstliches neuronales Netzwerk ANN für unbeaufsichtigtes Clustering verwendet werden?


52

Ich verstehe, wie artificial neural network (ANN)man mit Backpropogation überwacht trainieren kann, um die Anpassung zu verbessern, indem man den Fehler in den Vorhersagen verringert. Ich habe gehört, dass ein ANN für unbeaufsichtigtes Lernen verwendet werden kann, aber wie kann dies ohne irgendeine Kostenfunktion durchgeführt werden, um die Optimierungsstufen zu steuern? Mit k-means oder dem EM-Algorithmus gibt es eine Funktion, nach der jede Iteration sucht, um zuzunehmen.

  • Wie können wir mit einem ANN Clustering durchführen und welchen Mechanismus verwendet er, um Datenpunkte an derselben Stelle zu gruppieren?

(Und welche zusätzlichen Funktionen bringt das Hinzufügen weiterer Ebenen mit sich?)


Interessieren Sie sich für NN unbeaufsichtigtes Lernen im Allgemeinen oder speziell für unbeaufsichtigtes Clustering mit neuronalen Netzen?
Denis Tarasov

@DenisTarasov, ich interessiere mich hauptsächlich für unbeaufsichtigtes Clustering mit NN, weiß aber nicht viel über das unbeaufsichtigte NN-Lernen im Allgemeinen. Es wäre großartig, wenn eine Antwort ein wenig unbeaufsichtigtes Lernen von NN im Allgemeinen beinhalten würde, bevor die spezifische Anwendung besprochen wird.
Vass

1
Self Organizing Map (SOM) ist eine Art Netzwerk, das für Clustering verwendet wird.
Cagdas Ozgenc

unbeaufsichtigtes Lernen in ANN - Extrahiert statistische Eigenschaften aus dem Trainingssatz. - Unbeaufsichtigtes Lernen ist schwieriger, wird aber als biologisch plausibel angesehen. - Erfordert keinen Lehrer.
yonas

Antworten:


56

Neuronale Netze werden häufig beim unbeaufsichtigten Lernen verwendet, um eine bessere Darstellung der Eingabedaten zu erlernen. Beispielsweise kann NN bei einem Satz von Textdokumenten eine Zuordnung von einem Dokument zu einem reellen Vektor so lernen, dass die resultierenden Vektoren für Dokumente mit ähnlichem Inhalt ähnlich sind, dh Abstand beibehalten. Dies kann beispielsweise mit Auto-Encodern erreicht werden - einem Modell, das darauf trainiert ist, den ursprünglichen Vektor aus einer kleineren Darstellung (Aktivierungen versteckter Ebenen) mit einem Rekonstruktionsfehler (Abstand von der ID-Funktion) als Kostenfunktion zu rekonstruieren. Durch diesen Vorgang erhalten Sie keine Cluster, es werden jedoch aussagekräftige Darstellungen erstellt, die für das Clustering verwendet werden können. Sie können beispielsweise einen Clustering-Algorithmus für die Aktivierungen der verborgenen Ebene ausführen.

Clustering: Es gibt eine Reihe verschiedener NN-Architekturen, die speziell für das Clustering entwickelt wurden. Am bekanntesten sind wahrscheinlich selbstorganisierende Karten. Ein SOM ist ein NN, bei dem eine Reihe von Neuronen zu einem topologischen Gitter verbunden sind (normalerweise rechteckig). Wenn einem SOM ein Muster präsentiert wird, wird das Neuron mit dem nächstgelegenen Gewichtsvektor als Gewinner betrachtet und seine Gewichte werden an das Muster sowie an die Gewichte seiner Nachbarschaft angepasst. Auf diese Weise findet ein SOM natürlich Datencluster. Ein etwas verwandter Algorithmus ist das Züchten von neuronalem Gas (es ist nicht auf eine vordefinierte Anzahl von Neuronen beschränkt).

Ein anderer Ansatz ist die Adaptive Resonanz Theorie, bei der wir zwei Schichten haben: "Vergleichsfeld" und "Erkennungsfeld". Das Erkennungsfeld bestimmt auch die beste Übereinstimmung (Neuron) mit dem vom Vergleichsfeld übertragenen Vektor und weist auch laterale inhibitorische Verbindungen auf. Implementierungsdetails und exakte Gleichungen können leicht gefunden werden, indem die Namen dieser Modelle gegoogelt werden. Deshalb werde ich sie hier nicht einfügen.


15

Sie möchten sich selbstorganisierende Karten ansehen . Kohonen (der sie erfunden hat) hat ein Buch über sie geschrieben. Es gibt Pakete dafür in R ( som , kohonen ) und Implementierungen in anderen Sprachen wie MATLAB .


Können Sie etwas näher darauf eingehen, wie der NN dies tun kann, und die Theorie erläutern? möglicherweise auch den Effekt der Verwendung eines tiefen NN (DNN) erklären?
Vass,

1
Ich fürchte, ich habe hier sehr wenig Fachwissen, @Vass. Ich glaube nicht, dass das Hinzufügen zusätzlicher Ebenen viel bewirkt, außer dass es verlangsamt wird. Jemand anderes wird Ihnen die Theorie geben müssen, ich wollte Sie nur an den Start bringen.
gung - Wiedereinsetzung von Monica

1
Ein Student in unserem Labor experimentierte mit Clustering mithilfe von SOM. Es hat ewig gedauert, und die Ergebnisse waren im Vergleich zu anderen Ansätzen (in unserem Fall Standard-Graph-Clustering-Algorithmen) sehr enttäuschend. Ich war immer verwundert darüber, dass die Standard-2D-Zieldomäne (topologisches Gitter) ein höchst willkürlicher Raum zu sein scheint. Beunruhigender ist, dass es sehr einfach ist und im Wesentlichen die Daten in einen durch nur zwei Variablen beschriebenen Raum komprimieren muss.
Micans

@micans macht einige gute Punkte, aber die Daten werden nicht einfach in einen Raum komprimiert, der durch nur zwei Variablen beschrieben wird, da jeder Knoten auch einem Prototyp zugeordnet ist. Auch wenn die Ausführung langsam ist, kann dies ein Implementierungsproblem sein. Statistisch gesehen sollten andere Methoden als SOM bessere Klassifizierungsergebnisse erzielen. Was die Topologie angeht, so scheint das Gehirn als Ebenen der 2D-Topologie organisiert zu sein, aber es erzielt großartige Ergebnisse (oder wie ich es mir vorstellen möchte).
Tom Anderson
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.