Unbeaufsichtigtes Lernen erklärt

Trotz des Erfolgs von überwachtem maschinellem Lernen und tiefem Lernen gibt es eine Denkschule, die besagt, dass unbeaufsichtigtes Lernen ein noch größeres Potenzial hat. Das Lernen eines betreuten Lernsystems ist durch seine Ausbildung begrenzt; Das heißt, ein überwachtes Lernsystem kann nur die Aufgaben lernen, für die es trainiert wurde. Im Gegensatz dazu könnte ein unbeaufsichtigtes System theoretisch „künstliche allgemeine Intelligenz“ erreichen, dh die Fähigkeit, jede Aufgabe zu lernen, die ein Mensch lernen kann. Die Technologie ist jedoch noch nicht vorhanden.

Wenn das größte Problem beim überwachten Lernen die Kosten für die Kennzeichnung der Trainingsdaten sind, besteht das größte Problem beim unbeaufsichtigten Lernen (bei dem die Daten nicht gekennzeichnet sind) darin, dass es häufig nicht sehr gut funktioniert. Nichtsdestotrotz hat unbeaufsichtigtes Lernen seine Verwendung: Es kann manchmal gut sein, um die Dimensionalität eines Datensatzes zu reduzieren, das Muster und die Struktur der Daten zu untersuchen, Gruppen ähnlicher Objekte zu finden und Ausreißer und anderes Rauschen in den Daten zu erkennen. 

Im Allgemeinen lohnt es sich, im Rahmen Ihrer explorativen Datenanalyse unbeaufsichtigte Lernmethoden auszuprobieren, um Muster und Cluster zu erkennen, die Dimensionalität Ihrer Daten zu verringern, latente Merkmale zu erkennen und Ausreißer zu entfernen. Ob Sie dann zum überwachten Lernen übergehen oder vorab trainierte Modelle verwenden müssen, um Vorhersagen zu treffen, hängt von Ihren Zielen und Ihren Daten ab.

Was ist unbeaufsichtigtes Lernen?

Denken Sie darüber nach, wie menschliche Kinder lernen. Als Eltern oder Lehrer müssen Sie kleinen Kindern nicht jede Hunderasse und jede Katzenrasse zeigen, um ihnen beizubringen, Hunde und Katzen zu erkennen. Sie können ohne viel Erklärung aus einigen Beispielen lernen und sich selbst verallgemeinern. Oh, sie könnten fälschlicherweise einen Chihuahua "Kitty" nennen, wenn sie zum ersten Mal einen sehen, aber Sie können das relativ schnell korrigieren.

Kinder fassen Gruppen von Dingen, die sie sehen, intuitiv in Klassen zusammen. Ein Ziel des unbeaufsichtigten Lernens besteht im Wesentlichen darin, Computern die Entwicklung derselben Fähigkeit zu ermöglichen. Wie Alex Graves und Kelly Clancy von DeepMind es in ihrem Blogbeitrag formulierten: "Unüberwachtes Lernen: der neugierige Schüler".

Unbeaufsichtigtes Lernen ist ein Paradigma, das entwickelt wurde, um autonome Intelligenz zu schaffen, indem Agenten (dh Computerprogramme) für das Lernen über die Daten belohnt werden, die sie ohne Berücksichtigung einer bestimmten Aufgabe beobachten. Mit anderen Worten, der Agent lernt zum Zwecke des Lernens.

Das Potenzial eines Agenten, der zum Lernen lernt, ist weitaus größer als ein System, das komplexe Bilder auf eine binäre Entscheidung reduziert (z. B. Hund oder Katze). Das Aufdecken von Mustern anstelle einer vordefinierten Aufgabe kann zu überraschenden und nützlichen Ergebnissen führen. Dies wurde gezeigt, als Forscher des Lawrence Berkeley Lab einen Textverarbeitungsalgorithmus (Word2vec) für mehrere Millionen materialwissenschaftliche Abstracts ausführten, um Entdeckungen neuer thermoelektrischer Materialien vorherzusagen.

Clustering-Methoden

