Kapitel 4 Spezialvorlesung Modul 10-202-2206 (Fortgeschrittene Methoden in der Bioinformatik) Jana Hertel Professur für Bioinformatik Institut für Informatik Universität Leipzig Machine learning in bioinformatics K4 1/14
Einführung Cluster - Analyse Finde ähnliche Strukturen in großen Datensätzen Cluster. Ordne jedes Objekt einem Cluster zu Clustering. k-means-algorithmus Learning Vector Quantization EM-Algorithmus k-nearest-neighbor Klassifikation Beziehung zw. Eigenschaften der Objekte und Klassenzuordnung unbekannt! Als black box Algorithmen zur Klassifikation und Mustererkennung genutzt. Machine learning in bioinformatics K4 2/14
k-means-algorithmus k-means-algorithmus.. finde Cluster und deren Clusterzentren in einer Menge ungelabelter Objekte. Gegeben: initiale Menge an Zentren, alterniere die folgenden Schritte: 1. Zentren identifiziere Teilmenge an Trainingspunkten (Cluster), die näher an diesem Zentrum liegen als an allen anderen 2. berechne Mittelwert aller Eigenschaften der Datenpunkte neues Zentrum des Clusters Iteriere bis Algorithmus konvergiert. Machine learning in bioinformatics K4 3/14
k-means-algorithmus Beispiel: Ein Durchlauf des k-means Algorithmus zur Bestimmung von 3 Gruppen. Zufällige Wahl der initialen Clusterzentren Ordne Objekte (Rechtecke) den ihnen am nächsten liegenden Clusterzentren zu Neuberechnung der Zentren anhand neuer Zuordnung Neuverteilung der Objekte zu den Clusterzentren die am nächsten liegen Machine learning in bioinformatics K4 4/14
k-means-algorithmus k-means mit Prototypen Bisher: Cluster definiert durch Zentrum, Objekte nach min. Abstand zum Zentrum zugeordnet. Problem: Ausreiser! Lösungsansatz: Einführung von R Prototypen für jede Klasse K Führe k-means in jeder Klasse einzeln durch um R Prototypen zu finden R Zentren von R Sub-Klassen jeder Klasse! Label jeden der K R Prototypen entspr. der zugehörigen Klasse Klassifiziere ein Objekt x zu der Klasse mit nächstliegenden Prototyp Machine learning in bioinformatics K4 5/14
k-means-algorithmus k-means mit Prototypen Problem: Einige der Prototypen zu nah an den Klassengrenzen Klassifizierungsfehler! Warum? Bei Einzeldurchführung von k-means, Einfluss benachbarter Klassen nicht berücksichtigt. Lösung: Benutze alle Datenpunkte um Prototypen zu bestimmen! Machine learning in bioinformatics K4 6/14
Learning Vector Quantization - LVQ Learning Vector Quantization - LVQ Idee: Trainingspunkte ziehen richtige Prototypen an und stoßen falsche ab. 1. Wähle R initiale Prototypen für jede Klasse m 1 (k), m 2 (k),..., m R (k), k = 1, 2,..., K 2. Wähle ein Trainingsobjekt x i zufällig (Sample mit Zurücklegen!), m j (k) ist nächster Prototyp zu x i a) Falls x i in Klasse k, verschiebe Prototyp in Richtung x i : b) sonst, schiebe Prototyp von x i weg: m j (k) m j (k) + ɛ(x i m j (k)) m j (k) m j (k) ɛ(x i m j (k)) 3. Wiederhole 2, wobei Lernrate ɛ mit jeder Iteration Richtung 0 reduziert wird. Machine learning in bioinformatics K4 7/14
Learning Vector Quantization - LVQ Bild: k-means mit 5 Prototypen Bild: LVQ, gestartet mit k-means Lösung. Prototypen wurden von den Klassengrenzen weggeschoben. Machine learning in bioinformatics K4 8/14
EM Algorithmus Gauss sche Mischverteilungen - EM Algorithmus Ähnlich k-means und LVQ, zur Bestimmung weicher Klassengrenzen. Jedes Cluster durch Gaussverteilung mit Centroid und Covariancematrix beschrieben. 1. E-Schritt: Jeder Beobachtung ein Gewicht für jedes Cluster zugewiesen, entspr. der Verteilung Punkte nahe Centroid - Gewicht nahe 1 für dieses Cluster und 0 für alle anderen, Punkte zwischen Centroids bekommen entspr. Gewichtsverteilung 2. M-Schritt: Neuberechnung von Centroids und Covarianzen für jedes Cluster EM Algorithmus weiche Clustering Methode Machine learning in bioinformatics K4 9/14
EM Algorithmus Bild: k-means mit 5 Prototypen Bild: EM Algorithmus, gestartet auf k-means Lösung. Klassengrenzen grob ähnlich, aber für Gaussian Model weich! Obwohl beide Methoden einen grünen Prototyp angeben, kann Gaussian Model diese Region ignorieren. Machine learning in bioinformatics K4 10/14
k-nearest-neighbor Klassifikation k-nearest-neighbor Klassifikation Speicherbasierte Methode, welche kein trainiertes Model vorraussetzt. Prinzip: Gegeben ein Objekt x 0 Finde k Trainingsobjekte x ( r), r = 1,..., k, die am nächsten an x 0 liegen Klassifiziere nach Mehrheitsprinzip zwischen den k Nachbarn Geeignet für Probleme bei denen: viele mögliche Prototypen per Klasse Klassengrenzen sehr unregelmäßig Vielfältige Anwendung u.a. in Handschrifterkennung, Analyse von Satellitenbildern und EKG Mustern. Machine learning in bioinformatics K4 11/14
k-nearest-neighbor Klassifikation Bild: k-means mit 5 Prototypen Bild: 15-nearest Neighbor Entscheidungsgrenze weicher als bei k-means Klassifikationen. Machine learning in bioinformatics K4 12/14
k-nearest-neighbor Klassifikation Bild: k-means mit 5 Prototypen Bild: 1-nearest Neighbor Beziehung zu Protoyp-Methoden: k Trainingsobjekt(e) entsprechen 1 Prototyp. Machine learning in bioinformatics K4 13/14
k-nearest-neighbor Klassifikation How to choose k? Problem: kleines k Bias klein, aber Varianz hoch! Lösungsansatz: k = 1 k + + solange Fehlerrate und Varianz sich verbessern Abhängig vom Problem erhält man verschiedene Werte für k. Machine learning in bioinformatics K4 14/14