Data Mining und Text Mining Einführung S2 Einfache Regellerner Hans Hermann Weber Univ. Erlangen, Informatik 8 Wintersemester 2003 hans.hermann.weber@gmx.de
Inhalt Einiges über Regeln und Bäume R1 ein einfacher Regellernalgorithmus Top Down Induktion von Entscheidungsbäumen Page 2, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner
Klassifikation: Regelformate Die Sprache für die Wissensrepräsentation beim DM sind die Zielregeln der Lernverfahren. Entscheidungstabellen Einfache Auflistung der Fakten Entscheidungsbäume Kompaktes Regelformat mit offengelegter Kontrolle Von der Wurzel aus bei jeder Verzweigung ein Test Blätter sind Klas sifikationsergebnisse Klassifikationsregeln Regeln sind logische Disjunkte LH S von Regeln sind logische Konjunkte DM Techniken verwenden (üblicherweise) nur Aussagenlogik Nicht verwendet beim DM werden Logikprogramme Prädikatenlogik Enthalten Rekursion Page 3, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner
Regeln für Relationen If width(block) > height (block) Then lying(block) versus If width > 3.5 and height > 7.0 Then lying Page 4, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner
Klassifikationsregeln vs. Entscheidungsbaum Prinzipiell kann für jeden Baum eine Regelmenge und für jede Regelmenge ein Baum konstruiert werden. In Gebrauch und Kompaktheit sind Regeln und Bäume sehr verschieden. Regeln können sehr kompakte Disjunktionen ausdrücken. Bäume können sehr kompakt Konkjunktketten (= Reihenfolgen) ausdrücken. Baum zu Regel Algorithmus: Für jedes Blatt erzeuge eine Regel bei der die Tests auf dem Pfad von der Wurzel zum Blatt die LHS ergibt. Regel zu Baum ist komplizierter Page 5, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner
OR Darstellung im Baum If a and b then x If c and d then x Replicated Subtree Problem Page 6, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner
Replicated Subtree Problem bei X-OR Regeln sind kompakter als Bäume Je tiefer ein Baum, desto höher die Redundanz bei Oder s Page 7, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner
R1 Verfahren Das Auswählen der besten einen Regel R1 kann sehr einfach gute Regeln erzeugen R1 ist sinnvoll, um schnell einen Einblick in bis dato unbekannte Daten zu erhalten. R1 ist kein professionelles DM Verfahren R1 zeigte, dass sehr einfache Verfahren schon leistungsfähig sein können. R1 Findet einen EB der Tiefe 1 für ein ausgewähltes Attribut Wählt die Möglichkeit aus, die Fehler-minimal ist. Page 8, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner
R1 Algorithmus Für jedes Attribut Für jeden Wert W des Attributs A, erstelle eine Regel: Zähle, wie oft jede Klasse für das Attribut vorkommt. Wähle die häufigste Klasse K Erstelle die Regel, Wenn A = W dann K Berechnen Sie die Fehlerrate aller Regeln Wähle die Regel mit der kleinsten Fehlerrate Page 9, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner
Weather-Play Tabelle Page 10, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner
R1 Beispiel Weather-Play Beispiel Kriterium für Güte einer Regel ist die Fehlerrate Aus einem Attribut werden Prädiktionen für alle Ausprägungen abgeleitet Dadurch werden strukturelle Tendenzen der Daten offengelegt. Page 11, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner
Weather-Play Tabelle mit Numerischen Werten Page 12, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner
Zahlenwerte und Diskretisierung für R1 Sortiere alle Werte und fasse die Intervalle zusammen, für die die Klasse jeweils gleich ist. Wähle die Grenzen-Werte und Beschreibe die Intervalle mit Aussagen <, > bezüglich dieser Werte Humidity < 66.5 AND > 70.5 -> yes...... Page 13, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner
Top Down Konstruktion von Entscheidungsbäumen (nach Ross Quillian s Algorithmus ID3) ID3 startet mit einem leeren EB Der leere EB führt zu einer Verteilung für die Zielklasse Z.B: 5 no, 9 yes Wenn wir immer auf yes tippen, dann liegen wir langfristig zu ca. 65% richtig. ID3 fügt das Attribut A an die Wurzel an Für jeden Wert von A gibt es eine Verteilung der Zielklasse A wird so gewählt, dass die Sicherheit beim tippen möglichst wächst. Wiederhole dies für jeden neuen Ast rekursiv bis die Verteilungen deterministisch werden. Page 14, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner
Wetter-Sport Beispiel Page 15, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner
Kandidaten für den ersten Test im EB outlook bringt das größte Maß an Sicherheit ein outlook = overcast Ist sogar bereits ein Rekursionsende Page 16, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner
E B Kandidaten im zweiten Schritt Bei Ast sunny führt Attribut humidity schon zu Sicherheit Alle anderen Attribute sind schlechter Page 17, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner
Hier sind alle Äste deterministisch Der Algorithmus ist beendet Der Baum ist relativ klein. Page 18, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner
Formaler Hintergrund von ID3 ID3 führt von relativer Informationsarmut zum Determinismus Als Mass für die Sicherheit ist dient die Entropie. Um eine Regel einzuführen wird die Differenz der mittleren Entropie vor und nach der Regeleinführung maximiert. Page 19, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner
Entropie für ID3 Entropie (p1, p2,..pn) = -p1 log p1 + -p2 log p2 +.. + -pn log pn Entropie (1.0) = -1 * log 1 = 0 Entropie (0.5, 0.5) = (-0.5 * -1) + (-0.5 * -01) = 1 Entropie (0.25, 0.25, 0.25, 0.25) =... = 2 Entropie (0.6, 0.4) = 0.44 + 0,53 = 0,97 Page 20, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner
Entropie eines Teil EB Relative Häufigkeiten von yes/no als Verteilungen von Teil- Entscheidungsbäumen Attribut-Wert-Verteilung = yes / yes + no, no / yes + no, für die Werte des Attributes bezogen auf die Zielklasse. Outlook-Sunny-Verteilung = 0.4, 0.6, bei 2 yes zu 3 no Entropie(Outlook-Sunny-Verteilung) = 0.97 Entropie(Outlook-Overcast-Verteilung) = 0.0 Entropie(Outlook-Rainy-Verteilung) = 0.97 Mittlere Entropie (Outlook) = 5/14 *0.97 + 4/14 *0 + 5/14 *0.97 = 0.69 Mittlere Entropie = Σ Entropie(Attribut-Wert-V) * ( Wert / Datensätze ) Page 21, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner
Scoring Funktion für die Auswahl eine TE B Wähle den TEB als nächstes, der die größte Verbesserung der Entropie erzielt. Der EB ist der Entscheidungsbaum ohne das neue Attribut am aktuell bearbeiteten Baum Das neue Attribut A soll eingefügt werden. Gain_EB (A) = Entropie(EB) Entropie_EB(A) Zu Begin: Entropie(Wurzel) = Entropie(5/14,9/14) = 0.94 Page 22, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner
Teilbäume und deren Entropiegewinn nach der Wurzel Gain(outlook) = Entopie(Wurzel) Entropie(Outlook) = 0.94-0.69 = 0.25 Gain(termperature)= 0.03 Gain(humidity)= 0.15 Gain(windy)=0.05 Page 23, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner
Teilbäume und deren Entropiegewinn nach Outlook-Sunny Gain(temperature) = Entropie(Outlook-Sunny) - Entropie(temperature) = 0.97 (0*2/5 + 1*2/5 + 0*1/5) = 0.97 0.4 = 0.57 Gain(humidity) = 0.97 Gain(windy) = 0.02 Page 24, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner
Teilbäume und deren Entropiegewinn bei Outlook-Rainy Gain(windy) = Entropie(Outlook-Rainy) - Entropie(windy) = 0.97 (0*1/2 + 0*1/2) = 0.97 0 = 0.97 Gain(temperature)= 0.97 (0.92*3/5 + 1*2/5) = 0.97 0.95 = 0.02 Gain(humidity)= 0.97 (0.92*3/5 + 1*2/5) = 0.97 0.95 = 0.02 Temperature mild : yes yes no Humidity normal: yes yes no cool : yes no high: yes no Page 25, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner
ID3 und Verzweigung von Attributen ID3 bevorzugt Attribute, die viele verschiedene Werte haben Das kann zum Auswendiglernen führen -> Überadaption -> Auswendiglernen Page 26, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner
Alternative: Gain Ratio Entropie(ID) = Entropie(0,1) +.. + Entropie (0,1) = 0 Gain(ID) = 0.97 Alternativ: SplitInfo(1,1,1,1...,1) = 1/14 * log 1/14 * 14 = 3.807 GainRation(X) = Gain(X) / SplitInfo (X) Also im Beispiel GainRatio(ID) = 0.97 / 3.807 = 0.25 GainRatio(outlook) = 0.25 / 1.577 = 0.156 Realistisch ist die Data Cleansing Methode: IDs und stark splittende Attribute werden in der Vorverabeitung eliminiert Page 27, Data Mining & Text Mining Einführung, Abschnitt 2, Einrache Regellerner