Was ist Unsupervised Learning?
Machine Learning als Teilgebiet der KI, dass sich mit Algorithmen beschäftigt, sie selbstständig auf Basis von gegebenen Daten lernen
Bei Unsupervised Learning sind keine Zielvariablen vorhanden
Identifikation interessant, versteckter Muster in den Daten
Arten des Unsupervised Learnings
Clustering (gibts auch bei Supervised)
PCA-Analyse
Anomalieerkennung (gibts auch bei Supervised)
Assoziationsanalyse
Ziel und Anwendung von Clustering
Identifikation gleichartiger Datenobjekte auf Grundlage von Ähnlichkeitsmerkmalen
Homogenität: Ähnliche Merkmale innerhalb einer Gruppe
Heterogenität: Unterschiedliche Merkmale in verschiedenen Gruppen
Anwedung in NLP, Ausreißerermittlung, Marketing (Kundensegmentierung)
Unterscheidung von Clustering Methoden
Nicht hierarchisch:
Anzahl der Cluster wird vorgegeben
Daten werden so lange zu Clustern zugeordnet bis Varianz innerhalb Cluster minimal ist (z.B. K-Means)
Hierarchisch
Iterative Vorgehensweise führt zu Clusteringhierarchie
Divisiv: Alle Datensätze bilden einen Cluster und dieser wird immer kleiner partitioniert
Agglomerativ: Jedes Datenobjekt ein Cluster und dann nach und nach vereint (z.B. K-nearest Neighbour)
Wie funktioniert K-Means?
Objekte haben metrische Merkmale in Merkmalsvektorraum
Berechnung der Distanz zwischen 2 Punkten
Berechnung der Schwerpunkte (Zentroide) von Gruppen
Lege initial k als Cluster Zahl fest
Lege im Mermalsraum k Punkte/Zentroid fest
Bestimme für jedes Objekt die Distanz zu den Zentroiden
Weise Datenpunk Zentroid-Label zu dem Distanz minimal
Berechne neue Zentroide innerhalb der Label
Wiederhole so lange bis neue Cluster und Zentroide nicht mehr signifikat von vorherigen unterscheiden
Wie funktionier K-Nearest Neighbour
Berechnung der Distanz zwischen 2 Punkten oder Punkmengen
Ist ein Agglomerativer Ansatz
Die beiden Cluster mit geringestem Abstand zueinander werden gefunden (Hierarchielvel wird erhöht)
Es werden wieder die beiden Cluster mit geringstem Abstand zueinander gefuden (Hierarchielvel wird erhöht)
Wiederhole bis nur noch ein Cluster gibt
Ableitung der optimalen Anzahl an Clustern aus Dendogramm
Was sind SONNs?
Self Organizing Neural Networks (Deep Learning Clustering)
Gehören zur Klasse der kompetitiv lernenden Algorithmen
Topologische Abbildung der Eingangsvektoren —> Reduzierung der Dimensionalität auf Kartenräumlichkeit (2-Dimensional)
Können für Clustering, Kompression oder Visualisierung hochdimensionaler Daten verwendet werden
Vorgehensweise bei SONNs
Gewichte der Neuronen der Output-Schit werden zufällig initialisiert
Berechnung der Distanz erster Input Vektor zu Neuronen der Output Schicht
Finden der Best Matching Unit (BMU) mit der geringsten Distanz
Finden der Neuronen in der Nähe der BMU mithilfe Nachbarschaftsfunktion
Aktualisierung der Gewichte der BMU und Nachbarneuronen durch Verschiebung in die Nähe des Input Vektors
Beendigung wenn maximale Anzahl an Trainingsiterationen erreicht ist
Was sind Autoencoders
Autoencode könnenverwendet werden um kompakte Repräsentation der Daten zu erlernen
Kompakte Repräsentation kann für Clustering (z.B. K-Means) verwendet werden
Reduzierung der Dimensionen kann für Verarbeitung hochdimensionaler Daten sinnvoll sein
Latent Space zwischen Encoder und Decoder kann für Clusterin genutzt werden
Das Lernen erfolgt supervised. Vergleicht wie gut er rekonstruieren konnte
Evaluationstechniken des Clusterings
K-Nearest Neighbour
Inter-Cluster-Distanz
Intra-Cluster-Distanz
Silhouette Score (berücksichtig Kohäsion als auch Trennschärfe)
Visualisierung
SONN
Quantifizierungsfehler
Autoencoder
Rekonstruierungsfehler
Herausforderungen beim Clustering
K-Means
Cluster Anzahl muss vorab festgelegt werten (z.B. via Elbow method)
Empfindlich gegenüber Ausreißern
Abhängig von initialen Zentroiden
K-NEarest-Neighbour
Laufzeit kann bei vielen Objekten lange sein
SONNs
Abhängig von initialen Gewichtungen
Verschiedene Hyperparameter sind einzustellen
Autoencode
Overfitting
Was ist PCA
Principal Component Analysis
Reduzierung der Anzahl der Dimensionen (Merkmale) eines Datensatzes, während die wesentlichen Informationen (Varianz) erhalten bleiben. (Korrelierendes wird zusammengefasst)
Vereinfachung von Datensätzen, um Muster und Strukturen besser erkennen zu können.
Verringerung der Datenmenge, um die Effizienz und Genauigkeit von nachfolgenden Analysen und Algorithmen zu verbessern.
PCA Schritte
Datensammlung
Korrelationen beobachten
Hauptkomponenten finden
Dimensionalität reduzieren
Wie finde ich die Hauptkomponenten bei PCA?
Standardisierung/Datenzentrierung
Kovarianzmatrix berechnen
Eigenwerte- und -vektoren der Kovarianzmatrix berechnen
Sortieren der Eigenwerte in absteigender Reihenfolge
Anzahl k Hauptkomponenten vorgeben
Projektionsmatrix bilden
Datentransformation & Erklärte Varianz berechnen (Komponenten müssen ausreichend Menge der Gesamtvarianz abdecken)
Wie kann ich PCA auf kategorische Daten anwenden
Multiple Correspondence Analysis (MCA):
Bietet eine Methode zur Analyse von Daten, die aus mehreren kategorialen Variablen bestehen.
MCA wandelt die kategorialen Daten in eine niedrigere Dimension um, indem es die Assoziationen zwischen den Kategorien (Spalten) analysiert
Jede Row im Dataframe ist eine Pizzakonfiguration
Jede Column entspricht Hauptkomponente
Was ist Singulärwerterlegung?
SVD wird in der Principal Component Analysis (PCA) verwendet, um die Daten auf ihre Hauptkomponenten zu projizieren und die Dimensionen zu reduzieren.
SVD kann verwendet werden, um Bilder, Texte und andere Daten zu komprimieren, indem nur die größten Singulärwerte und die zugehörigen Vektoren beibehalten werden.
Unterschied Anaonaly Detection und Outlier Detection
Outlier Detection
Anomaly Detection
Fokus
Identifikation von Datenpunkten die von Mehrheit Daten abweichen
Breiterer Fokus. Erkennen von Mustern die nicht der erwarteten Verteilung entsprechen
Anwendungsbereiche
Wo Extremwerte erkennt werden mpssen (Datenbereinigung)
Felder wo unerwarteete Abweichungen kritisch (Netzwerksicherheit)
Methoden
Einfach statistische oder graphische Methoden (Boxplots, Z-Scores)
Adv. Algorithem, ML/DL und neuronale Netze
Datenkomplexität
Wenig, kleine Datensätze
Große, komplexe Datensätze
Welche Methoden der Anonaly Detection finden Supervised und welche Unsupervised statt?
Supervised:
KNN
Bayesian NEtwork
Supervised NN
Descision Tree
SVM
Unsupervised:
Unsupervised NN
Fuzzy C-Means
Was ist Association Learning?
Verknüpfungen/Verbindungen zwischen Elementen und Variablen finden
Basiert auf Idee, dass bestimmte Erigenisse miteinander verknüpft werden und so ein gewisser Reiz eine gewisse Reaktion auslöst
Findet Anwendung bei Warenkorbanalyse
Algorithmen bei Association Learning
Apriori
Eclat
FP-Growth
Vorgehen Apriori Algorithmus
Liste alle Snacks mit ihrer Häufigkeit
Streiche alle, die unter einem Support Treshhold liegen
Bilde Zweier Kombinationen und schreibe dahinter wie häufig sie vorkommen
Streiche auch hier wieder alle unter Support Threshholde und wiederhole die Schritte mit 3er Kombinationen
Generiere Assoziationsregeln und berechne deren support (Wie oft kommt element vor) und conficence (wie oft Regel eintrifft)
Evaluation Apriori Evaluationsmethoden
Lift: Gibt an, wie viel häufiger B (Konsequens) auftritt, wenn A (das Wenn) vorhanden ist, im Vergleich zu einem zufälligen Auftreten von B unabhängig von A (Trend das B mehrgekauft wird?)
Leverage: Misst die Stärke der Assoziation zwischen zwei Itemsets. Hilft zu bewerten, wie viel häufiger zwei Itemsets gemeinsam auftreten, als man es durch Zufall erwarten würde
Conviction: Misst Abhängigkeit der Kosequenz
Wie funktioniert der Eclat-Algorithmus?
Equivalence Class Clustering and bottom-up Lattice Traversal
Effiziente Alternative zu Apriori
Funktionweise:
Auflisten aller Items mit den Transaktionen
Entfernen aller Items die selber vorkommen wie Treshold
Alle möglichen Paare als Schnittmengen bilden
Schritt 1-3 mit größeren Gruppen wiederholen bis keine Itemsets mehr generierbar
Hauptunterschiede Elat und Apriori
Apriori: Verwendet eine iterative, breitensuchebasierte Methode mit horizontaler Datenlayout. Es generiert Kandidaten-Itemsets in mehreren Schritten und berechnet die Unterstützung durch mehrmaliges Scannen der gesamten Datenbank.
Eclat: Verwendet eine tiefensuchebasierte Methode mit vertikaler Datenlayout (Tidsets). Es generiert häufige Itemsets durch Schnittmengenoperationen auf Tidsets, was die Notwendigkeit wiederholter Datenbankscans reduziert und potenziell effizienter für große, dichte Datensätze ist.
Wie funktioniert FP-Growth?
Frequzent Pattern Growth
Algorithmus, der für das Finden von häufigen Mustern in Datensätzen konzipiert wurde, ohne Kandidatengeneration wie beim Apriori-Algorithmus
Aufbau eines FP-Baums: Zuerst wird das Datenset durchlaufen, um die Häufigkeit jedes Items zu ermitteln, und ein FP-Baum wird aufgebaut. Dieser Baum speichert die Transaktionen und die Häufigkeiten der Items
Mining des FP-Baums: Nachdem der FP-Baum erstellt wurde, können daraus die häufigen Itemsets durch rekursives Durchsuchen des Baumes generiert werden
Vorgehensweise FP-Growth Algorithmus
Auflisten aller Items mit ihren Häufigkeiten
Filtere die Items, die den min. Support nicht erreichen
Sortiere die Items jeder Transaktion nach der Häufigkeit der Items in absteigender Reihenfolge
FP-Baum erstellen, indem jede Transaktion eingefügt wird (inkl. Häufigkeit der Transaktion)
Ermittle für jedes Item, welche Pfade zum Item führen inkl. Häufigkeit (Conditional Pattern Base)
Ermittle, welche Items in den mehrmals/häufig in den Pfaden vorkommen (Common Items)
Verleich der Verschiedenen Ansätze
Ansatz
Effizienz
Speicherbedarf
Skalierbarkeit
Impl-Aufwand
Unterstützung schwacher Regeln
Bottom Up Candidate Generation
Viele Durchläufe durhc Daten
Mehr, da gesamter Suchraum in Speicher
Skaliert nicht gut mit vielen Transaktionen
Einfach
Direkt extrahierbar
Tiefensuche,
Effizienter, da weniger Durchläufe
Vertikal partitionierte Strukturen —> Besser
Gute Skalierbarkeit (Nicht mehr bei vielen unt. Items)
Mittel
Schwache Regeln müssen aus starken abgeleitet werden
FP
Divide and conquer
Best, da effiziente Braumstruktur
Am wenigsten Platz (Baum)
Sehr skalierbar
Komplex
Zuletzt geändertvor 6 Monaten