Ein Clustering-Problem ist ein unbeaufsichtigtes Lernproblem, bei dem das Modell aufgefordert wird, Gruppen ähnlicher Datenpunkte zu finden. Derzeit werden eine Reihe von Clustering-Algorithmen verwendet, die tendenziell leicht unterschiedliche Eigenschaften aufweisen. Im Allgemeinen untersuchen Clustering-Algorithmen die Metriken oder Abstandsfunktionen zwischen den Merkmalsvektoren der Datenpunkte und gruppieren dann diejenigen, die nahe beieinander liegen. Clustering-Algorithmen funktionieren am besten, wenn sich die Klassen nicht überlappen.

Hierarchisches Clustering

Die hierarchische Clusteranalyse (HCA) kann agglomerativ sein (Sie erstellen die Cluster von unten nach oben, beginnend mit einzelnen Punkten und endend mit einem einzelnen Cluster) oder teilend (Sie beginnen mit einem einzelnen Cluster und teilen ihn auf, bis Sie mit einzelnen Punkten fertig sind). Wenn Sie Glück haben, finden Sie eine Zwischenstufe des Clustering-Prozesses, die eine aussagekräftige Klassifizierung widerspiegelt.

Der Clustering-Prozess wird normalerweise als Dendrogramm (Baumdiagramm) angezeigt. HCA-Algorithmen benötigen in der Regel viel Rechenzeit [ O (n3)] und Speicherressourcen [ O (n2)]. Diese beschränken die Anwendbarkeit der Algorithmen auf relativ kleine Datensätze.

HCA-Algorithmen können verschiedene Metriken und Verknüpfungskriterien verwenden. Der euklidische Abstand und der quadratische euklidische Abstand sind beide für numerische Daten üblich. Hamming-Abstand und Levenshtein-Abstand sind für nicht numerische Daten üblich. Einzelverknüpfung und vollständige Verknüpfung sind üblich; Beide können die Clustering-Algorithmen (SLINK bzw. CLINK) vereinfachen. SLINK ist einer der wenigen Clustering-Algorithmen, die garantiert eine optimale Lösung finden.

K-bedeutet Clustering

Das k-Mittelwert-Clustering-Problem versucht, n Beobachtungen unter Verwendung der euklidischen Abstandsmetrik in k Cluster zu unterteilen , mit dem Ziel, die Varianz (Summe der Quadrate) innerhalb jedes Clusters zu minimieren. Es ist eine Methode zur Vektorquantisierung und nützlich für das Lernen von Merkmalen.

Der Lloyd's-Algorithmus (iterative Cluster-Agglomeration mit Schwerpunktaktualisierungen) ist die am häufigsten zur Lösung des Problems verwendete Heuristik und relativ effizient, garantiert jedoch keine globale Konvergenz. Um dies zu verbessern, wird der Algorithmus häufig mehrmals mit zufälligen anfänglichen Cluster-Schwerpunkten ausgeführt, die mit den Methoden Forgy oder Random Partition generiert wurden.

K-means nimmt sphärische Cluster an, die trennbar sind, so dass der Mittelwert zum Clusterzentrum konvergiert, und nimmt auch an, dass die Reihenfolge der Datenpunkte keine Rolle spielt. Es wird erwartet, dass die Cluster eine ähnliche Größe haben, sodass die Zuordnung zum nächsten Clusterzentrum die richtige Zuordnung ist.

Die Heuristiken zum Lösen von k-Mittelwert-Clustern ähneln normalerweise dem Erwartungsmaximierungsalgorithmus (EM-Algorithmus) für Gaußsche Mischungsmodelle.

Mischungsmodelle

Mischungsmodelle gehen davon aus, dass die Teilpopulationen der Beobachtungen einer gewissen Wahrscheinlichkeitsverteilung entsprechen, üblicherweise Gaußschen Verteilungen für numerische Beobachtungen oder kategoriale Verteilungen für nicht numerische Daten. Jede Teilpopulation kann ihre eigenen Verteilungsparameter haben, zum Beispiel Mittelwert und Varianz für Gaußsche Verteilungen.

Die Erwartungsmaximierung (EM) ist eine der beliebtesten Techniken zur Bestimmung der Parameter eines Gemisches mit einer bestimmten Anzahl von Komponenten. Zusätzlich zu EM können Mischungsmodelle mit Markov-Ketten-Monte-Carlo, Momentanpassung, Spektralmethoden mit Singularwertzerlegung (SVD) und grafischen Methoden gelöst werden.

Die ursprüngliche Anwendung des Mischungsmodells bestand darin, zwei Populationen von Uferkrabben durch das Verhältnis von Stirn zu Körperlänge zu trennen. Karl Pearson löste dieses Problem 1894 durch Momentanpassung.

