Machine Learning KNN und andere (Kap. 8).

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Präsentiert von Torben Pastuch
Christian Scheideler SS 2009
Kohonennetze für Information Retrieval mit User Feedback
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Inhalt Saarbrücken,.
Polynomial Root Isolation
Maschinelles Lernen   Metriken für Nearest Neighbour-Verfahren Lineare Diskriminanzfunktionen.
Schnelle Matrizenoperationen von Christian Büttner
Constraint Satisfaction Problems
SST - Sequence Search Tree
TECHNISCHE UNIVERSITÄT DARMSTADT Naive Bayes for Ranking
3. Kapitel: Komplexität und Komplexitätsklassen
Genetische Algorithmen für die Variogrammanpassung
Simulated Annealing Marco Block & Miguel Domingo Seminar : Maschinelles Lernen und Markov KettenSommersemester 2002.
Ein Modellansatz zur Beschreibung von Vagheiten
Neuronale Netze Von Kay-Patrick Wittbold.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen Halbzeit: Was haben wir bisher gelernt? Prof. Th. Ottmann.
Genetische Algorithmen
Deklaratives Debugging (Seminar Software Engineering) Tim Sender Deklaratives Debugging Seminar Software Engineering.
Information Retrieval Modelle: Vektor-Modell
Demoprogramm: Clustering Eine graphische Demonstration verschiedener Clusteringalgorithmen anhand des Clusterings von Punkten im zweidimensionalen Raum.
Beispielrelation Buchbestellungen H = Menge der bedeutenden Ziele = {a, d} Schwelle T = 4 Stichprobe S = {a, b, a, a, a, a} mit s = |S| = 6 N = Anzahl.
Tutorium
(Gini-Koeffizient, Lorenz-Kurve)
Neuronale Netze (Mitchell Kap. 4)
Bayes‘sche Verfahren (Mitchell Kap. 6), Teil 1
Maschinelles Lernen und automatische Textklassifikation
Machine Learning Decision Trees (2).
Machine Learning Was wir alles nicht behandelt haben.
Maschinelles Lernen und automatische Textklassifikation
Maschinelles Lernen Bayessche Verfahren (Mitchell Kap. 6), Teil 1.
Probleme der Modellspezifikation
Das Wasserfallmodell - Überblick
Christian Schulz, Marc Thielbeer, Sebastian Boldt
Effiziente Algorithmen
Abschlussvortrag zur Studienarbeit
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /23.1.
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Polynome und schnelle Fourier-Transformation
Statistik: Mehr zur Regression.
Ökonometrie I Modellvergleich (Übersicht) Ökonometrie I2 Vergleich von Modellen Fragestellungen für Modellvergleich 1.Fehlende Regressoren.
… oder wie finde ich den Weg
Statistische Methoden in der Wirtschafts- und Sozialgeographie
SOTA Andrej Gisbrecht
Klassifikation und Regression mittels neuronaler Netze
Information Retrieval, Vektorraummodell
Nichtlineare Optimierung
SS 2009Maschinelles Lernen und Neural Computation 133 Kapitel 7: Ensemble Methoden.
Der A*-Algorithmus.
Niko Zenker1 Besondere Aspekte in Multimedia-Datenbanken Methoden zur iterativen Anfrageverfeinerung (Relevanz Feedback)
Institut für Informationssysteme Technische Universität Braunschweig Institut für Informationssysteme Technische Universität Braunschweig Verdrängung von.
Geoinformationssysteme
Programmiersprachen II Fortsetzung Datenstrukturen Hashing Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
Programmiersprachen II Vorbesprechung Klausur Prof. Dr. Reiner Güttler Fachbereich GIS HTW.
EIN NEUES ENSEMBLE- KLASSIFIKATIONSVERFAHREN Tim Schneider Rotation Forest.
Focusing Search in Multiobjective Evolutionary Optimization through Preference Learning from User Feedback Thomas FoberWeiwei ChengEyke Hüllermeier AG.
PCA Principal Component Analysis. Gliederung PCA – Warum eigentlich? PCA – Was ist zu tun? Was passiert eigentlich? Anwendungen Zusammenfassung.
 Gegenstandsbereich der Testtheorie: Analyse der Charakteristika von Tests:  Güte von Tests.  Struktur von Tests.  Schwierigkeit von Tests.  Gruppenunterschiede.
Prognose von Zeitreihen Hans Nübel Hans Nübel Prognose von Zeitreihen Aufbau 1.Motivation 2.Holt-Winters-Verfahren 3.Prognose.
 Präsentation transkript:

Machine Learning KNN und andere (Kap. 8)

K-Nearest Neighbour Typischerweise für Klassifikationsaufgaben verwendet Ursprünglich zur Mustererkennung Schon Mitte der 50er Jahre angewendet Keine spezielle Trainingsprozedur erforderlich (aber Trainingsdaten) Relativ hoher Aufwand zur Laufzeit „Instance based Learning“ „Lazy Learning“

K-nearest Neighbour Idee: Schwierigkeit: Finde in den Trainingsdaten den/die zur aktuellen Instanz ähnlichste(n) Instanz(en) Die aktuelle Instanz bekommt denselben Wert wie diese(r) Nachbar(n) Schwierigkeit: Wieviele Nachbarn? Welches Ähnlichkeitsmaß? Was, wenn die Werte der Nachbarn nicht übereinstimmen?

K-Nearest Neighbour K = 3 K= 1 3 nächste Nachbarn von x Nächster Nachbar von x x x

KNN Algorithmus Jede Instanz hat die Form <xi,f(xi)> Berechne Abstand zwischen Testinstanz und jeder Trainingsinstanz Wähle die k-nächsten Nachbarn n1, n2, ..., nk aus Der Wert für x ergibt sich durch: f(x) = A(f(n1), f(n2), ..., f(nk)) A ist eine Auswahlfunktion

