Vortragsthema Klassifikation OS Data Mining SS0 Madeleine Weiand
Agenda Agenda I III Begriff Klassifikation Abgrenzung Anforderungen Anwendungsgebiete Dimensionsreduktion Umsetzung in Software Vergleich der Algorithmen Quellenangaben Fragen II Klassifikatoren Entscheidungsbaum naive Bayes Algorithmus Künstlich neuronale Netze k-nearest neighbour Methode Support Vector Machine OS Data Mining SS0 Madeleine Weiand 2
Abgrenzung eine Data-Mining-Methode, die der Zusammenfassung von Datenobjekten zu disjunkten Klassen dient Klasse Menge von zusammengehörigen Datenobjekten im Gegensatz zum Clustering müssen die Klassen bekannt sein zwei Phasen:. Lernphase 2. Klassifizierung von Datenobjekten Attribute (nominal, numerisch) der Datenobjekte OS Data Mining SS0 Madeleine Weiand 3
Anforderungen Anforderungen an einen Klassifikator und Daten möglichst korrekte Klassifizierung der Daten eine akzeptable Performance und Skalierbarkeit Ausreißern, fehlende Attribute Overfitting vermeiden Trainingsdaten sind notwendig OS Data Mining SS0 Madeleine Weiand 4
Anwendung Anwendungsgebiete Medizin Marketing & Marktanalysen Versicherung Mustererkennung OS Data Mining SS0 Madeleine Weiand 5
Entscheidungsbaum Entscheidungsbaum OS Data Mining SS0 Madeleine Weiand 6
Entscheidungsbaum Wert / Wertebereich Attribut Wert / Wertebereich Wert / Wertebereich nominal numerisch Attribut Klasse Attribut Wert / Wertebereich Wert / Wertebereich Wert / Wertebereich Wert / Wertebereich Klasse Klasse Klasse Klasse OS Data Mining SS0 Madeleine Weiand 7
Entscheidungsbaum Konstruktion eines Entscheidungsbaumes Informationsmenge: Maß für den Informationsgehalt, der nach dem Wissen über den Attributwert vorhanden ist auch als Entropie bezeichnet Einheit: bits n Anzahl der Klassen n -> info(p ) 0 OS Data Mining SS0 Madeleine Weiand 8
OS Data Mining SS0 Madeleine Weiand 9 Beispiel - Wetterdaten Entscheidungsbaum [Wit0] 0.940 4 9 log 4 9 4 5 log 4 5 ([9,5]) info 2 2 0.247 0.693 0.940 Informationsgewinn 0.693 0.97 4 5 0.97 4 5 0 4 4 : Mittelwert 0.97 ([3,2]) info 0.97 ([2,3]) info 0 ([4]) info ([4,0]) info outlook + + sunny rainy overcast overcast 0.029 Informationsgewinn 0.9 Mittelwert ([2,2]) info 0.99 ([4,2]) info 0.8 ([3,]) info temperature warm mild cool 0.52 Informationsgewinn 0.789 Mittelwert 0.592 ([6,]) info 0.985 ([3,4]) info humidity normal high 0.048 Informationsgewinn 0.892 Mittelwert ([3,3]) info 0.8 ([2,6]) info windy false true Informationsgewinn Wurzel: Informationsgewinn aller Attribute: 0.57 0.400 0.97 Informationsgewinn 0.400 Mittelwert 0 ([2]) info ([,]) info 0 ([]) info temperature hot mild cool 0.97 Informationsgewinn 0 Mittelwert 0 ([3]) info 0 ([2]) info humidity normal high 0.020 Informationsgewinn 0.95 Mittelwert 0.98 ([,2]) info ([,]) info windy false true outlook sunny
Entscheidungsbaum Beispiel - Wetterdaten outlook sunny rainy overcast humidity normal high yes no OS Data Mining SS0 Madeleine Weiand 0
Entscheidungsbaum fehlende Attributwerte fehlende Attributwerte stellen einen eigenen Zweig dar die in der Trainingsmenge gebräuchlichste Verzweigung wird gewählt jede Verzweigung des fehlenden Attributwertes wird durchlaufen, die Blätter werden anhand der Anzahl der Elemente der Trainingsinstanz numerisch gewichtet (sehr komplex) OS Data Mining SS0 Madeleine Weiand
Entscheidungsbaum Attribute mit vielen Verzweigungen Mehrfachverzweigung mit sehr vielen untergeordneten Knoten z.b. numerische Attribute: Wertebereiche für numerische Attribute IDs: höchster Informationsgewinn -> Verzweigung nach diesem Attribut? statt Informationsgewinn wird das Gewinnverhältnis verwendet (siehe Literatur) OS Data Mining SS0 Madeleine Weiand 2
Bayes - Verfahren naive Bayes - Verfahren OS Data Mining SS0 Madeleine Weiand 3
Bayes - Verfahren stochastisches Klassifizierungsmodell Datenobjekt z.b.: meine Prüfung in BWL 0. gelernt: mittel 0.4 Spicker: nein Wohlbefinden: gut Vorlesung besucht: regelmäßig 0.3 0.2 Klasse Note Note 2 Note 3 Note 4 OS Data Mining SS0 Madeleine Weiand 4
Bayes - Verfahren formal: n #Klassen m #Merkmale/Attribute Klassenzuordnung index{max( P( C X i i n ))} C i Klasse i X - Datenobjekt OS Data Mining SS0 Madeleine Weiand 5
OS Data Mining SS0 Madeleine Weiand 6 [Los02] Wahrscheinlichkeit priori a C P i ) ( Wahrscheinlichkeit posteriori a X C P i ) ( ) ( ) ( ) ( ) ( X P C P C X P X C P i i i m j i j i C x P C X P ) ( ) ( für kontinuierliche Merkmale ist eine Verteilungsfunktion nötig
Bayes - Verfahren [Wit0] Beispiel Wetter OS Data Mining SS0 Madeleine Weiand 7
Beispiel Wetter Grundlage der Klassifikation Anzahl relative Häufigkeit Klassifikation [Wit0] P(yes) P(no) P(x j yes) P(x j no) yes no yes no play 9 5 9/4 5/4 outlook sunny 2 3 2/9 3/5 overcast 4 0 4/9 0/5 rainy 3 2 3/9 2/5 temperature hot 2 2 2/9 2/5 outlook sunny temperature cool humidity high windy true X mild 4 2 4/9 2/5 cool 3 3/9 /5 humidity high 3 4 3/9 4/5 normal 6 6/9 /5 windy false 6 2 6/9 2/5 true 3 3 3/9 3/5 index{max( P( C i X P( C i P( X X ) i n ))} Ci ) P( C P( X ) i ) OS Data Mining SS0 Madeleine Weiand 8
[Wit0] Klassifikation 2 3 3 3 9 9 9 9 9 4 0.0053 P( yes X ) P( X ) 0.0053+ 0.0206 3 4 3 5 5 5 5 5 4 0.0206 P( no X ) P( X ) 0.0053+ 0.0206 0.205 0.795 -> Zuordnung zu Klasse no OS Data Mining SS0 Madeleine Weiand 9
[Wit0] Problem Attributwert in den Trainingsdaten gibt es nicht in Kombination mit einer Klasse (siehe outlookovercast) -> Laplace-Schätzung Anzahl relative Häufigkeit Laplace Schätzung P(yes) P(no) P(x j yes) P(x j no) yes no yes no yes no outlook sunny 2 3 2/9 3/5 3/2 4/8 overcast 4 0 4/9 0/5 5/2 /8 rainy 3 2 3/9 2/5 4/2 3/8 OS Data Mining SS0 Madeleine Weiand 20
[Wit0] fehlende Werte fehlende Wert stellen keine Probleme dar -> Trainingsdaten: Instanz wird bei der Häufigkeitszählung für die Attributwert- Klassenkombination nicht berücksichtig -> Klassifikation: Attribut wird ausgelassen OS Data Mining SS0 Madeleine Weiand 2
[Wit0] numerische Attribute nominale Werte temperature P(yes) P(no) P(x j yes) P(x j no) hot 2 2 2/9 2/5 mild 4 2 4/9 2/5 cool 3 3/9 /5 temperature yes no 83 85 70 80 numerische Werte nummerische Attributwerte 68 65 64 72 69 7 75 75 72 8 Mittelwert μ 73 74,6 Standardabweichung σ 6,2 7,9 σ n n i ( x i µ ) 2 OS Data Mining SS0 Madeleine Weiand 22
[Wit0] numerische Attribute temperature yes no nummerische Attributwerte 83 85 70 80 68 65 64 72 69 7 75 75 72 8 Mittelwert μ 73 74,6 Standardabweichung σ 6,2 7,9 f ( x µ )² 2σ ² ( ) x rein nominale Attribute e 2πσ P(temperature mild yes) P( yes X) 2 9 3 3 3 9 9 9 P( X ) 9 4 f(temperature 66 yes) 0.034 P( yes X) 2 9 3 0.034 9 P( X ) 3 9 9 4 OS Data Mining SS0 Madeleine Weiand 23
KNN Künstliche Neuronale Netze OS Data Mining SS0 Madeleine Weiand 24
KNN [google Bildersuche] Neuron (Nervenzelle) OS Data Mining SS0 Madeleine Weiand 25
KNN [www.linux_related.de] f Eingabe n i x w i ij Aufbau eines KNN n-# Neuronen der Vorgängerschicht, j- Neuron der Schicht f Aktivierun g x w OS Data Mining SS0 Madeleine Weiand 26
KNN [Wer00] Aktivierungsfunktion Schwellwert bzw. Sprungfunktion lineare Funktion Sigmoidfunktion OS Data Mining SS0 Madeleine Weiand 27
KNN [Wer00] Backpropagation-Algorithmus Trainingsdaten werden in das Netz gespeist die Differenz zwischen Netzausgabe und gewünschten Ausgabe wird als Fehler berechnet liegt der Fehler über der Toleranzgrenze wird er zurück propagiert -> die Gewichtungen der Neuronenverknüpfungen werden abhängig vom Einfluss auf den Fehler angepasst Vorgang wiederholt sich bis der Fehler innerhalb der Toleranzgrenze liegt Backpropagation stellte ein Näherungsverfahren dar OS Data Mining SS0 Madeleine Weiand 28
k nearest neighbour k nearest neighbour OS Data Mining SS0 Madeleine Weiand 29
nearest neighbour [Sch09] Idee Einordnung der Datenobjekt in gleiche Klasse wie ähnliche Trainingsobjekte Beschreibung einer Klasse durch ein Trainingsobjekt meist unzureichend Klassenzentrum bezeichnet ein Trainingsobjekt Verwendung einer Diskriminanzfunktion Berechnung des Abstands zu jedem Klassenzentrum zum Zeitpunkt der Klassifikation OS Data Mining SS0 Madeleine Weiand 30
OS Data Mining SS0 Madeleine Weiand 3 Diskriminanzfunktion nearest neighbour [Sch09] )} ( {min } ) ( 2 ) ( ) ( { min ) ( d # te Zentrum der Klasse i j- ) ( Menge der Klassenzentren für Klasse i ) ( ) ( i x d index Klassenindex x j z j z j z x Klassen m Datenobjekt x j z i J i m i T i i T i i J j i
k - nearest neighbour [Sch09] schwächere Berücksichtigung von Ausreißern wünschenswert -> Berechnung aller Werte d ij ( x) Klassenzuordnung erfolgt NN -> knn T T z ( j) z ( j) 2 z ( j) x i nach Bestimmung der k-kleinsten d ij (x) um so größer k desto schwächer der Einfluss von Ausreißern Bsp: k3 i i OS Data Mining SS0 Madeleine Weiand 32
SVM Support-Vector-Machine OS Data Mining SS0 Madeleine Weiand 33
SVM [Wer00] Erweiterung der linearen Klassifikation benutzt Hyperebene als Trennfunktion es ist möglich auch nicht linear separierbare Datenobjekte durch eine Hyperebene von einander zu trennen -> Instanzraum wird in einen höher dimensionalen Raum abgebildet die Hyperebene wird maximal diskriminierende Hyperebene genannt OS Data Mining SS0 Madeleine Weiand 34
SVM [Wer00] Maximal diskriminierende Hyperebene für die Objekte der beiden Klassen wird die konvexe Hülle gebildet die Ebene, die am weitesten von allen Objekten entfernt ist, heißt maximal diskriminierende Hyperebene liegt orthogonal zu den kürzesten Linien, die die beiden konvexen Hüllen verbindet die Objekte mit dem geringsten Abstand zu der maximal diskriminierenden Hyperebene werden support vectors / Stützvektoren genannt OS Data Mining SS0 Madeleine Weiand 35
SVM [www.imtech.res.in/raghava/rbpred/svm.jpg] Nichtlineare Klassengrenzen OS Data Mining SS0 Madeleine Weiand 36
Dimensionsreduktion Hauptkomponentenanalyse Principal Component Analysis OS Data Mining SS0 Madeleine Weiand 37
Dimensionsreduktion [Sch09] Problem der Datensatz bezogen auf die Anzahl der Attribute ist meist zu groß wähle aus n Attributen die k wesentlichen Attribute aus Idee: Transformation in einen Sekundärraum mit k Attributen Methode: Karhunen-Loeve-Transformation OS Data Mining SS0 Madeleine Weiand 38
Dimensionsreduktion [Sch09] Karhunen-Loeve-Transformation X Datenobjekt mit n-attributen A n x n Orthonormalmatrix mit a,,a n als Spaltenverktoren Cov Kovarianzmatrix zu X X A Y -> YA - X A T X OS Data Mining SS0 Madeleine Weiand 39
OS Data Mining SS0 Madeleine Weiand 40 Beispiel Dimensionsreduktion [Sch09] ( ) Attribut im Sekundärraum 2 0 2 2 2 2 2 2 : 2 2 : 4 4 Eigenvektoren : 3 5 5 8 4 4 charakteristische Polynom: 2 2 2 2 2 2 2 2 2 + a x A y e e A e x x e x x x x x x x x Cov T normiert normiert i i λ λ λ λ λ λ λ λ λ λ 4 4 Cov or Primärvekt x
Software Umsetzung in Software OS Data Mining SS0 Madeleine Weiand 4
Software Naive Bayes Entscheidungsbaum KNN SVM k-nn Quelle MS SQL Server 2008 x x x msdn Salford Systems - CART 6.0 ProEX x x x salford-systems.com KNIME x x x x www.knime.org RapidMiner x x x rapid-i.com Auton Lab - Auton Web x www.autonlab.org/autonweb OS Data Mining SS0 Madeleine Weiand 42
Vergleich Vor-/Nachteile der Algorithmen OS Data Mining SS0 Madeleine Weiand 43
Vor- und Nachteile Entscheidungsbaum Regel leicht ersichtlich, aber der Gesamtüberblick schwierig (Baum zu tief) -> Pruning (siehe Literatur) Attribute mit sehr viel möglichen Werten ergeben Mehrfachverzweigungen zur Klassifikation relevante Attribute befinden sich in Wurzelnähe OS Data Mining SS0 Madeleine Weiand 44
Vor- und Nachteile naive Bayes arbeitet auf großen Datenmengen gut, mit hoher Genauigkeit nimmt Unabhängigkeit der Attribute an; wenn fälschlicher Weise -> unzureichende Ergebnisse Geschwindigkeit ähnlich wie Entscheidungsbaum, KNN kontinuierliche Daten -> als Verteilungsfkt. wird meist fälschlicher Weise Normalverteilung vorausgesetzt OS Data Mining SS0 Madeleine Weiand 45
Vor- und Nachteile KNN tolerant gegenüber Ausreißern Attributkombinationen die nicht in der Trainingsmenge vorkommen, stellen kein Problem dar erlernte Gewichte sind kaum interpretierbar -> Klassifikationsergebnis nicht erklärbar lange Trainingsphase kategorielle Daten müssen in metrische Daten umgewandelt werden Netz ist individuell bezüglich Anzahl verborgener Schichten und Anzahl Neuronen zu erstellen OS Data Mining SS0 Madeleine Weiand 46
Vor- und Nachteile k - nearst neighbour für metrische und kategorielle Daten geeignet (durch Anpassung der Distanzfunktion) keine Lernphase, Daten werden zum Zeitpunkt der Klassifikation ausgewertet, aber gesamte Trainingsmenge muss für die Klassifikation eines Objektes durchlaufen werden Aufwand steigt mit steigenden k OS Data Mining SS0 Madeleine Weiand 47
Vor- und Nachteile SVM schnelle Klassifikation, weil nur Stützvektoren erforderlich effektiv auf Daten mit vielen Attributen finden der maximal diskriminierenden Hyperebene langwierig OS Data Mining SS0 Madeleine Weiand 48
Quellen Quellen OS Data Mining SS0 Madeleine Weiand 49
Quellen [Los02] Loss, Dirk: Data Mining: Klassifikations- und Clusteringverfahren, 2002, http://www.dirk-loss.de/dm-class-cluster_dloss.pdf [Wit0] Witten, Ian H., Frank, Eibe: Data Mining Praktische Werkzeuge und Techniken für das maschinelle Lernen, 200, Hanser Verlag, ISBN: 3-446-2533-6 [Fuh05] Prof. Dr.-Ing. Fuhr, Norbert: Informationssysteme, 2005, www.is.informatik.uni-duisburg.de/courses/dm_ws05, Grundlage: Witten & Frank [Wer00] Prof. Dr. Werner, Heinrich: der Forschungsgruppe Neuronale Netzwerke der Universität Kassel angehörig, Neuronale Netzwerke Vorlesungsmaterial, 2000 [Sch09] Prof. Dr. Schönherr, Siegfried: HTWK Leipzig, Mustererkennung Vorlesungsmaterial, 2009 OS Data Mining SS0 Madeleine Weiand 50
outlook temperature humidity windy play overcast cool normal true yes overcast mild high true yes overcast hot high false yes overcast hot normal false yes rainy cool normal false yes rainy cool normal true no rainy mild high false yes rainy mild normal false yes rainy mild high true no sunny cool normal false yes sunny mild normal true yes sunny mild high false no sunny hot high false no sunny hot high true no