1 / 44

Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing

Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing. Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007 . Gliederung. Einleitung k-Nearest-Neighbor Algorithmus Simulated Annealing Realisierung von KNN mit SA Zusammenfassung. Einleitung.

daphne
Download Presentation

Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Gliederung • Einleitung • k-Nearest-Neighbor Algorithmus • Simulated Annealing • Realisierung von KNN mit SA • Zusammenfassung 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 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing

  4. Textklassifikation 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 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) 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 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. • Abstandwird durch Distanzfunktionen bestimmt. Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing

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

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

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

  12. 5-NN Beispiel (3) 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 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. 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 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. 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 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 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 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. 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. 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 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. Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing

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

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

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

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

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

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

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

  31. Beispiel (7) 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 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. Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing

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

  36. Algorithmus (1) • Suche Feature mit nächst höchster Wertung. • Speichere die T vordersten Dokumente in temp. • Berechne Distanzen zwischen dem Testdokument und temp und speichere sie. • 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. • Falls n=0: Algorithmus beenden mit Lösung result. • Falls n>0: und beginne wieder mit Schritt 1. 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 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 Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing

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

  40. Resultat Sogou-Corpus 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 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 guteErgebnisse 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. 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,… ? Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing

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

More Related