Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007

Ähnliche Präsentationen


Präsentation zum Thema: "Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007"—  Präsentation transkript:

1 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

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 Weitere Beispiele: Filtern von pornographischen Inhalten, 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. Abstand wird 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 Zu Bayes: Entscheidungsregeln werden so gewählt, dass die Wahrscheinlichkeit, falsch zu klassifizieren, minimiert wird (also die Fehlerwahrscheinlichkeit). 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 Information Gain: Beruht auf dem Maß der Entropie. e[1],…,e[n] Ereignisse mit Auftrittswahrscheinlichkeit p[1],…,p[n]. entropie(p[1], ... , p[n]) = (-1) * ((p[1] * ld p[1]) (p[n] * ld p[n])). Wahrscheinlichkeiten relativ  info(a[1], ... , a[n]) = entropie(p[1], ... , p[n]). 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. 2 Klassen (label =0,1) 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 F1 wurde eingeführt, um Recall und Präzision zu kombinieren 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 micro-averaging: Die Werte werden für jede Kategorie berechnet und dann über die Anzahl der Kategorien gemittelt. macro-averaging: Die Werte werden global über alle Kategorien berechnet Reuter-Corpus: 7769 Trainingsdokumenten, 3019 Testdokumente, insgesamt 90 Kategorien und verschiedene Wörter. 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. Glühen: Werkstoffe wie z.B. Metalle werden stark erhitzt und kontrolliert abgekühlt, so dass sich die Moleküle neu anordnen und somit gewünschte Eigenschaften entstehen. 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. Wahrscheinlichkeit wird kleiner mit T. 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 Möglichkeit: Adaptives SA, d.h. Zustandsänderungen von Temperatur abhängig machen. 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: Erklärungsansatz:
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: Webseiten Sogou-Corpus: Dokumente Vergleichskriterien: Precision Performance Peking Corpus: Trainingsdokumente, Testdokumente, Klassifikation durch Experten Sogou-Corpus: ... 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: Vergleich:
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 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. 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 Vielen Dank für ihre Aufmerksamkeit!
Schlusswort Vielen Dank für ihre Aufmerksamkeit! Marcel Scheibmayer: Schnelle k-Nearest-Neighbor Algorithmen auf der Basis von Simulated Annealing


Herunterladen ppt "Seminar: Ausgewählte Kapitel des Softcomputing Dezember 2007"

Ähnliche Präsentationen


Google-Anzeigen