Eine übliche Erweiterung von Mischungsmodellen besteht darin, die latenten Variablen, die die Identitäten der Mischungskomponenten definieren, zu einer Markov-Kette zu verbinden, anstatt anzunehmen, dass sie unabhängige, identisch verteilte Zufallsvariablen sind. Das resultierende Modell wird als Hidden-Markov-Modell bezeichnet und ist eines der häufigsten sequentiellen hierarchischen Modelle.

DBSCAN-Algorithmus

Das dichtebasierte räumliche Clustering von Anwendungen mit Rauschen (DBSCAN) ist ein nicht parametrischer Datenclustering-Algorithmus aus dem Jahr 1996. Er ist für die Verwendung mit Datenbanken optimiert, die geometrische Bereichsabfragen mithilfe eines R * -Baums oder einer anderen geometrischen Indexstruktur beschleunigen können .

Im Wesentlichen gruppiert DBSCAN Kernpunkte , die mehr als eine Mindestanzahl von Nachbarn in einiger Entfernung von Epsilon haben, verwirft als Ausreißerpunkte, die keine Nachbarn in Epsilon haben, und fügt diesem Cluster Punkte hinzu, die sich innerhalb von Epsilon eines Kernpunkts befinden. DBSCAN ist einer der am häufigsten verwendeten Clustering-Algorithmen und kann beliebig geformte Cluster finden.

OPTICS-Algorithmus

Das Ordnen von Punkten zur Identifizierung der Clusterstruktur (OPTICS) ist ein Algorithmus zum Auffinden dichtebasierter Cluster in räumlichen Daten. OPTICS ähnelt DBSCAN, behandelt jedoch den Fall unterschiedlicher Punktdichte.

Variationen der Ideen in DBSCAN und OPTICS können auch zur einfachen Erkennung und Entfernung von Ausreißern und Geräuschen verwendet werden.

Latente variable Modelle

Ein latentes Variablenmodell ist ein statistisches Modell, das einen Satz beobachtbarer Variablen mit einem Satz latenter (versteckter) Variablen in Beziehung setzt. Latente Variablenmodelle sind nützlich, um verborgene Strukturen in komplexen und hochdimensionalen Daten aufzudecken. 

Hauptkomponentenanalyse

Die Hauptkomponentenanalyse (PCA) ist ein statistisches Verfahren, das eine orthogonale Transformation verwendet, um eine Reihe von Beobachtungen möglicherweise korrelierter numerischer Variablen in eine Reihe von Werten linear nicht korrelierter Variablen umzuwandeln, die als Hauptkomponenten bezeichnet werden. Karl Pearson erfand PCA 1901. PCA kann durch Eigenwertzerlegung einer Datenkovarianz- (oder Korrelations-) Matrix oder Singularwertzerlegung (SVD) einer Datenmatrix erreicht werden, üblicherweise nach einem Normalisierungsschritt der Anfangsdaten.

Einzelwertzerlegung

Die Singularwertzerlegung (SVD) ist eine Faktorisierung einer reellen oder komplexen Matrix. Es ist eine gängige Technik in der linearen Algebra und wird häufig mithilfe von Householder-Transformationen berechnet. SVD ist eine Möglichkeit, nach Hauptkomponenten zu suchen. Während es durchaus möglich ist, SVD von Grund auf neu zu codieren, gibt es in allen linearen Algebra-Bibliotheken gute Implementierungen.

Methode der Momente

Die Methode der Momente verwendet die Momente der beobachteten Datenprobe (Mittelwert, Varianz, Schiefe und Kurtosis), um Populationsparameter abzuschätzen. Die Methode ist recht einfach, kann oft von Hand berechnet werden und erreicht normalerweise eine globale Konvergenz. Bei niedrigen Statistiken kann die Methode der Momente jedoch manchmal Schätzungen erzeugen, die außerhalb des Parameterraums liegen. Die Methode der Momente ist eine einfache Möglichkeit, Mischungsmodelle (oben) zu lösen.

Algorithmen zur Erwartungsmaximierung

