44
Schnelle k-Nearest- Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Embed Size (px)

Citation preview

Page 1: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von

Simulated Annealing

Seminar: Ausgewählte Kapitel des Softcomputing

Dezember 2007

Page 2: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 2

Gliederung

• Einleitung

• k-Nearest-Neighbor Algorithmus

• Simulated Annealing

• Realisierung von KNN mit SA

• Zusammenfassung

Page 3: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 3

Einleitung

• Häufiges Problem in der Informatik: Große, ungeordnete/unbestimmte Datenmengen.– Webpages

– Bildsammlungen

– Datencluster

– …

• Lösung: Klassifikation, d.h. Einordnung der Daten in vorher bestimmte Klassen.

• Spezialfall: Textklassifikation

Page 4: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 4

Textklassifikation

Page 5: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 5

Textklassifikation (2)

• Anwendungen:– Klassifikation von Dokumenten

– Filtern von Spam-Mails

– …

• Einzelne Dokumente sind für Menschen leicht zu klassifizieren.

• Klassifizierung von großen Mengen an Dokumenten sehr zeitaufwendig.

Maschinelle Klassifikation

Page 6: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 6

Textklassifikation (3)

• Algorithmen/Methoden:– Decision Rules

– Support Vector Machines

– Naive Bayes

– Neuronale Netze

– Lineares Trennen

– k-Nearest-Neighbor (KNN)

Page 7: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 7

k-Nearest-Neighbor

• KNN einer der beliebtesten Algorithmen für Klassifizierung.

• Verwendung z.B. bei Suchmaschinen.

• Nachteil: KNN sehr rechenintensiv

• Lösung: Beschleunigung von KNN durch heuristische Optimierungsverfahren

Page 8: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 8

KNN (1)

• Voraussetzung: Alle Instanzen eines Problems können als Punkte im dargestellt werden.

• Algorithmus berechnet die k nächsten Nachbarn einer Instanz.

• Abstand wird durch Distanzfunktionen bestimmt.

n

Page 9: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 9

Distanzfunktionen

• Beispiele für Distanzfunktionen:– Euklidische Distanz:

– Kosinus Distanz:

n

iiie yxyxd

0

