Unüberwachtes Lernen (englisch unsupervised learning) bezeichnet maschinelles Lernen ohne im Voraus bekannte Zielwerte sowie ohne Belohnung durch die Umwelt. Die (Lern-)Maschine versucht, in den Eingabedaten Muster zu erkennen, die vom strukturlosen Rauschen abweichen.[1] Ein künstliches neuronales Netz orientiert sich an der Ähnlichkeit zu den Inputwerten und adaptiert die Gewichte entsprechend. Es können verschiedene Dinge gelernt werden. Beliebt sind die automatische Segmentierung (Clustering) oder die Hauptkomponentenanalyse von Daten zur Dimensionsreduktion.
Trotz der geringeren verfügbaren Menge an Informationen in den Daten kann das unüberwachte Lernen einen entscheidenden Beitrag zum maschinellen Lernen liefern.
Die geringere verfügbare Menge an Daten erscheint zuerst wie ein Nachteil gegenüber dem überwachten Lernen, das durch die Steuerung über Belohnungen und Metriken einen Fokus auf ein bestimmtes Ziel legen kann.
Das unüberwachte Lernen bietet hier allerdings den Vorteil, dass auch mit Daten gearbeitet werden kann, zu denen keine Zielwerte existieren. Das überwachte Lernen würde hierbei an seine Grenzen stoßen.[2]
Durch die geringeren Begrenzungen hinsichtlich zu verwendender Daten kann das unüberwachte Lernen auch neue Strukturen in Daten identifizieren. Hierbei werden aus den vorhandenen Daten Rückschlüsse bezüglich immer wieder auftretender Muster gezogen, sodass über diese Rückschlüsse in Zukunft weitere Daten strukturiert werden können.
Durch die geringeren Begrenzungen hinsichtlich gewünschter Zielwerte können so Gemeinsamkeiten identifiziert werden, die vorher nicht in Betracht gezogen wurden.[2]
Eine der Hauptaufgaben des unüberwachten Lernens ist die Findung von Clustern in unstrukturierten Daten.
Hierbei wird versucht zwischen den einzelnen Einträgen eines Datensatzes Gemeinsamkeiten zu finden und basierend auf die Gemeinsamkeiten Cluster zu bilden.
Hierbei existieren verschiedene Vorgehen wie die Einteilung in diese Cluster geschehen kann. Die Clusteranalyse unterscheidet hierbei unter anderem zwischen hierarchischem, partitionierendem, dichtebasierendem und gitterbasierendem Clustering.
Diese Vorgehen unterschieden sich hierbei teilweise deutlich in ihrem Ergebnis in Bezug auf die betrachteten Daten, sodass der optimale Algorithmus immer auf eine Einzelfallentscheidung hinaus läuft.
Zur Analyse der Güte der erstellten Cluster existieren verschiedene Metriken, um die einzelnen Algorithmen zu evaluieren.[3]
Beispiele:
Hierarchisches Clustering:
Partitionierendes Clustering
Dichtebasierendes Clustering
Gitterbasierendes Clustering
Neben der Einteilung in einzelne Cluster können mittels unüberwachtem Lernen auch einzelne Ausreißer in einem Datensatz erkannt werden. Hierbei sollen Daten identifiziert werden, die sich von vorher definiertem normalem Verhalten unterschieden.[4]
Die Umsetzung dieser Ausreißererkennung unterscheidet sich dabei stark zwischen den einzelnen Algorithmen. Ein beliebter Algorithmus in diesem Bereich ist der Isolation Forest Algorithmus. Diese Algorithmen des unüberwachten Lernens finden sich in unterschiedlichen Anwendungsszenarien in der Praxis wieder.
Im Bereich der Sicherheit werde sie zum Beispiel innerhalb von Intrusion Detection System angewendet. Hierbei sollen sie Angreifer mittels eines von der Norm abweichenden Verhalten erkennen. Die Modelle wurde dabei zuvor anhand des normalen Datenverkehrs trainiert.[5]
Beispielalgorithmen:
Hierbei ist das Ziel der Analyse eine Vielzahl einzelner Datenpunkte auf die wenigen aussagekräftigen Punkte zu reduzieren. Dieses Vorgehen wird oftmals mit der Clusteranalyse kombiniert, um die Anzahl betrachteter Punkte in dieser zu reduzieren.[1]
Hierzu werden die einzelnen Spalten eines Datensatzes auf ihren Informationsgehalt geprüft. Spalten, die einen niedrigen Informationsgehalt besitzen werden eliminiert, bis eine vorher definierte Anzahl an übrigen Spalten erreicht wurde.[1]