Ähnlichkeitsmaße für binäre Features X seien die positiven Features von Instanz A und Y die positiven Features von Instanz B, die Ähnlichkeit von A und B ist dann: Matching Koeffizient: |X  Y| Dice Koeffizient : 2|X  Y|/(|X|+|Y|) Jaccard Koeffizient : |X  Y|/|X  Y| Overlap Koeffizient : |X  Y|/min(|X|,|Y|) Kosinus: |X  Y|/(|X|x|Y|)1/2

Vektorraum-Maße Euklidischer Abstand Kosinus-Maß:

Auswahlfunktion Mehrheitsentscheidung Durchschnitt: Gewichtete Summe: oder mit

Knn für (Text)klassifikation Notwendig: Threshold für die Ähnlichkeit: Wenn die Testinstanz nicht „nahe genug“ bei einer Trainingsinstanz liegt, soll keine Klassifikation stattfinden, bzw. Mehrfachklassifikation soll zugelassen werden Möglichkeiten: Rcut: weise die Top n Kategorien zu Pcut: strebe bei den Testinstanzen gleiche Verteilung an wie bei den Trainingsinstanzen (geht nur im Batch-Modus) Scut: wähle (u.U. für jede Kategorie individuellen) festen Threshold

KNN Eigenschaften: Geeignet für: Vorteile Nachteile Zielfunktion wird nicht explizit bestimmt, lediglich für einen Punkt lokal approximiert Dadurch können komplexe Zielfunktionen durch rel. einfache lokale Approximationen ersetzt werden Geeignete Datenstruktur zur effizienten Berechnung der Abstände erforderlich Geeignet für: Werte sind diskret oder reellwertige Vektoren Rel. geringe Anzahl von Features Große Menge an Trainingsdaten verfügbar Vorteile Kein Trainingsaufwand Komplexität der Zielfunktion spielt keine Rolle Kein Informationsverlust Nachteile Negative Effekte durch irrelevante Features Hoher Verarbeitungsaufwand

KNN: Modifikationen Reduktion der Feature Menge: Versuche irrelevante Features zu entfernen Cross-Validierung: „leave-one-out“-Methode: betrachte jeweils eine Instanz der Trainingsdaten als Testinstanz (reihum) und teste so das Streichen von Features Umgewichtung der Features: gewichte vermutlich relevante Features stärker als andere

Lokal gewichtete lineare Regression Bei KNN: gewichtete Summe als Funktion zur Bestimmung von f(x) -> punktweise Verallgemeinerung: versuche die Zielfunktion tatsächlich lokal zu approximieren (= Regression) Nehme an die Zielfunktion ist linear, d.h.

Lokal gewichtete Regression Approximiere diese Funktion lokal mittels der k nächsten Nachbarn Approxiationsverfahren: Minimierung des quadratischen Fehlers mittels des absteigenden Gradienten Verfahrens (cf. Neuronale Netze)

Lazy Learner – Eager Learner Lazy = keine Vorprozessierung der Trainingsdaten Traingsdaten können leicht geändert werden Keine Veränderung der Trainingsdaten durch‘s Lernen Keine Generalisierung Hoher Aufwand zur Laufzeit Gefahr des Overfitting geringer Lokale Approximationen, erlauben komplexere Zielfunktionen Eager = Vorverarbeitung der Trainingsdaten Änderung der Trainingsdaten hat großen Aufwand zur Folge Trainingsdaten werden durch‘s Lernen verändert Generalisierung der Trainingsdaten Hoher Trainingsaufwand, gutes Laufzeitverhalten Overfitting Es muss uniforme Zielfunktion für alle Daten gefunden werden

Rocchio Klassifikator Typisch für Textklassifikation Basiert auf Vektorraum-Modell Idee: erzeuge aus den Trainingsdaten einen prototypischen Vektor für jede Kategorie und vergleiche den Vektor der neuen Instanz mit diesen Kategorien-Vektoren Verfahren stammt eigentlich aus dem Information Retrieval und wurde ursprünglich zum Relevance Feedback entwickelt

Rocchio Berechnung des prototypischen Vektors: Seien Tc+ die positiven und Tc- die negativen Trainingsbeispiele (Vektoren) für eine Kategorie c sind die Centroiden von T+ bzw. T-

Rocchio Klassifikation: Probleme: Für eine Testinstanz x berechne für jede Kategorie ci: d(x, ci) Thresholding nach pcut, scut oder rcut Probleme: Wahl von α und β Wahl des Abstandsmaß

Relevance Feedback Ziel: basierend auf dem Feedback des Benutzers soll die Query Q so modifizert werden, dass die Ergebnisse relevanter werden. Seien D+ die Dokumente, die als relevant beurteilt wurden und D- die als irrelevant beurteilten, dann:

Rocchio: Bewertung Konzeptuell sehr einfaches Modell Erlaubt Aussagen über die Beziehung der Klassen untereinander Trainingsaufwand relativ gering Verarbeitungsgeschwindigkeit linear in Anzahl der Features und Anzahl der Klassen In der Praxis jedoch schlechte Klassifikationsqualität

Aufgaben Implementieren Sie bitte einen knn-Klassifikator: Daten: wie für Beispiel Bayes (http://www.cis.uni-muenchen.de/kurse/pmaier/ML_05/material/MaterialBayes.tgz ) Reduzieren Sie die Featuremenge mit einem geeigneten Verfahren rel. stark Bestimmen Sie einen geeigneten Wert für k Definieren Sie eine Repräsentation in der sie die Trainingsbeispiele abspeichern wollen und wenden sie dieses Verfahren dann an Wählen und implementieren Sie eine Auswahlfunktion A