Zum Inhalt springen

„Unüberwachtes Lernen“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[ungesichtete Version][gesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Keine Bearbeitungszusammenfassung
 
(64 dazwischenliegende Versionen von 42 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
'''Unüberwachtes Lernen''' (engl. ''unsupervised learning'') bezeichnet [[maschinelles Lernen]] ohne im Voraus bekannte Zielwerte. Dabei können verschiedene Dinge gelernt werden. Beliebt sind die automatische Klassifikation ([[Clusteranalyse|Clustering]]) oder die [[Komprimierung]] von Daten zur Dimensionsreduktion.
'''Unüberwachtes Lernen''' ({{enS|''unsupervised learning''}}) bezeichnet [[maschinelles Lernen]] ohne im Voraus bekannte Zielwerte sowie ohne [[Bestärkendes Lernen|Belohnung]] durch die Umwelt. Die (Lern-)Maschine versucht, in den Eingabedaten Muster zu erkennen, die vom strukturlosen Rauschen abweichen.<ref name=":0">{{cite journal |last1=Ghahramani |first1=Zoubin|date=2004-09-16|title=Unsupervised Learning|url=https://mlg.eng.cam.ac.uk/zoubin/papers/ul.pdf|journal=Advanced Lectures on Machine Learning|volume=3176 |issue= |pages=72–112 |doi=10.1007/978-3-540-28650-9_5|format=pdf}}</ref> Ein Lernalgorithmus, beispielsweise ein [[künstliches neuronales Netz]], berechnet Ähnlichkeiten zwischen verschiedenen Inputwerten und erstellt daraus ein [[Mathematisches Modell|Modell]], das an die Daten angepasst ist. Mit Hilfe des Modells kann man danach verschiedene Zusammenhänge in den Daten erkennen und weiter untersuchen. Typische Anwendungsgebiete sind die automatische Segmentierung ([[Clusteranalyse|Clustering]]) oder die [[Hauptkomponentenanalyse]] von Daten zur Dimensionsreduktion.


== Vorteile des unüberwachten Lernens ==
==Klassifikation==
Das unüberwachte Lernen kann einen entscheidenden Beitrag zum [[Maschinelles Lernen|maschinellen Lernen]] liefern, wenn aus Eingabedaten gelernt werden soll, die keine Zielwerte enthalten. Das unüberwachte Lernen kann dabei unterstützen, Eingabedaten für das überwachte Lernen vorzubereiten.


Das überwachte Lernen ist auf gut strukturierte Eingabedaten mit Zielwerten angewiesen, um das Modell gut an die Daten anpassen zu können. Das unüberwachte Lernen bietet hier den Vorteil, dass es weniger gut strukturierten Daten verarbeiten kann.<ref name=":1">{{Literatur |Autor=Ankur A. Patel |Titel=Hands-On Unsupervised Learning Using Python |Verlag=O’Reilly |Ort=Sebastopol |Datum=2019 |ISBN=978-1-492-03564-0 |Seiten=7-8}}</ref>
Hier werden ähnliche [[Muster]] durch eine [[Klassifizierung]] auf ähnliche [[Klasse (Kategorie)|Klassen]] [[Abbildung (Mathematik)|abgebildet]].


Durch die geringeren Anforderungen an die zu verwendenden Daten kann das unüberwachte Lernen auch bisher unbekannte Strukturen in den Eingabedaten 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.<ref name=":1" />
Ein sehr vereinfachtes Beispiel: Man stelle sich verschiedene Früchte vor (Äpfel, Birnen, Erdbeeren, Orangen), die alle in einem gemeinsamen Korb liegen. Der Korb beinhaltet also die Menge der zu "klassifizierenden" Daten.
Nun ist eine Frucht wahllos heraus zu nehmen. Danach sind Ähnlichkeiten mit den bereits auf dem Boden vorhandenen Früchten zu suchen. Wenn etwas passendes gefunden wurde, soll die Frucht dazugelegt werden. Wenn nicht, dann legt man sie irgendwo hin, wo Platz ist.
Damit ist solange fortzufahren bis alle Früchte gemäß ihrer Eigenschaften (Aussehen, Geruch, Farbe, Geschmack etc.) "klassifiziert" wurden. Auf dem Boden liegen jetzt verschiedene Haufen von Früchten, mal größer, kleiner oder gleich je nach Häufigkeit des Auftretens. Das sind praktisch gesehen die [[Clusteranalyse|Cluster]].


== Clusteranalyse ==
==Komprimierung==
{{Hauptartikel|Clusteranalyse}}Eine der Hauptaufgaben des unüberwachten Lernens ist die Findung von [[Cluster (Datenanalyse)|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 wird versucht, viele Eingabewerte in einer kompakteren Form zu repräsentieren, wobei möglichst wenig Information verloren gehen soll. Die [[Hauptkomponentenanalyse]] kann zum Beispiel als Komprimierverfahren verstanden werden, wenn die unwichtigsten Komponenten der Daten weggelassen werden. Oder ein [[künstliches neuronales Netz]], dessen Zielwerte die Eingabewerte sind, wobei eine versteckte Schicht mit weniger Knoten als Eingabewerte als Flaschenhals dient. Die Aktivierungen dieser Neuronen sind die komprimierten Daten.


Hierbei existieren verschiedene Vorgehen wie die Einteilung in diese Cluster geschehen kann. Die Clusteranalyse unterscheidet hierbei unter anderem zwischen [[Hierarchische Clusteranalyse|hierarchischem]], [[Clusteranalyse#Partitionierende Clusterverfahren|partitionierendem]], [[Clusteranalyse#Dichtebasierte Verfahren|dichtebasierendem]] und [[Clusteranalyse#Gitterbasierte Verfahren|gitterbasierendem]] Clustering.
==Siehe auch==
*[[Überwachtes Lernen]]


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.
[[Kategorie:Maschinelles Lernen]]
[[Kategorie:Neuroinformatik]]


Zur Analyse der Güte der erstellten Cluster existieren verschiedene Metriken, um die einzelnen Algorithmen zu evaluieren.<ref>{{Literatur |Autor=Darius Pfitzner, Richard Leibbrandt, David Powers |Titel=Characterization and evaluation of similarity measures for pairs of clusterings |Sammelwerk=Knowledge and Information Systems |Band=19 |Nummer=3 |Datum=2009-06-01 |ISSN=0219-3116 |DOI=10.1007/s10115-008-0150-6 |Seiten=361–394 |Online= |Abruf=}}</ref>
[[en:Unsupervised learning]]
[[it:Apprendimento non supervisionato]]
[[ja:教師なし学習]]
[[th:การเรียนรู้แบบไม่มีผู้สอน]]
[[vi:Học không có giám sát]]


Beispiele:
{{Quelle}}

Hierarchisches Clustering:

* Minimum Linkage
* Maximum Linkage
* Ward Linkage

Partitionierendes Clustering

* [[K-Means-Algorithmus|k-means]]
* [[Fuzzy-c-Means-Algorithmus|Fuzzy-c-means]]
* [[EM-Algorithmus#EM-Clustering|EM-Clustering]]

Dichtebasierendes Clustering

* [[DBSCAN]]

Gitterbasierendes Clustering

* STING
* CLIQUE

== Anomalieerkennung ==
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.<ref>{{Literatur |Autor=Varun Chandola, Arindam Banerjee, Vipin Kumar |Titel=Anomaly detection: A survey |Sammelwerk=ACM Computing Surveys |Band=41 |Nummer=3 |Datum=2009-07-30 |ISSN=0360-0300 |DOI=10.1145/1541880.1541882 |Seiten=15:1–15:58 |Online= |Abruf=}}</ref>

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.<ref>{{Literatur |Autor=Aggarwal, Charu |Titel=Outlier Analysis |Verlag=Springer Publishing Company, Incorporated. |Datum=2017 |ISBN=3319475770}}</ref>

Beispielalgorithmen:

* [[Local Outlier Factor]]
* Isolation Forest
* [[Autoencoder]]

== Hauptkomponentenanalyse ==
{{Hauptartikel|Hauptkomponentenanalyse}}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.<ref name=":0" />

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.<ref name=":0" />

== Siehe auch ==
* [[Überwachtes Lernen]]
* [[Bestärkendes Lernen]]

== Literatur ==
* {{Literatur | Hrsg=[[Geoffrey Hinton]], [[Terrence J. Sejnowski]]|Datum=1999|Titel=Unsupervised Learning: Foundations of Neural Computation|Verlag=MIT Press|Sprache=en|ISBN=026258168X}}
* {{Literatur |Autor=[[Richard O. Duda]], [[Peter E. Hart]], [[David G. Stork]]|Kapitel=Unsupervised Learning and Clustering |Titel=Pattern classification (2nd edition)|Seiten=571|Verlag= Wiley|Ort= New York|ISBN =0-471-05669-3|Datum= 2001|Sprache=en}}

== Einzelnachweise ==
<references />

{{Normdaten|TYP=s|GND=4580265-8}}

{{SORTIERUNG:Unuberwachtes Lernen}}
[[Kategorie:Data-Mining]]
[[Kategorie:Maschinelles Lernen]]

Aktuelle Version vom 10. Januar 2025, 11:21 Uhr

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 Lernalgorithmus, beispielsweise ein künstliches neuronales Netz, berechnet Ähnlichkeiten zwischen verschiedenen Inputwerten und erstellt daraus ein Modell, das an die Daten angepasst ist. Mit Hilfe des Modells kann man danach verschiedene Zusammenhänge in den Daten erkennen und weiter untersuchen. Typische Anwendungsgebiete sind die automatische Segmentierung (Clustering) oder die Hauptkomponentenanalyse von Daten zur Dimensionsreduktion.

Vorteile des unüberwachten Lernens

[Bearbeiten | Quelltext bearbeiten]

Das unüberwachte Lernen kann einen entscheidenden Beitrag zum maschinellen Lernen liefern, wenn aus Eingabedaten gelernt werden soll, die keine Zielwerte enthalten. Das unüberwachte Lernen kann dabei unterstützen, Eingabedaten für das überwachte Lernen vorzubereiten.

Das überwachte Lernen ist auf gut strukturierte Eingabedaten mit Zielwerten angewiesen, um das Modell gut an die Daten anpassen zu können. Das unüberwachte Lernen bietet hier den Vorteil, dass es weniger gut strukturierten Daten verarbeiten kann.[2]

Durch die geringeren Anforderungen an die zu verwendenden Daten kann das unüberwachte Lernen auch bisher unbekannte Strukturen in den Eingabedaten 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.[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:

  • Minimum Linkage
  • Maximum Linkage
  • Ward Linkage

Partitionierendes Clustering

Dichtebasierendes Clustering

Gitterbasierendes Clustering

  • STING
  • CLIQUE

Anomalieerkennung

[Bearbeiten | Quelltext bearbeiten]

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:

Hauptkomponentenanalyse

[Bearbeiten | Quelltext bearbeiten]

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]

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. 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]).
  2. a b Ankur A. Patel: Hands-On Unsupervised Learning Using Python. O’Reilly, Sebastopol 2019, ISBN 978-1-4920-3564-0, S. 7–8.
  3. 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.
  4. 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.
  5. Aggarwal, Charu: Outlier Analysis. Springer Publishing Company, Incorporated., 2017, ISBN 3-319-47577-0.