2)(),(

n

i

n

iii

n

iii

k

yx

yxyxd

1 1

1

²²

),(

Page 10: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 10

5-NN Beispiel (1)

Page 11: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 11

5-NN Beispiel (2)

Page 12: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 12

5-NN Beispiel (3)

Page 13: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 13

KNN (2)

• Fehlerwahrscheinlichkeit bzgl. des optimalen Bayes-Klassifikator:

• Nachteil: Für jede Testinstanz muss die Distanz zu jeder anderen Instanz berechnet werden

Hohe Komplexität

k

PPPP NN

BkNNB

2

Page 14: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 14

Voraussetzungen (1)

• Voraussetzungen für die Anwendung von KNN auf Textklassifikation:– Kodierung der Dokumente

– Wissensbasis

• Methode zur Kodierung: Feature Extraction.

Features (lat. Wörter, chin. Schriftzeichen, etc.) des Dokumentes werden extrahiert und in schnellen Speicherstrukturen abgelegt.

Page 15: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 15

Voraussetzungen (2)

• Für jedes Feature wird zusätzlich eine Gewichtung gespeichert.

• Mögliche Gewichtungen:– Relatives Wortvorkommen– Absolutes Wortvorkommen– Information Gain– …

• Wissensbasis wird aus Trainingsdokumenten erstellt.• Für jedes Trainingsdokument: manuelle Ergänzung der

Klasse

Page 16: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 16

Beispiel: Tabelle

Hier:• Speicherstruktur: Tabelle.• Binäre Angabe, ob Wort in Dokument vorkommt.

Page 17: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 17

Performance (1)

• Vergleich mit anderen Algorithmen durch Benchmarks

• Vergleichskriterien:

– Precision:

– Recall:

– F1: F =

Wobei D = #Dokumente, = # insg. korrekt zugewiesenen Dokumente

= # vom Algorithmus korrekt zugewiesenen Dokumente

D

DP kA

k

kA

D

DR

PR

RP

2

kD

kAD

Page 18: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 18

Performance (2)

• Benchmark von Yang/Sigir 1998

• Textsammlung: Reuter-Corpus 21578

Page 19: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 19

Performance (3)

• Fazit: SVM und KNN z.T. deutlich besser als andere Algorithmen

• SVM jedoch effizienter als KNN

Page 20: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 20

Optimierung durch SA

• Ziel: Beschleunigung von KNN.

• Methode: Verwendung von heuristischen und Metaheuristischen Optimierungsverfahren zur Approximation der optimalen Lösung.

• Gewähltes Verfahren: Simulated Annealing.

Page 21: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 21

Simulated Annealing (1)

• Simulated Annealing (SA) ist ein heuristisches Optimierungsverfahren zur Lösung von n-dimensionalen Optimierungsproblemen.

• 1983 von Kirkpatrick, Gelatt und Vecchi vorgestellt

• Urspung in der Mechanik beim sog. Glühen.

Page 22: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 22

Simulated Annealing (2)

• Benötigte Komponenten:– Energiefunktion

– Funktion für zufällige Zustandsänderungen

– Temperatur T und Abkühlungsstrategie

– Entscheidungsfunktion für die Akzeptanz schlechterer Zustände

Page 23: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 23

Simulated Annealing (3)

• Lösungen werden durch Vektoren repräsentiert

• Energiefunktion Optimierungsfunktion Q(x)

• Zustandsänderungen sind zufällige Änderungen in den Komponenten einer Lösung

• Abkühlungsstrategie und Temperatur sollten problemabhängig gewählt werden

• Wahrscheinlichkeit für Akzeptanz schlechterer Zustände:

• Bessere Zustände werden immer akzeptiert.

T

XQYQ

ep)()(

Page 24: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 24

Algorithmus

Page 25: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 25

Beispiel (1)

Page 26: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 26

Beispiel (2)

Page 27: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 27

Beispiel (3)

Page 28: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 28

Beispiel (4)

Page 29: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 29

Beispiel (5)

Page 30: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 30

Beispiel (6)

Page 31: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 31

Beispiel (7)

Page 32: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 32

Simulated Annealing (4)

• Suchverhalten des Algorithmus wird von der Temperatur T und der Abkühlungsstrategie bestimmt:

• Hohe Temperatur:– Schlechte Zustände werden häufig akzeptiert

– Großer Teil des Suchraums wird erforscht

• Niedrige Temperatur:– Schlechte Zustände werden selten akzeptiert

– Suche wird lokaler

• Vorteil von SA: Verlassen lokaler Minima

Page 33: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 33

Rahmenbedingungen (1)

• Speicherstrukturen:– Dokumente samt Gewichtung werden in Arraylists gespeichert

– Features werden in einer Featurelist gespeichert.

– Gewichtung: Information Gain

– Jedes Feature wird mit allen Dokumenten verlinkt, die es enthalten (verlinkte Feature-Arraylist)

– Listen werden nach Gewichtung sortiert.

• Erschaffung der Wissensbasis durch Feature Extraction der Trainingsdokumente.

Page 34: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 34

Speicherstruktur

Page 35: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 35

Rahmenbedingungen (2)

• Voraussetzungen für SA:– Lösungsrepräsentation Set von k Dokumenten (result)

– Zustandsübergänge Abarbeitung der höchstgewichteten Features des Testdokumentes.

– Starttemperatur T wird auf k gesetzt.

• Initiale Lösung: erste k Dokumente aus der Arraylist des höchstgewichteten Features.

• Übergangslösungen werden in temporären result set (temp) zwischengespeichert.

Page 36: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 36

Algorithmus (1)

1. Suche Feature mit nächst höchster Wertung.

2. Speichere die T vordersten Dokumente in temp.

3. Berechne Distanzen zwischen dem Testdokument und temp und speichere sie.

4. Bestimme aus result und temp die k Dokumente mit dem geringsten Abstand und speichere sie in result. Dabei sei n die Anzahl der ersetzten Dokumente.

5. Falls n=0: Algorithmus beenden mit Lösung result.

6. Falls n>0: und beginne wieder mit Schritt 1.

kknT *))1.0)/(*10(lg(

Page 37: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 37

Algorithmus (2)

Modifiziertes SA:Schlechtere Zustände werden

zwar in temp zwischengespeich-

ert, allerdings nie akzeptiert.

Erklärungsansatz:Kaum lokale Optima, daher nicht

notwendig, schlechte Zustände zu

akzeptieren

Page 38: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 38

Tests

• Vergleich des modifizierten KNN (KNN_SA) mit dem traditionellen KNN (KNN_trad) durch Benchmark.

• Samples:– Peking-Corpus: 19.892 Webseiten

– Sogou-Corpus: 17.910 Dokumente

• Vergleichskriterien: – Precision

– Performance

Page 39: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 39

Resultat Peking-Corpus

Page 40: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 40

Resultat Sogou-Corpus

Page 41: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 41

Resultat Allgemein

• Generell:– Erkennungsrate beim Peking-Corpus höher

– Beste Ergebnisse von KNN_trad für k=10, 25

– Beste Ergebnisse von KNN_SA für T=35,50

• Vergleich:– Precision von KNN_trad geringfügig besser

– Performance von KNN_SA viel besser

Page 42: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 42

Zusammenfassung

• KNN ist ein einfach zu realisierender Algorithmus, der im Vergleich mit anderen Verfahren gute Ergebnisse liefert, allerdings sehr uneffizient ist.

• Simulated Annealing ist ein heuristisches Optimierungsverfahren mit der Stäke, lokale Optima verlassen zu können.

• Die Realisierung von KNN mit SA liefert zwar geringfügig schlechtere Ergebnisse, ist allerdings viel effizienter als das traditionelle KNN.

Page 43: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 43

Offene Fragen…

• Stärke von SA, das Verlassen lokaler Optima, wird nicht genutzt: Ist SA wirklich geeignet für diese Realisierung?

• Wie ist die Performance von anderen Optimierungsverfahren wie GA, PSO, ACO,… ?

Page 44: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing 44

Schlusswort

Vielen Dank für ihre Aufmerksamkeit!