Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

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

Ähnliche Präsentationen


Präsentation zum Thema: "Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007."—  Präsentation transkript:

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

2 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing2 Gliederung Einleitung k-Nearest-Neighbor Algorithmus Simulated Annealing Realisierung von KNN mit SA Zusammenfassung

3 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing3 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

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

5 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing5 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

6 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing6 Textklassifikation (3) Algorithmen/Methoden: –Decision Rules –Support Vector Machines –Naive Bayes –Neuronale Netze –Lineares Trennen –k-Nearest-Neighbor (KNN)

7 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing7 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

8 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing8 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.

9 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing9 Distanzfunktionen Beispiele für Distanzfunktionen: –Euklidische Distanz: –Kosinus Distanz:

10 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing10 5-NN Beispiel (1)

11 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing11 5-NN Beispiel (2)

12 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing12 5-NN Beispiel (3)

13 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing13 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

14 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing14 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.

15 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing15 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

16 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing16 Beispiel: Tabelle Hier: Speicherstruktur: Tabelle. Binäre Angabe, ob Wort in Dokument vorkommt.

17 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing17 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

18 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing18 Performance (2) Benchmark von Yang/Sigir 1998 Textsammlung: Reuter-Corpus 21578

19 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing19 Performance (3) Fazit: SVM und KNN z.T. deutlich besser als andere Algorithmen SVM jedoch effizienter als KNN

20 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing20 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.

21 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing21 Simulated Annealing (1) Simulated Annealing (SA) ist ein heuristisches Optimierungsverfahren zur Lösung von n-dimensionalen Optimierungsproblemen von Kirkpatrick, Gelatt und Vecchi vorgestellt Urspung in der Mechanik beim sog. Glühen.

22 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing22 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

23 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing23 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.

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

25 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing25 Beispiel (1)

26 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing26 Beispiel (2)

27 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing27 Beispiel (3)

28 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing28 Beispiel (4)

29 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing29 Beispiel (5)

30 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing30 Beispiel (6)

31 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing31 Beispiel (7)

32 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing32 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

33 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing33 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.

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

35 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing35 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.

36 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing36 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.

37 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing37 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

38 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing38 Tests Vergleich des modifizierten KNN (KNN_SA) mit dem traditionellen KNN (KNN_trad) durch Benchmark. Samples: –Peking-Corpus: Webseiten –Sogou-Corpus: Dokumente Vergleichskriterien: –Precision –Performance

39 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing39 Resultat Peking-Corpus

40 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing40 Resultat Sogou-Corpus

41 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing41 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

42 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing42 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.

43 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing43 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,… ?

44 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing44 Schlusswort Vielen Dank für ihre Aufmerksamkeit!


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

Ähnliche Präsentationen


Google-Anzeigen