Ein Expectation-Maximization (EM) -Algorithmus ist eine iterative Methode, um Schätzungen der maximalen Wahrscheinlichkeit von Parametern in Modellen zu finden, die von nicht beobachteten latenten Variablen abhängen. Die EM-Iteration wechselt zwischen dem Durchführen eines Erwartungsschritts (E), der eine Funktion für die Erwartung der Log-Wahrscheinlichkeit erstellt, die unter Verwendung der aktuellen Schätzung für die Parameter bewertet wird, und einem Maximierungsschritt (M), der Parameter berechnet, die das erwartete Log maximieren. Wahrscheinlichkeit im E-Schritt gefunden.

EM konvergiert gegen ein Maximum oder einen Sattelpunkt, aber nicht unbedingt gegen das globale Maximum. Sie können die Wahrscheinlichkeit erhöhen, das globale Maximum zu finden, indem Sie die EM-Prozedur aus vielen zufälligen Anfangsschätzungen für die Parameter wiederholen oder die Anfangsschätzungen mithilfe der Momentenmethode bestimmen.

EM, die auf ein Gaußsches Mischungsmodell (oben) angewendet wird, kann für die Clusteranalyse verwendet werden.

Unüberwachte neuronale Netze

Neuronale Netze werden normalerweise auf gekennzeichneten Daten zur Klassifizierung oder Regression trainiert, was per Definition überwachtes maschinelles Lernen ist. Sie können auch mit verschiedenen unbeaufsichtigten Schemata auf unbeschriftete Daten trainiert werden.

Autoencoder

Autoencoder sind neuronale Netze, die auf ihre Eingaben trainiert werden. Im Wesentlichen ist der Autoencoder ein Feed-Forward-Netzwerk, das als Codec fungiert, seine Eingabe von der Eingabeschicht in eine oder mehrere verborgene Schichten mit einer niedrigeren Neuronenzahl codiert und dann die codierte Darstellung in eine Ausgabeschicht mit der Topologie als decodiert Eingang.

Während des Trainings verwendet der Autoencoder die Rückausbreitung, um den Unterschied zwischen Eingang und Ausgang zu minimieren. Autoencoder wurden zur Reduzierung der Dimensionalität, zum Lernen von Merkmalen, zum Entrauschen, zur Erkennung von Anomalien, zur Bildverarbeitung und zum Lernen generativer Modelle verwendet.

Netzwerke des tiefen Glaubens

Deep-Believe-Netzwerke (DBNs) sind Stapel von Autoencodern oder eingeschränkten Boltzmann-Maschinen (RBNs), die lernen können, ihre Eingaben zu rekonstruieren. Die Schichten wirken dann als Merkmaldetektoren. RBNs werden normalerweise mit kontrastiver Divergenz trainiert.

DBNs wurden zum Erzeugen und Erkennen von Bildern, Videosequenzen und Bewegungserfassungsdaten verwendet.

Generative gegnerische Netzwerke

Generative Adversarial Networks (GANs) trainieren gleichzeitig zwei Netzwerke, ein generatives Modell, das die Datenverteilung erfasst, und ein diskriminatives Modell, das die Wahrscheinlichkeit schätzt, dass eine Stichprobe aus den Trainingsdaten stammt. Das Training versucht, die Wahrscheinlichkeit zu maximieren, dass der Generator den Diskriminator täuschen kann.

GANs können verwendet werden, um Fotos von imaginären Menschen zu erstellen und astronomische Bilder zu verbessern. GANs wurden auch verwendet, um Texturen aus alten Videospielen für die Verwendung in hochauflösenden Versionen der Spiele zu skalieren. Außerhalb des unbeaufsichtigten Lernens wurden GANs erfolgreich eingesetzt, um das Lernen des Spielens zu verbessern.

Selbstorganisierende Karte

Die selbstorganisierende Karte (SOM) definiert eine geordnete Abbildung aus einem Satz gegebener Datenelemente auf ein reguläres, normalerweise zweidimensionales Gitter. Jedem Gitterknoten ist ein Modell zugeordnet. Ein Datenelement wird dem Knoten zugeordnet, dessen Modell dem Datenelement am ähnlichsten ist, dh in einer bestimmten Metrik den geringsten Abstand zum Datenelement aufweist.

Es gibt eine Reihe von Vorsichtsmaßnahmen, die Sie treffen müssen, um sicherzustellen, dass die Zuordnungen stabil und ordentlich sind. Nicht alle kommerziellen Implementierungen folgen allen Vorsichtsmaßnahmen.