Unüberwachtes Lernen
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.
Vorteile des unüberwachten Lernens
BearbeitenTrotz 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]
Clusteranalyse
BearbeitenEine 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:
- Minimum Linkage
- Maximum Linkage
- Ward Linkage
Partitionierendes Clustering
Dichtebasierendes Clustering
Gitterbasierendes Clustering
- STING
- CLIQUE
Anomalieerkennung
BearbeitenNeben 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:
- Local Outlier Factor
- Isolation Forest
- Autoencoder
Hauptkomponentenanalyse
BearbeitenHierbei 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]
Siehe auch
BearbeitenLiteratur
Bearbeiten- Geoffrey Hinton, Terrence J. Sejnowski (Hrsg.): Unsupervised Learning: Foundations of Neural Computation. MIT Press, 1999, ISBN 0-262-58168-X (englisch).
- Richard O. Duda, Peter E. Hart, David G. Stork: Pattern classification (2nd edition). Wiley, New York 2001, ISBN 0-471-05669-3, Unsupervised Learning and Clustering, S. 571 (englisch).
Einzelnachweise
Bearbeiten- ↑ a b c Zoubin Ghahramani: Unsupervised Learning. In: Advanced Lectures on Machine Learning. 3176. Jahrgang, 16. September 2004, S. 72–112, doi:10.1007/978-3-540-28650-9_5 (cam.ac.uk [PDF]).
- ↑ a b Ankur A. Patel: Hands-On Unsupervised Learning Using Python. O’Reilly, Sebastopol 2019, ISBN 978-1-4920-3564-0, S. 7–8.
- ↑ Darius Pfitzner, Richard Leibbrandt, David Powers: Characterization and evaluation of similarity measures for pairs of clusterings. In: Knowledge and Information Systems. Band 19, Nr. 3, 1. Juni 2009, ISSN 0219-3116, S. 361–394, doi:10.1007/s10115-008-0150-6.
- ↑ Varun Chandola, Arindam Banerjee, Vipin Kumar: Anomaly detection: A survey. In: ACM Computing Surveys. Band 41, Nr. 3, 30. Juli 2009, ISSN 0360-0300, S. 15:1–15:58, doi:10.1145/1541880.1541882.
- ↑ Aggarwal, Charu: Outlier Analysis. Springer Publishing Company, Incorporated., 2017, ISBN 3-319-47577-0.