Machine Learning

20
Machine Learning KNN und andere (Kap. 8)

description

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 - PowerPoint PPT Presentation

Transcript of Machine Learning

Page 1: Machine Learning

Machine Learning

KNN und andere (Kap. 8)

Page 2: Machine Learning

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“

Page 3: Machine Learning

K-nearest Neighbour

• Idee:– 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?

Page 4: Machine Learning

K-Nearest Neighbour

K= 1 • K = 3

x

Nächster Nachbar von x

x

3 nächste Nachbarn von x

Page 5: Machine Learning

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

Page 6: Machine Learning

Ä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

Page 7: Machine Learning

Vektorraum-Maße

• Euklidischer Abstand

• Kosinus-Maß:

n

i i

n

i i

n

i ii

yx

yx

yx

yxyx

1

2

1

2

1.),cos(

n

i

ii yxyxdist1

2)(),(

Page 8: Machine Learning

Auswahlfunktion

• Mehrheitsentscheidung• Durchschnitt:

• Gewichtete Summe:

oder

mit

k

nfxf

k

i

i 1

)()(

k

i

ii nfxnsimxf1

)(),()(

k

i

i

k

i

ii

w

nfwxf

1

1

)()( 2),(

1

xndw

ii

Page 9: Machine Learning

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

Page 10: Machine Learning

KNN• Eigenschaften:

– 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

Page 11: Machine Learning

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

Page 12: Machine Learning

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.

n

i

iinn xwwxwxwwxf1

0110 ...)(

Page 13: Machine Learning

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)

Page 14: Machine Learning

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

Page 15: Machine Learning

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

Page 16: Machine Learning

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-

cc TtTt

c tT

tT

R||

1

||

1

/||

1

/cTtt

T

Page 17: Machine Learning

Rocchio

• Klassifikation:– 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ß

Page 18: Machine Learning

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:

DdDdd

Dd

DQQ

||

1

||

1'

Page 19: Machine Learning

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

Page 20: Machine Learning

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