20
Machine Learning KNN und andere (Kap. 8)

Machine Learning

  • Upload
    metta

  • View
    26

  • Download
    0

Embed Size (px)

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

Citation preview

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

• Matching Koeffizient: |X Y|

• Dice Koeffizient : 2|X Y|/(|X|+|Y|)

• Jaccard Koeffizient : |X Y|/|X Y|

• Overlap Koeffizient : |X Y|/min(|X|,|Y|)

• Cosinus: |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 (im mltc Verzeichnis:

/material/beispiel1/data)– 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