Data Mining Seite 25 4. Lineare und Nichtlineare Entscheidungsbäume 4.1. Geometrische Interpretation Bei der Konstruktion von Entscheidungsbäumen geht man davon aus, dass die Beispiele in der Form von Datensätzen mit einer Anzahl von Attributen gegeben sind. Die Datensätze des Beispiels von Abschnitt 2.2 illustrieren dies. Man kann einen solchen Datensatz als Punkt in einem mehrdimensionalen Raum auffassen. Jedes Attribut, das die Beispiele charakterisiert, stellt eine Dimension des Raumes dar. Die Dimensionen können ganz unterschiedliche Wertebereiche haben, kontinuierliche wie die reellen Zahlen, diskrete geordnete wie die natürlichen Zahlen oder Buchstaben, boolesche oder diskrete ungeordnete. Entscheidungsbäume in der in Kapitel 4 behandelten Form unterteilen die Gesamtmenge der Beispiele in Teilmengen nach ihren Werten bezüglich ausgewählter Attribute. Nach einer solchen Unterteilung haben die Beispiele in jeder der entstandenen Teilmengen bezüglich des ausgewählten Attributs einen festen Wert. Dieser wird natürlich für alle folgenden Unterteilungen beibehalten. Bei Attributen mit geordneten Wertebereichen (kontinuierlich, diskret oder Boolesch) kann man die Unterteilung als Ebene im n-dimensionalen Raum interpretieren. Alle Beispiele mit einem Attributwert kleiner als dem gewählten liegen auf der einen Seite der Ebene, alle mit einem Attributwert größer als dem gewählten liegen auf der anderen Seite. Die Trennebenen sind achsenparallel, genauer: eine Trennebene liegt parallel zu der Koordinatenachse des Attributs, dem sie zugeordnet ist. 4.2. Lineare Entscheidungsbäume Es sei eine Beispielmenge mit N Datensätzen gegeben. Jeder Datensatz ist durch die n Attribute A1, A2, …, An definiert. Die Wertebereiche der Attribute werden als ursprünglich kontinuierlich, aber diskretisiert angenommen. Das Attribut Ai habe die Werte wi1 , wi 2 , ..., wiki . Jeder Wert entspricht also einem Intervall im ursprünglichen kontinuierlichen Wertebereich, das durch Auftrennen an den Stellen t i1 , t i 2 , ..., t i ,ki 1 entstanden ist. Es gilt also wij (t i , j 1 , t ij ) (j = 1, …, ki), wi1 = (-∞, ti1), wiki (t iki ) . Die Trennstellen werden auf einer Seite der Intervalle zu denselben hinzugenommen. Wird bei der Konstruktion eines Entscheidungsbaums das Attribut Ai ausgewählt, dann wird die aktuelle Menge B der Beispiele in ki Teilmengen Bi1 , Bi 2 , ..., Biki unterteilt. In der Teilmenge Bij haben alle Beispiele den Wert wij (t i , j 1 , t ij ) . Diese Beispiele liegen alle in einem (n-1)-dimensionalen Teilraum für den gilt Ai = wij, oder anders interpretiert: Der n-dimensionale Raum wird durch ki-1 Trennebenen in ki Teilräume der Dimension n-1 zerlegt. In jedem Teilraum liegt die entsprechende Beispielmenge Bij. Die Trennebenen lassen sich durch die Gleichungen Ai = tij (j = 1, …, ki-1) beschreiben. Diese Trennebenen liegen senkrecht zur Achse Ai und parallel zu allen übrigen Achsen des n-dimensionalen Raums. Achsenparallele Trennungen sind ein Spezialfall der linearen Trennungen. Man erhält beliebige lineare Trennungen durch Linearkombination mehrerer, allgemein aller Attribute. Die allgemeine Form einer Trennebene im n-dimensionalen Raum ist also c1 A1 c2 A2 ... cn An v Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining Seite 26 Diese Gleichung beschreibt eine beliebige Ebene im n-dimensionalen Raum. Durch solche Trennungen lassen sich unter Umständen die Beispiele besser, d.h. mit weniger Trennungen, unterteilen. Sie haben allerdings den Nachteil, dass sie schwerer zu bestimmen und weniger anschaulich sind. 4.3. Nichtlineare Entscheidungsbäume Es seien dieselben Voraussetzungen über die Beispielmenge und ihre Attribute gegeben wie bei den linearen Entscheidungsbäumen. Sei f eine beliebige Funktion auf der Menge der Attribute, so dass gilt f ( A1 , A2 , ..., An ) v Diese Gleichung repräsentiert einen Teilkörper der Dimension n-1 im n-dimensionalen Raum, der eine Trennung des Raums in zwei n-dimensionale Teilräume erzeugt. Im Folgenden werden nur spezielle Funktionen f betrachtet, nämlich quadratische Polynome. Sie haben die allgemeine Gleichung n n c A c i 1 i i i 1, j 1 ij Ai A j v Man sieht sofort, dass die linearen Trennungen ein Spezialfall der quadratischen sind, nämlich für cij = 0 (i, j = 1, …, n). Zur Bestimmung geeigneter Trennkörper kann man eine Vorgehensweise ähnlich der bei SupportVektor-Maschinen verwenden. Dazu macht man die folgende Betrachtungsweise. Durch den Übergang zu höheren Polynomen sind gewissermaßen neue Attribute entstanden, nämlich die Quadrate und gemischten Produkte der alten Attribute. Setzt man B1 A1 , B2 A2 , B3 A12 , B4 A1 A2 und B5 A22 , dann erhält man die Gleichung c1 B1 c2 B2 c3 B3 c4 B4 c5 B5 v Dies ist eine lineare Gleichung im fünfdimensionalen Raum. Das bedeutet, dass sich quadratische Trennungen im zweidimensionalen Raum als lineare Trennungen im fünfdimensionalen Raum darstellen lassen. Jetzt müssen noch die Koeffizienten ci bestimmt werden. Von ihnen hängt die Lage der Trennebene im fünfdimensionalen Raum ab. Dazu bestimmt man diejenigen Punkte, die am nächsten zu der voraussichtlichen Lage der Trennebene liegen und bestimmt die Koeffizienten ci so, dass der gesamte Abstand aller ausgewählten Punkte minimiert wird. Damit hat man automatisch die optimalen Koeffizienten auch für die quadratische Trennung im zweidimensionalen Raum, und je nach Wert der Koeffizienten ergibt sich eine bestimmte Kegelschnittfigur. Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining Seite 27 Fragen 1. Wie kann man die Unterteilung einer Beispielmenge durch einen Entscheidungsbaum geometrisch interpretieren? 2. Was sollte man bei der Diskretisierung kontinuierlicher Wertebereiche von Attributen beachten? 3. Wie sind lineare Trennungen im n-dimensionalen Raum definiert? 4. Wie sind allgemeine nichtlineare Trennungen und speziell solche mit quadratischen Polynomen definiert? 5. Welche geometrischen Formen haben quadratische Trennungen? Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining Seite 28 5. Neuronale Netze 5.1. Gehirn und Computer 5.1.1. Struktur und Arbeitsweise des Gehirns Das Neuron, auch Nervenzelle genannt, ist die elementare funktionale Einheit von allem Nervengewebe, einschließlich des Gehirns. Es besteht aus einem Zellkörper, genannt Soma, der den Zellkern enthält. Aus dem Zellkörper verzweigen eine Anzahl kurzer Fasern, genannt Dendriten, und eine einzelne lange Faser, genannt Axon. Die Dendriten verzweigen in ein buschiges Netz von Endigungen um die Zelle herum, während das Axon sich über eine lange Distanz erstreckt, meist etwa 1 cm (damit das 100-fache des Durchmessers des Zellkörpers) in extremen Fällen bis zu 1 m. Das Axon verzweigt sich am Ende ebenfalls in einzelne Fäden, die mit Dendriten oder Zellkörpern anderer Neuronen verbunden sind. Die Verbindungsstellen zwischen Neuronen heißen Synapsen. Jedes Neuron bildet Synapsen mit irgendwelchen anderen Neuronen, die Anzahl ist sehr unterschiedlich, sie geht von einem Dutzend bis 100000. Abbildung 5.1 zeigt eine vereinfachte Darstellung eines Neurons. Die Übertragung von Signalen von einem Neuron auf ein anderes erfolgt durch einen komplizierten elektrochemischen Prozess. Wenn ein elektrischer Impuls am Axonende ankommt, erzeugt die Synapse eine Transmittersubstanz, die in den Dendrit einer anderen Zelle eindringt und dort das elektrische Potential erhöht oder erniedrigt (exzitatorische bzw. inhibitorische Synapsen). Wenn das Potential einen Schwellenwert erreicht, wird ein Impuls, genannt das Aktionspotenzial, durch das Axon geschickt. Dieser löst dann wieder die Erzeugung von Transmittersubstanz in den entsprechenden Synapsen aus. Synapsen können unterschiedlich stark sein, d.h. unterschiedliche Leitfähigkeit haben, und diese kann sich ändern. Ebenso können Neuronen neue Verbindungen zu anderen Neuronen aufbauen und ganze Neuronengruppen können ihren Platz verändern. Durch diese Möglichkeiten der Modifikation ist das Gehirn lernfähig. Axon von einem anderen Neuron Synapse Zellkörper oder Soma Synapsen Dendriten Axonale Verzweigung Zellkern Axon Abbildung 5.1 5.1.2. Vergleich zwischen Gehirn und Computer Der Hauptunterschied liegt in der Zykluszeit und im Grad der Parallelität. In der Zykluszeit ist der Computer weit schneller als das Gehirn und wird noch schneller werden. Dafür ist das Gehirn im Grad der Parallelität weit überlegen. Das wirkt sich auf die Zahl der geschalteten Elemente pro Sekunde aus. Dies bewirkt die Leistungsfähigkeit des Gehirns bei besonderen Aufgaben, z.B. der Bilderkennung. Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining Seite 29 Das Gehirn ist fehlertoleranter als ein Computer. Wenn ein Bit wegen eines Hardwarefehlers kippt, kann das eine ganze Berechnung zerstören. Neuronen fallen laufend aus (und werden nicht mehr ersetzt), ohne dass dadurch die Funktionsfähigkeit des Gehirns beeinträchtigt wird. 5.2. Neuronale Netze 5.2.1. Grundbegriffe Ein Neuronales Netz besteht aus einer Menge von Knoten oder Einheiten, die durch Kanten verbunden sind. Jeder Kante ist ein numerisches Gewicht zugeordnet. Die Gewichte sind veränderlich und durch ihre Veränderung kann das Netz lernen, während die Struktur im Allgemeinen als fest betrachtet wird. Durch das Lernen bringt das Netz seine Ausgaben, die es auf Grund bestimmter Eingaben erzeugt, mit den gewünschten Ausgaben in Übereinstimmung. Einige der Einheiten sind als Eingabe- bzw. Ausgabeeinheiten ausgezeichnet. Jede Einheit hat eine Anzahl von Eingabekanten, die von anderen Einheiten kommen, und von Ausgabekanten, die zu anderen Einheiten führen. Ausnahmen sind die Eingabe- und Ausgabeeinheiten. Sie hat weiterhin ein bestimmtes Aktivierungsniveau und ein Hilfsmittel zum Berechnen des Aktivierungsniveaus im nächsten Schritt aus den Eingaben und Gewichten. Im Prinzip führt jede Einheit ihre Berechnung lokal auf Grund der Eingaben von den Nachbareinheiten aus, eine globale Kontrolle ist nicht erforderlich. In der praktischen Realisierung, meist als Software, werden die Berechnungen aber synchronisiert, damit die Einheiten in einer festen Reihenfolge arbeiten. 5.2.2. Notationen Für die Bezeichnung der Bestandteile eines Neuronalen Netzes sind einige formale Notationen erforderlich. Sie sind in Tabelle 5.2 zusammengestellt. Notation ai ai g g‘ Erri Erre Ii I Ie ini N O Oi O t T T Te Wj,i Wi Wi W Bedeutung Aktivierungswert der Einheit i (gleichzeitig die Ausgabe der Einheit) Vektor der Aktivierungswerte der Eingaben in Einheit i Aktivierungsfunktion Ableitung der Aktivierungsfunktion Fehler der Einheit i (Differenz zwischen Ausgabe und Ziel) Fehler für Beispiel e Aktivierung der Einheit i in der Eingabeschicht Vektor der Aktivierungen aller Eingabeeinheiten Vektor der Eingaben für Beispiel e Gewichtete Summe der Eingaben in Einheit i Gesamtzahl der Einheiten im Netz Aktivierung der einzigen Ausgabeeinheit eines Perzeptrons Aktivierung der Einheit i in der Ausgabeschicht Vektor der Aktivierungen aller Einheiten der Ausgabeschicht Schwellenwert für eine Schrittfunktion Zielausgabe für ein Perzeptron (gewünschte Ausgabe) Zielvektor bei mehreren Ausgabeeinheiten Zielvektor für Beispiel e Gewicht der Kante von Einheit j zu Einheit i Gewicht der Kante von Einheit i zur Ausgabeeinheit in einem Perzeptron Vektor der Gewichte an den zu Einheit i führenden Kanten Vektor aller Gewichte im Netz Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining Seite 30 Tabelle 5.2 5.2.3. Einfache Rechenelemente In Abbildung 5.2 ist eine typische Einheit dargestellt. Ihre Grundfunktion ist es aus den über die Eingabekanten empfangenen Signalen ein neues Aktivierungsniveau zu berechnen und dieses über die Ausgabekanten an die nächsten Einheiten zu schicken. Die Berechnung erfolgt in zwei Schritten: Im ersten Schritt wird durch eine lineare Komponente, die Eingabefunktion ini, die gewichtete Summe der Eingabewerte berechnet. Im zweiten Schritt wird durch eine nichtlineare Komponente, die Aktivierungsfunktion g, das Aktivierungsniveau ai berechnet. Gewöhnlich haben alle Einheiten in einem Netz dieselbe Aktivierungsfunktion. ai = g(ini) aj W j,i g ini Eingabekanten ai Ausgabe -kanten Eingabe- Aktivierungs- Ausgabe funktion funktion Abbildung 5.2 ini wird berechnet durch ini W j ,i a j Wi a i j Der neue Wert des Aktivierungsniveaus wird berechnet durch die Funktion g. ai g (ini ) g W j ,i a j j Für die Wahl der Funktion g gibt es eine Fülle von Möglichkeiten. Drei besonders gebräuchliche Funktionen sind die Schrittfunktion, die Signumsfunktion und die Sigmoidfunktion. Sie sind in Abbildung 5.3 illustriert. ai ai +1 ai +1 +1 ini ini ini t -1 Schrittfunktion Signumsfunktion Sigmoidfunktion Abbildung 5.3 Die Definition dieser Funktionen ist wie folgt: Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining 1, stept ( x) 0, Seite 31 falls x t falls x t 1, sign ( x) 1, falls x 0 falls x 0 sigmoid ( x) 1 1 ex Statt Aktivierungsfunktionen mit Schwellenwert zu verwenden, kann man solche ohne Schwellenwert verwenden und statt dessen noch eine zusätzliche Eingabe mit Gewicht vorsehen. Dadurch wird das Lernen im Netz einfacher, denn man muss nur noch die Gewichte verändern, nicht Gewichte und Schwellenwerte. Die zusätzliche Eingabe hat die konstante Aktivierung a0 = -1. Das zusätzliche Gewicht W0,i dient zusammen mit der Aktivierung a0 als Schwellenwert wenn W0,ia0 = t. Dann kann für alle Einheiten der feste Schwellenwert 0 verwendet werden. Die zusätzliche Eingabe kann im Netz durch eine spezielle Einheit, genannt Bias, die eine Kante zu jeder anderen Einheit, aber keine Eingabekante besitzt, realisiert werden. 5.2.4. Netzstrukturen Es gibt viele verschiedene Netzstrukturen mit unterschiedlichen Berechnungsleistungen. Sie lassen sich in zwei Hauptgruppen einteilen, die zyklenfreien (feed forward) und die rekurrenten Netze. In zyklenfreien Netzen sind die Kanten gerichtet und es gibt keine Schleifen, während in rekurrenten Netzen beliebige Strukturen erlaubt sind. Graphentheoretisch ist ein zyklenfreies Netz ein DAG. Üblicherweise wird die Anordnung der Einheiten im Netz in Schichten vorgenommen. In einem geschichteten zyklenfreien Netz führen von jeder Einheit aus nur Kanten zu Einheiten in der nächsten Schicht, es gibt keine Kanten zu Einheiten in derselben Schicht oder zu Einheiten in vorangehenden Schichten oder Kanten, die eine Schicht überspringen (Ausnahme: das Bias). In Abbildung 5.4 ist ein zweischichtiges zyklenfreies Netz dargestellt. Die Eingabeeinheiten werden nicht als eigene Schicht gezählt. W1,3 I1 H3 W3,5 W1,4 O5 W2,3 I2 H4 W4,5 W2,4 Abbildung 5.4 Zyklenfreie Netze realisieren Funktionen der Eingaben, die nur von den Gewichten abhängen. Sie haben keine inneren Zustände, da bei der Berechnung der Aktivierungswerte einer Schicht die Aktivierungswerte der vorhergehenden Schichten keine Rolle spielen. Die Netze können dazu verwendet werden, adaptive Versionen von Reflexagenten zu realisieren oder einzelne Komponenten komplexerer Agenten. In rekurrenten Netzen wird die Aktivierung als Eingabe derselben oder vorhergehender Einheiten verwendet. Deshalb haben diese Netze einen inneren Zustand, der in den Aktivierungsniveaus der Einheiten gespeichert ist. Die Berechnung in rekurrenten Netzen verläuft weniger geordnet als in zyklenfreien. Die Netze können instabil werden, oszillieren oder chaotisches Verhalten zeigen. Es kann lange dauern, bis sie auf eine Eingabe eine stabile Ausgabe erzeugen und der Lernprozess ist schwieriger. Ihre Repräsentationsfähigkeit ist aber dafür größer als die zyklenfreier Netze. Sie können komplexe Agenten und Systeme mit inneren Zuständen darstellen. In einem zyklenfreien Netz gibt es eine Schicht von Einheiten, die Eingaben aus der Umgebung aufnehmen, die Eingabeeinheiten (in Abbildung 5.4 I1 und I2). Ihr Aktivierungswert ist durch die Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining Seite 32 Umgebung bestimmt. Ferner gibt es eine Schicht von Einheiten, die ihre Ausgaben in die Umgebung abgeben, die Ausgabeeinheiten (in Abbildung 5.4 O5). Dazwischen gibt es Schichten von Einheiten, die keine Verbindung zur Außenwelt haben, sie heißen deshalb verborgene Einheiten (hidden units) (in Abbildung 5.4 gibt es eine Schicht verborgener Einheiten, H3 und H4). Ein bestimmter Typ zyklenfreier Netze, die Perzeptrone, haben keine verborgenen Einheiten. Bei ihnen ist der Lernprozess einfach, dafür ist ihre Repräsentationsfähigkeit stark beschränkt. Netze mit einer oder mehreren Schichten verborgener Einheiten heißen mehrschichtige Netze. Schon mit einer genügend großen Schicht verborgener Einheiten ist es möglich, jede kontinuierliche Funktion der Eingaben zu repräsentieren, mit zwei Schichten können sogar diskontinuierliche Funktionen repräsentiert werden. Bei fester Struktur und festen Aktivierungsfunktionen g haben die Funktionen, die durch ein zyklenfreies Netz gelernt (und damit repräsentiert) werden können, eine spezifische parametrisierte Form. Die Gewichte bestimmen, welche Funktionen tatsächlich repräsentiert werden. Stellt man sich die Gewichte als Parameter oder Koeffizienten der repräsentierten Funktion vor, dann ist das Lernen der Prozess, bei dem die Parameter getunt werden, um die Daten der Trainingsmenge möglichst genau zu treffen. In der Statistik heißt dieser Prozess nichtlineare Regression. 5.2.5. Optimale Netzstrukturen Ein generelles Problem bei der Konstruktion Neuronaler Netze ist die Festlegung der Struktur. Wird das Netz zu klein angelegt, dann kann es die gewünschte Funktion nicht repräsentieren. Wird es zu groß angelegt, dann kann es alle Beispiele der Trainingsmenge in der Art einer Tabelle speichern, aber es hat keine Verallgemeinerungsfähigkeit und kann neue Beispiele nicht richtig klassifizieren. Dieses Phänomen ist das Overfitting, es ist typisch für statistische Modelle. Zyklenfreie Netze mit einer verborgenen Schicht können jede kontinuierliche Funktion approximieren, Netze mit zwei verborgenen Schichten können überhaupt jede Funktion approximieren. Aber die Zahl der Einheiten in jeder Schicht kann exponentiell mit der Zahl der Eingaben anwachsen. Es gibt noch keine gute Theorie um die mit einer kleinen Zahl von Einheiten approximierbaren Funktionen zu kennzeichnen. Das Problem eine gute Netzstruktur zu finden ist ein Optimierungsproblem. Um dieses zu lösen wurden verschiedene Verfahren versucht, z.B. genetische Algorithmen. Bei ihnen ist aber der Rechenaufwand sehr hoch, weil man Populationen von Netzen untersuchen und mit Fitnessfunktionen testen muss. Ein anderes mögliches Verfahren ist „Bergsteigen“. Dabei wird das Netz schrittweise modifiziert, und zwar entweder von einem kleinen Netz ausgehend vergrößernd, oder von einem großen Netz ausgehend verkleinernd. 5.3. Perzeptrone 5.3.1. Struktur von Perzeptronen Ein Perzeptron ist ein einschichtiges, zyklenfreies Netz. Abbildung 5.5(a) zeigt ein Perzeptron. Die Ausgabeeinheiten sind unabhängig voneinander, denn jedes Gewicht beeinflusst nur eine Ausgabe. Deshalb kann man ein Perzeptron als zusammengesetzt aus lauter einfachen Perzeptronen mit jeweils nur einer Ausgabeeinheit betrachten, vgl. Abbildung 5.5(b), und man kann die Untersuchung auf solche einfachen Perzeptrone beschränken. Die Indizes lassen sich hier vereinfachen, die Ausgabeeinheit wird einfach mit O bezeichnet und das Gewicht von der Eingabe j zu O mit Wj. Die Aktivierung der Eingabeeinheit j ist durch Ij gegeben. Damit ist die Aktivierung der Ausgabe Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining Seite 33 O step0 W j I j step0 ( W I) j (5.1) 5.3.2. Repräsentationsfähigkeit von Perzeptronen Es können einige komplexe Boolesche Funktionen repräsentiert werden, z.B. die Majoritätsfunktion, die eine 1 ausgibt, wenn mehr als die Hälfte ihrer n Eingaben 1 ist. Dafür benötigt man ein Perzeptron, bei dem alle Gewichte Wj = 1 sind und der Schwellenwert t = n/2. Bei einem Entscheidungsbaum würde man für diese Funktion O(2n) Knoten benötigen. Ij Wj,i Eingabeeinheiten Oi Ij Ausgabeeinheiten Eingabeeinheiten (a) Perzeptron-Netz Wj O Ausgabeeinheit (b) Einzelnes Perzeptron Abbildung 5.5 Leider können viele Boolesche Funktionen nicht repräsentiert werden. Der Grund dafür ist, dass jede Eingabe Ij die Ausgabe nur in einer Richtung beeinflussen kann, unabhängig von den übrigen Eingabewerten. Man betrachte zur Illustration einen Eingabevektor a. Jede Komponente des Vektors sei aj = 0 und die Ausgabe sei 0. Angenommen, beim Wechsel von aj zum Wert aj = 1 werde die Ausgabe 1. Dann muss Wj positiv sein. Ferner gibt es dann keinen Vektor b, für den die Ausgabe 1 ist wenn bj = 0, aber andererseits die Ausgabe 0, wenn bj = 1. Diese Eigenschaft schränkt die Repräsentationsfähigkeit der Perzeptrone erheblich ein. 13.3.3. Erlernen linear separierbarer Funktionen Der Lernalgorithmus Neural-Network-Learning geht von zufällig aus dem Intervall [-0.5, 0.5] ausgewählten Gewichten in einem Perzeptron aus. Dann werden die Gewichte schrittweise verändert, und zwar so, dass die Ausgabe bei den vorgelegten Beispielen an die gewünschte Ausgabe angepasst wird. Dieser Anpassungsschritt muss für jedes Beispiel mehrere Male wiederholt werden um Konvergenz zu erzielen. Der Lernprozess wird dazu meist in Epochen unterteilt. In jeder Epoche wird für jedes Beispiel eine Anpassung durchgeführt. Der Algorithmus ist wie folgt definiert. function NEURAL-NETWORK-LEARNING(Beispiele) returns ein Netz Netz ein Neuronales Netz mit zufällig ausgewählten Gewichten repeat Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining Seite 34 for each e in Beispiele do O NEURAL-NETWORK-OUTPUT(Netz, e) T die erwarteten Ausgabewerte für e aktualisiere die Gewichte in Netz auf der Basis von e, O und T end until alle Beispiele werden korrekt vorhergesagt oder das Stopp-Kriterium ist erreicht return Netz Die Regel für das Aktualisieren der Gewichte (Lernregel) für das Perzeptron ist einfach. Die vorhergesagte Ausgabe für ein Beispiel sei O, die korrekte Ausgabe sei T. Dann ist der Fehler Err = T O Ist der Fehler positiv, dann muss der Wert von O vergrößert werden, ist er negativ, muss er verkleinert werden. Jede Eingabeeinheit hat den Anteil WjIj an der Gesamteingabe. Ist Ij positiv, dann führt eine Vergrößerung von Wj tendenziell zu einer größeren Ausgabe, ist Ij negativ, dann führt eine Vergrößerung von Wj tendenziell zu einer kleineren Ausgabe. Fasst man beide Einflüsse zusammen, dann erhält man die folgende Regel: W j W j I j Err ist eine Konstante, genannt die Lernrate. Die Regel ist eine leicht geänderte Version der Perzeptron-Lernregel von Rosenblatt (1960). Rosenblatt bewies, dass die Lernregel gegen eine Menge von Gewichten konvergiert, die die Beispielmenge korrekt repräsentiert, sofern die Beispiele eine linear separierbare Funktion repräsentieren. 5.4. Mehrschichtige zyklenfreie Netze 5.4.1. Back-Propagation-Lernen Mit der Methode der Back Propagation können auch mehrschichtige zyklenfreie Netze lernen. Prinzipiell verläuft der Lernprozess wie bei den Perzeptronen: Dem Netz werden Beispiele vorgelegt. Stimmt der Ausgabevektor mit den erwarteten Werten überein, dann muss nichts gemacht werden. Liegt aber ein Fehler vor, d.h. eine Differenz zwischen Ausgabe und Ziel, dann müssen die Gewichte angepasst werden. Die Idee des Back-Propagation-Algorithmus ist es, alle für den Fehler verantwortlichen Gewichte in die Korrektur einzubeziehen. Für die Ausgabeeinheiten ist dies am einfachsten und die Regel ist der für Perzeptrone ähnlich. Es gibt zwei Unterschiede: Anstelle eines Eingabewerts wird die Aktivierung einer verborgenen Einheit benutzt und es wird die erste Ableitung g‘ der Aktivierungsfunktion g verwendet. Ist Erri = Ti – Oi der Fehler an der Ausgabeeinheit i, dann ist die Aktualisierungsregel für das Gewicht an der Kante von Einheit j zur Ausgabeeinheit i W j ,i W j ,i a j Erri g ' (ini ) Es ist üblich, einen speziellen Fehlerausdruck i Erri g ' (ini ) zu definieren. Dieser Fehlerwert wird nämlich zurückpropagiert. Damit wird die Regel verkürzt zu W j ,i W j ,i a j i Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining Seite 35 Der Fehler i an der Ausgabeeinheit i wird nun auf die vorhergehenden verborgenen Einheiten aufgeteilt und zwar proportional zu den Gewichten der Kanten von den verborgenen Einheiten zu i. Die Fehler j der verborgenen Einheiten werden durch die Propagierungsregel wie folgt berechnet: j g ' (in j )W j ,i i i Die Aktualisierungsregel für die Gewichte von den Eingabeeinheiten zu den verborgenen Einheiten ist damit Wk , j W k , j I k j Der vollständige Algorithmus wird durch die Funktion BACK-PROP-UPDATE implementiert. function BACK-PROP-UPDATE(Netz, Beispiele, ) returns ein Netz mit modifizierten Gewichten inputs: Netz, ein mehrschichtiges zyklenfreies Netz Beispiele, eine Menge von Eingabe/Ausgabe-Paaren , die Lernrate repeat for each e in Beispiele do /* Berechnung der Ausgabe für dieses Beispiel */ O RUN-NETWORK(Netz, Ie) /* Berechnung des Fehlers und von für die Ausgabeeinheiten */ Erre Te O /* Aktualisierung der Gewichte, die zu der Ausgabeschicht führen */ W j ,i W j ,i a j Errie g ' (ini ) for each nachfolgende Schicht in Netz do /* Berechnung des Fehlers an jeder Einheit */ j g ' (in j ) i W j ,i i /* Aktualisierung der Gewichte, die in die Schicht führen */ Wk , j W k , j I k j end end until Netz ist konvergiert return Netz Der Algorithmus kann folgendermaßen zusammengefasst werden: Berechne die -Werte für die Ausgabeeinheiten, ausgehend vom beobachteten Fehler. Wiederhole die folgenden Schritte für jede Schicht im Netz, beginnend mit der Ausgabeschicht, bis die erste verborgene Schicht erreicht ist: - Propagiere die -Werte zurück zu der vorhergehenden Schicht. Aktualisiere die Gewichte zwischen den beiden Schichten. 5.4.2. Eigenschaften des Back-Propagation-Lernens Das Back-Propagation-Lernen kann nach denselben Eigenschaften beurteilt werden, die man auch an andere Lernverfahren als Kriterien anlegt. Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining Seite 36 Ausdruckskraft Neuronale Netze sind eine Attribut-basierte Repräsentation und haben deshalb nicht dieselbe Ausdruckskraft wie allgemeine logische Beschreibungen. Sie sind für kontinuierlichwertige Ein- und Ausgaben geeignet, im Unterschied zu Entscheidungsbäumen. Die Klasse aller mehrschichtigen Netze als Ganze kann zwar jede Funktion der Eingaben repräsentieren, aber ein einzelnes Netz kann zu wenige verborgene Einheiten haben. Effizienz Die Effizienz ist wesentlich durch die Rechenzeit bestimmt, die für das Trainieren des Netzes, um eine Beispielmenge korrekt zu klassifizieren, benötigt wird. Bei m Beispielen und |W| Gewichten braucht jede Epoche O(m|W|) Zeit. Die worst-case-Anzahl der Lernepochen hängt aber exponentiell von der Zahl n der Eingaben ab. Ein Problem stellen die lokalen Minima in der FehlerOberfläche dar. Generalisierung Neuronale Netze haben eine relative gute Generalisierungsfähigkeit. Dies ist insbesondere bei Funktionen der Fall, für die sie besonders geeignet sind. Von diesem Typ sind Funktionen, bei denen die Interaktionen zwischen den Eingaben nicht zu verwickelt sind und bei denen die Ausgaben sich „stetig“ mit den Eingaben verändern. Empfindlichkeit gegen Rauschen Da die Neuronalen Netze nichtlineare Regression durchführen sind sie relativ unempfindlich gegenüber verrauschten Daten. Sie bestimmen diejenige Ausgabe, die unter den Gegebenheiten des Netzes am besten zu einer Eingabe passt. Dafür können sie auch keine Wahrscheinlichkeitsverteilung für die Ausgaben liefern. Transparenz Neuronale Netze sind im Prinzip Black Boxes. Sie können nicht angeben, warum eine bestimmte Ausgabe gemacht worden ist, d.h. sie haben keine Erklärungsfähigkeit. Vorwissen Liegt bereits Wissen über ein Anwendungsgebiet vor, dann ist es meist vorteilhaft, dieses in einem lernenden System zu verwenden. Der Lernerfolg hängt manchmal entscheidend davon ab, ob solches Vorwissen vorhanden ist. Bei Neuronalen Netzen ist die Verwendung von Vorwissen wegen ihrer mangelnden Transparenz schwierig. 5.5. Anwendungen Neuronaler Netze 5.5.1. Englische Aussprache Die Aufgabe ist geschriebenen englischen Text flüssig auszusprechen. Es geht dabei darum den Strom der Textzeichen in Phoneme, die grundlegenden Lautelemente, umzusetzen und diese einem elektronischen Sprachgenerator zu übergeben. Das Problem ist also die Abbildung der Textzeichen in Phoneme. Die Schwierigkeit dabei ist vor allem im Englischen, dass die meisten Ausspracheregeln nur näherungsweise korrekt sind und es sehr viele Ausnahmen gibt. Deshalb eignen sich hier Neuronale Netze. Sejnowski und Rosenberg entwickelten 1987 das Programm NETtalk, ein Neuronales Netz, das lernt geschriebenen Text auszusprechen. Eingabe ist eine Folge von Zeichen, die in einem Fenster präsentiert werden, das über den Text gleitet. Das Fenster zeigt immer das gerade auszusprechende Zeichen zusammen mit den drei vorangehenden und den drei nachfolgenden. Das Netz hat 29 Eingabeeinheiten, je eine für die 26 Buchstaben, eine für Blank, eine für den Punkt und eine für die restlichen Satzzeichen. Es hatte ferner 80 verborgene Einheiten und Ausgabeeinheiten, die die Merkmale der zu produzierenden Laute repräsentierten: laut oder leise, betont oder unbetont usw.. An Stellen, wo zwei oder mehr Buchstaben einen einzigen Laut darstellen, ist die Ausgabe für die folgenden Zeichen leer. Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining Seite 37 Das Netz wurde mit einem Text aus 1024 Wörtern trainiert. Für diesen wurde phonetische Schreibweise vorgegeben. Das Netz konnte nach 50 Durchläufen durch die Trainingsbeispiele diese mit 95% Genauigkeit wiedergeben. Eine hundertprozentige Genauigkeit kann grundsätzlich nicht erreicht werden, weil die Aussprache vielfach kontextabhängig ist. Ein Programm, das nur einen begrenzten Textausschnitt in einem Fenster zu sehen bekommt, kann verschiedene Aussprachen des selben Worts nicht auseinander halten. Die Erfolgsquote bei den Testdaten betrug allerdings nur 78%. Das erscheint zwar verständlich, ist aber ein wesentlich schlechterer Wert als der, den kommerziell verfügbare Programme zeigen. Allerdings ist der Aufwand für die Erstellung dieser Programme erheblich höher, er beträgt mehrere Personenjahre, während NETtalk in wenigen Monaten entwickelt und in einigen Dutzend Stunden trainiert wurde. 5.5.2. Erkennen von Handschrift Le Cun und Kollegen entwickelten 1989 ein Neuronales Netz zum Erkennen von Postleitzahlen auf handgeschriebenen Briefumschlägen. Die Positionsbestimmung und die Segmentierung in einzelne Ziffern besorgt ein Preprozessor, das Netz muss nur die Ziffern identifizieren. Es benutzt einen 16 16-Pixelarray als Eingabe, hat drei verborgene Schichten mit 768, 192 bzw. 30 Einheiten und 10 Ausgabeeinheiten für die Ziffern 0 bis 9. Bei vollständiger Verknüpfung zwischen den Einheiten würde man 200000 Gewichte bekommen, so dass das Netz nicht trainierbar wäre. Statt dessen wurde nur teilweise verknüpft, und die Verknüpfungen dienten als Merkmalsdetektoren. Die erste verborgene Schicht wurde außerdem in Gruppen von Einheiten unterteilt, die alle die gleiche Menge von 25 verschiedenen Gewichten benutzten. Dadurch konnte die verborgene Schicht 12 verschiedene Merkmale identifizieren. Das gesamte Netz benutzte nur 9760 Gewichte. Das Netz wurde mit 7300 Beispielen trainiert und auf 2000 Beispielen getestet. Es kann in schwierigen Fällen bei zwei oder mehreren Ausgabeeinheiten einen hohen Wert ausgeben und damit andeuten, welche Lesart hohe Wahrscheinlichkeit hat. In den restlichen Fällen erreichte es eine Genauigkeit von 99%. 5.5.3. Autofahren Pomerleau entwickelte 1993 das System ALVINN (Autonomous Land Vehicle In a Neural Network). Es lernte durch Beobachten eines menschlichen Fahrers ein Auto zu steuern. Die Aktionen waren Lenken, Beschleunigen und Bremsen. Als Sensoren wurden eine Farb-Stereo-Videokamera, Laser und Radar verwendet. Das Bild der Kamera wurde in einen Pixelarray umgesetzt und an ein 30 32-Gitter von Eingabeeinheiten umgesetzt. Die Ausgabeschicht hat 30 Einheiten, jede entspricht einer Steueraktion. Es wird die Aktion ausgeführt, deren zugehörige Einheit den höchsten Aktivierungswert hat. Es gibt außerdem eine verborgene Schicht mit 5 Einheiten, die voll mit den Eingabeund Ausgabeeinheiten verknüpft sind. Die zu lernende Funktion ist eine Abbildung von den Kamerabildern auf Steueraktionen. Die Trainingsdaten wurden durch Aufzeichnen der Aktionen eines menschlichen Fahrers zusammen mit den Kamerabildern gewonnen. Nach Aufzeichnen von 5 Minuten Fahrt und einem 10-minütigen Training des Netzes konnte ALVINN bereits allein fahren. Die Lernergebnisse sind beeindruckend. ALVINN fuhr mit 70 mph über eine Entfernung von 90 Meilen auf öffentlichen Landstraßen in der Nähe von Pittsburgh. Es kann auch auf Straßen ohne Fahrspuren, auf geteerten Fahrradwegen und auf zweispurigen Vorortstraßen fahren. Es kann aber nur auf Straßen fahren, für die es trainiert worden ist und es hat sich als nicht sehr robust gegenüber wechselnden Lichtverhältnissen und anderen Fahrzeugen erwiesen. Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining Seite 38 Fragen 1. Welche allgemeine Struktur hat ein Neuronales Netz? 2. Wie ist eine Einheit eines Neuronalen Netzes aufgebaut? 3. Wie ist die Eingabefunktion einer Einheit definiert? 4. Geben Sie einige Definitionen für die Aktivierungsfunktion an! 5. Was ist ein Bias? 6. Wie lassen sich die logischen Funktionen AND, OR und NOT durch jeweils eine einzige Einheit realisieren? 7. Welche allgemeinen Netzstrukturen gibt es? 8. Wie sind geschichtete zyklenfreie Netze aufgebaut? 9. Welche Struktur haben Perzeptrone? 10. Welche Eigenschaft muss eine Funktion haben um von einem Perzeptron repräsentiert werden zu können? 11. Wie arbeitet der Lernalgorithmus für Perzeptrone im Prinzip? 12. Was ist das Grundprinzip des Back-Propagation-Algorithmus? Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining Seite 39 6. Assoziationsregeln 6.1. Repräsentation von Regeln Eine Regel besteht aus einem Paar logischer Aussagen, d.h. Aussagen, die wahr oder falsch sein können. Die erste Komponente des Paars wird linke Seite (Antezedenz, Bedingung) genannt, die zweite Komponente rechte Seite (Sukzedenz, Konsequenz) der Regel. Eine Regel besagt: wenn die linke Seite wahr ist, dann ist auch die rechte Seite wahr. Beispiel: Wenn es regnet, ist der Boden nass. Eine probabilistische Regel modifiziert diese Definition einer Regel in Bezug auf die Wahrheit der rechten Seite. In einer probabilistischen Regel ist die rechte Seite mit einer Wahrscheinlichkeit p wahr, vorausgesetzt die linke Seite ist wahr. Dies ist die bedingte Wahrscheinlichkeit für die rechte Seite, wenn die linke Seite wahr ist. Regeln sind eine klassische Wissensrepräsentationsform in der KI und auch sonst. Sie sind für Menschen leicht zu interpretieren, deshalb werden sie gerne beim Maschinellen Lernen verwendet. Entscheidungsbäume z.B. können als Regeln aufgefasst werden, zumindest achsenparallele. Ein grundsätzliches Problem von Regeln ist, dass sie grundsätzlich diskrete Einheiten sind und sich deshalb zur Repräsentation diskreter Informationen besonders eignen. Sind Daten mit kontinuierlichen Wertebereichen gegeben, dann muss man diese in geeigneter Weise diskretisieren, z.B. in der Form: „Wenn X > 10.2, dann Y < 1“. Die linken Seiten von Regeln bestehen meistens aus Konjunktionen Boolescher Ausdrücke, typischerweise sind es Aussagen über den Wert oder den Wertebereich einzelner Variablen, z.B. A = a1 oder Y > 0. Im Falle reellwertiger Variablen definiert eine Konjunktion solcher atomarer Aussagen wie X > 1 Y > 2 einen Teilraum mit Grenzen, die zu den Achsen der Variablen parallel sind, d.h. einen Hyperkubus. Man kann auch andere Verknüpfungen zwischen den Teilaussagen verwenden, im Prinzip beliebige Boolesche Funktionen, verliert aber damit die Interpretierbarkeit der Aussagen. 6.2. Häufige Mengen von Items und Assoziationsregeln 6.2.1. Wichtige Begriffe Als Beispiel sei die abstrakte Datenmatrix von Tabelle 6.1 gegeben. Warenkorb t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 A 1 1 1 0 0 1 1 0 1 0 B 0 1 0 0 1 1 0 1 0 1 C 0 1 1 1 1 1 1 1 0 1 D 0 1 0 0 1 0 1 0 1 0 E 0 0 1 0 0 0 0 1 0 1 Tabelle 6.1 Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining Seite 40 Es seien p Waren, hier formal als Variable A1, ..., Ap betrachtet, gegeben. Die Waren können zu einer bestimmten Teilmenge („Warenkorb“) gehören, die entsprechenden Variablen, Ai1 , , Aik für 1 ij p, haben dann den Wert 1, sonst den Wert 0. Ein Muster der Form A i1 1 Aik 1 heißt Itemmenge. Aus einer Itemmenge kann z.B. die folgende Assoziationsregel gebildet werden A i1 1 Aik 1 Aik 1 1 Diese kann verkürzt in folgender Weise geschrieben werden: A i1 Aik Aik 1 Die Häufigkeit einer Itemmenge , geschrieben fr(), ist die Zahl der Fälle, in denen die Datenbasis das Muster erfüllt. Die Häufigkeit fr( ) des Musters für eine Regel wird als Support der Regel bezeichnet. Die Konfidenz oder Genauigkeit einer Regel wird definiert als c fr fr Häufige Itemmengen zu finden ist im Prinzip eine einfache Aufgabe. Ist ein Schwellenwert s für die Häufigkeit gegeben, dann sind einfach alle Itemmengen zu bestimmen, deren Häufigkeit größer oder gleich s ist, zusammen mit diesen Häufigkeiten. Setzt man z.B. s = 0.4, dann gibt es in der Tabelle 6.1 die häufigen Itemmengen {A}, {B}, {C}, {D}, {AC} und {BC}. Aus diesen lassen sich die Regeln A C mit Konfidenz 4/6 = 2/3 und B C mit Genauigkeit 5/5 = 1 ableiten. Algorithmen zur Bestimmung von Assoziationsregeln finden alle Regeln, die genügend großen Support- und Konfidenzwert haben. Wird der Support-Schwellenwert niedrig angesetzt, dann gibt es eine große Zahl häufiger Mengen und damit auch von Assoziationsregeln. Von diesen können einige trivial sein, andere aber interessant. Es ist eine Aufgabe der Forschung im Data Mining, wie man aus einer Menge gefundener Assoziationsregeln die interessanten herausfinden kann. Eine Menge von Assoziationsregeln liefert kein einzelnes zusammenhängendes Modell, das systematische Inferenzen erlaubt. Zum Beispiel erlauben es die Regeln nicht direkt vorherzusagen, was ein unbekannter Eintrag darstellt. Verschiedene Regeln können unterschiedliche Werte für Variablen vorhersagen und es gibt keine zentrale Struktur aus der sich bestimmen lässt, welche Regel gerade gilt, wie das z.B. in Entscheidungsbäumen der Fall ist. Um dies zu illustrieren wird angenommen, dass in Tabelle 6.1 eine weitere Zeile mit den Werten A = 1, B = 1, D = 1 und E = 1 eingefügt wird. Dann könnte mittels der Regeln prognostiziert werden, dass C = 1 mit Konfidenzwert 2/3 (wegen der Regel A C) oder dass C = 1 mit Konfidenzwert 1 (wegen der Regel B C). Die Regelmenge stellt also keine globale und konsistente Beschreibung der Datenmenge dar. 6.2.2. Bestimmung von häufigen Mengen und Assoziationsregeln Datenmatrizen für typische Anwendungen der Assoziationsregeln, wie Warenkorbanalyse oder Analyse von Textdokumenten, haben 105 bis 108 Zeilen und 102 bis 106 Variablen. Diese Matrizen sind meist nur dünn besetzt, ein typischer Wert für die Wahrscheinlichkeit des Vorkommens einer 1 an einer Stelle der Matrix ist 0.1%. Bei der Suche nach Assoziationsregeln gibt man sich immer Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining Seite 41 bestimmte Häufigkeitskriterien für das Vorkommen der Muster vor. Im Prinzip kann die Zahl der häufigen Muster exponentiell sein, in der Praxis ist sie jedoch relativ klein. Da die Datenbasen, in denen gesucht wird, meist zu groß für den Hauptspeicher sind, sollten geeignete Algorithmen mit möglichst wenigen Zugriffen auf die Datenbasis auskommen. Typischerweise gehen die Algorithmen so vor, dass sie zunächst die häufigen Muster bestimmen und daraus dann Regeln generieren. Der letzte Schritt ist einfach: Sind die häufigen Mengen bekannt, z.B. A1 ... An B, dann lässt sich aus ihr die Regel A1 ... An B bilden mit Häufigkeit s bilden, wenn A1 ... An mindestens die Häufigkeit s hat. Zur Bestimmung aller häufigen Mengen könnte man die Häufigkeiten aller Teilmengen der gesamten Itemmenge bestimmen. Allerdings wäre diese Vorgehensweise sehr aufwändig. Man macht sich zur Verminderung des Aufwands die Tatsache zu Nutze, dass eine Menge nur dann eine häufige Menge sein kann, wenn alle ihr Teilmengen ebenfalls häufige Mengen sind. Dies führt zu der Vorgehensweise, zunächst alle einelementigen häufigen Mengen zu bestimmen, daraus die zweielementigen zu bilden usw. Nach jedem Übergang zur nächsten Größe der Mengen ist zu prüfen, ob die entstandenen Mengen selbst häufig sind. Ein möglicher Algorithmus ist der folgende: i = 0; Ci = {{A} | A ist eine Variable}; while Ci do Datenbasisdurchlauf: für jede Menge in Ci teste, ob sie häufig ist; sei Li die Menge häufiger Mengen aus Ci; Kandidatenbildung: sei Ci+1 die Menge der Mengen der Größe i + 1 deren Teilmengen alle häufig sind; end; Dieser Algorithmus heißt APriori-Algorithmus. Die beiden wesentlichen Schritte sind die Kandidatenbildung und die Bestimmung der Häufigkeit von Mengen. Die Kandidatenbildung lässt sich auf folgende Weise durchführen: Sei Li eine Menge häufiger Mengen der Größe i. Es sollen alle Mengen Y der Größe i + 1 bestimmt werden, deren sämtliche echte Teilmengen häufig sind. Dazu kann man alle Paare {U, V} von Mengen suchen, deren Vereinigung die Größe i + 1 hat, und dann prüfen, ob die neue Menge tatsächlich ein Kandidat ist. Die Zahl der Paare von Mengen in Li ist kleiner als |Li|2 und für jede dieser Mengen ist zu prüfen, ob sie |Li| Mengen enthält. Der Aufwand für das Verfahren ist also im worst case O(|Li|3), in der Praxis ist er aber meist linear mit der Größe von Li. Er hängt nicht von der Zahl der Zeilen in die Datenmatrix ab. Für eine gegebene Menge Ci von Kandidaten lassen sich die Häufigkeiten in einem einzigen Durchlauf durch die Datenbasis bestimmen. Dazu benutzt man einen Zähler, der bei jeder Zeile, die einen Kandidaten enthält, hochgezählt wird. Bei der einfachsten Testmethode ist die benötigte Zeit O(|Ci|np). Die benötigte Gesamtzeit zur Bestimmung der häufigen Mengen ist O i Ci np , d.h. sie ergibt sich aus der Zeit für den Test und ist proportional zu der Zahl der Mengen, die auf jeder Ebene Kandidaten sind. Der Algorithmus benötigt k oder k+1 Durchläufe durch die Daten. k ist dabei die Zahl der Elemente in der größten häufigen Menge. 6.3. Verallgemeinerungen In allgemeinerer Form lassen sich die Algorithmen zur Suche nach häufigen Mengen und Assoziationsregeln in der folgenden Weise darstellen. Es sei eine Klasse atomarer Muster A gegeben. Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining Seite 42 Gesucht sind Konjunktionen dieser atomaren Muster, die häufig vorkommen. Die Musterklasse P ist die Menge aller Konjunktionen 1 ... k wobei i A für alle i. Die Datenmenge D bestehe aus den n Objekten d1, ..., dn und es sei möglich zu testen, ob ein Muster wahr ist über einem Objekt d. Eine Konjunktion = 1 ... k P ist wahr über d, wenn alle Konjunkte i wahr über d sind. Sei ein Schwellenwert. Das Ziel ist, diejenigen Konjunktionen atomarer Muster zu finden, die häufig vorkommen, d.h. die Menge { P | ist wahr für mindestens Objekte d D} zu bestimmen. Im Fall der häufigen Itemmengen sind die atomaren Muster Bedingungen der Form A = 1 und die häufigen Mengen wie ABC sind Konjunktionen der Form A = 1 B = 1 C = 1. Wenn man bestimmen kann, wie oft jedes atomare Muster in den Daten vorkommt, dann kann man mit dem obigen Algorithmus alle Muster aus P finden, die mit ausreichender Häufigkeit vorkommen. Dazu bestimmt man zuerst die häufigen atomaren Muster, bildet aus ihnen Konjunktionen zweier atomarer Muster und prüft, ob sie mit ausreichender Häufigkeit vorkommen, bildet aus diesen Konjunktionen mit drei Elementen usw. Bei komplexen Mustern müssen besondere Spezialisierungen des Verfahrens für die Bildung der Kandidaten und den Test auf das Vorkommen von Mustern verwendet werden. 6.4. Bestimmung von Episoden aus Folgen Ist E eine Menge von Ereignistypen, dann ist eine Ereignisfolge s eine Folge von Paaren (e, t) mit e E und t eine ganze Zahl, der Zeitpunkt des Vorkommens des Ereignisses vom Typ e. Eine Episode ist eine partielle Ordnung von Ereignistypen. Episoden können als Graphen dargestellt werden, Abbildung 6.1 zeigt verschiedene Episoden. A E A F C B B Abbildung 6.1: Episoden , und Es sei eine Fensterbreite W gegeben. Die Häufigkeit einer Episode in einer Ereignisfolge s ist der Bruchteil der Abschnitte der Länge W von s, für den gilt, dass der Abschnitt Ereignisse der Typen enthält, die in vorkommen, und zwar in der durch vorgegebenen Ordnung. Mit diesen Vorraussetzungen kann man die folgende Aufgabe formulieren: Sind eine Ereignisfolge s, eine Menge E von Episoden, ein Fenster der Breite win und ein Schwellenwert min_fr gegeben, dann bestimme die Menge FE(s, win, min_fr) aller Episoden aus E, die mindestens in einem Bruchteil von min_fr aller Fenster der Breite win auf der Folge s vorkommen. Die Berechnung von FE(s, win, min_fr) kann durch den folgenden Algorithmus erfolgen: C1 = { E | || = 1}; l = 1; while Cl do Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining Seite 43 Datenbasisdurchlauf: Berechne Fl := { Cl | fr(, s, win) min_fr}; l := l + 1; Kandidatenbildung: Berechne Cl := { E | || = l und für alle E mit und | | < l gilt F||}; end; for all l do output Fl; Eine Episode wird als Teilepisode einer Episode bezeichnet, wenn alle Knoten von auch in vorkommen und wenn alle Relationen zwischen den Knoten in auch in enthalten sind, d.h. kurz gesagt, wenn ein Teilgraph von ist. Die Relation Teilepisode wird mit dem Symbol bzw. < notiert. Der Algorithmus führt höchsten k + 1 Durchlaufe durch die Daten aus, wobei k die Zahl der Kanten und Knoten in der häufigsten Episode ist. In jedem Durchlauf wird die Häufigkeit von |Cl| Episoden ermittelt. Zur Berechnung der Häufigkeit einer Episode müssen die Fenster in der Folge bestimmt werden, in denen die Episode vorkommt. Dies ist in linearer Zeit, bezogen auf die Länge der Folge und die Größe der Episode, möglich. Die Gesamtlaufzeit des Algorithmus zur Entdeckung von Episoden ist k O n C l l l 1 6.5. Selektive Entdeckung von Mustern und Regeln 6.5.1. Heuristische Suche nach Mustern Sind Interessantheit und Vielversprechendheit und ein Verfahren zum Pruning definiert, dann lässt sich der folgende generische Algorithmus für die Suche nach interessanten Mustern formulieren: C = {das allgemeinste Muster}; while C do E = alle geeignet gewählten Spezialisierungen von Elementen von C; for q E do if q erfüllt das Interessantheitskriterium then gib q aus; if q ist nicht vielversprechend then verwerfe q else behalte q End; beschneide E; End; C = E; end; Instanziierungen dieses Algorithmus sind die folgenden Methoden: 1. Angenommen, die Muster seien Mengen von Variablen. Dann werden sowohl die Interessantheit als auch die Vielversprechendheit einer Itemmenge X durch das Prädikat fr(X) > definiert. Ohne zusätzliches Pruning ergibt dies im Prinzip den Algorithmus zur Bestimmung von Assoziationsregeln. 2. Angenommen, die Muster seien Regeln der Form Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining Seite 44 1 ... k wobei i und Bedingungen der Form X = c, X < c oder X > c für eine Variable X und eine Konstante c sind. Das Interessantheitskriterium soll sein, dass die Regel in irgendeinem Sinn statistisch signifikant ist und das Kriterium der Vielversprechendheit wird einfach gleich wahr gesetzt. Beim Pruning wird nur eine Regel übrig behalten und zwar die mit der höchsten statistischen Signifikanz. Auf diese Weise liefert der Algorithmus eine Methode des Bergsteigens für die Suche nach einer Regel mit höchster statistischer Signifikanz. 3. Mit den gleichen Vorbedingungen wie in Fall 2, aber mit der abgewandelten Pruning-Vorschrift die K signifikantesten Regeln zu behalten, erhält man eine gleichzeitige Suche in verschiedene Richtungen. 6.5.2. Kriterien für Interessantheit Kriterien für die Interessantheit auf der Basis von Hintergrundwissen lassen sich nur anwendungsbezogen, nicht allgemein, definieren. Systeme für die Suche nach Regeln sollten es dem Nutzer ermöglichen, solche Kriterien auf einfache Weise zu definieren. Leichter sind rein statistische Kriterien unabhängig von Anwendungen zu definieren. Eine einfache Methode dafür ist die Verwendung einer 22-Kontingenztabelle. Ist eine Regel, dann wird die Tabelle mit , , und als Variablen und den Häufigkeiten der Kombinationen dieser Variablen als Werte gebildet, vgl. Tabelle 6.2. fr( ) fr( ) fr( ) fr( ) Aus den Werten der Tabelle kann man verschiedene Arten von Assoziationsmaßen zwischen und definieren, z.B. den 2-Wert. Ein besonders interessantes Maß für die Interessantheit einer Regel ist das J-Maß, das definiert ist durch p 1 p J p p log 1 p log p 1 p In diesem Ausdruck ist p(|) ist die empirisch beobachtete Konfidenz der Regel und p() und p() sind die empirisch beobachteten a priori Wahrscheinlichkeiten von bzw. . Der Faktor p() zeigt, wie weit die Regel anwendbar ist. Der Faktor p() misst, wie weit unser Wissen über vom ausschließlichen Wissen über p() abweicht, verglichen mit dem Wissen, dass gilt, d.h. der bedingten Wahrscheinlichkeit p(|). Das J-Maß lässt sich gut auf Spezialisierungen übertragen, man kann für sie Beschränkungen des Maßes beweisen. 6.6. Von lokalen Mustern zu globalen Modellen Sei B eine Boolesche Variable. Eine Entscheidungsliste für B ist eine geordnete Liste von Regeln der Form i B = bi, wobei i ein Muster und bi ein möglicher Wert von B ist. Angenommen, es sei eine Menge von Regeln der Form i B = 1 und i B = 0 mit Hilfe eines geeigneten Algorithmus gefunden worden. Wie kann man aus dieser Regelmenge eine Entscheidungsliste bilden? Die Genauigkeit der Liste kann als der Bruchteil an Zeilen definiert werden, für die die Liste eine korrekte Vorhersage macht. Die optimale Liste könnte man so bestimmen, dass man für alle mögli- Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining Seite 45 chen Ordnungen der Regeln prüft, welche die beste Lösung ergibt. Allerdings würde diese Vorgehensweise exponentielle Zeit bezogen auf die Zahl der Regeln erfordern. Ein anderer Weg um Informationen über die ganze Datenmenge aus lokalen Mustern zu bekommen ist der folgende: Angenommen man weiß, dass das Muster i die Häufigkeit fr(i) für i = 1, …, k hat, dann ist die Frage, wie viel Information man über die Verteilung über alle Variable A1, …, Ap hat. Im Prinzip könnte jede Verteilung f, die die Häufigkeiten der Muster erfüllt, die Beobachtungen fr(i) erzeugt haben. Es erscheint als zweckmäßig, von diesen möglichen Verteilungen diejenige zu wählen, die keine weiteren Annahmen über die Art der Verteilung macht, da keine weiteren Informationen vorliegen. Das wäre die Verteilung, die die Entropie, bezogen auf die beobachteten Musterhäufigkeiten, maximiert. Diese Verteilung kann relativ leicht konstruiert werden mittels des iterativen proportionales Fitting-Algorithmus. Der Algorithmus arbeitet wie folgt: Man beginnt mit einer zufälligen Verteilung p(x) auf den Variablen Aj und verstärkt dann das Häufigkeitsconstraint für jedes Muster i. Dazu berechnet man die Summe p über den Zuständen, für die i wahr ist, und skaliert diese Wahrscheinlichkeiten so, dass für die sich ergebende Wahrscheinlichkeit p i wahr ist in einer Menge von Beobachtungen der Größe fr(i). Dieser Aktualisierungsschritt wird der Reihe nach für jedes Muster durchgeführt bis die beobachteten Häufigkeiten der Muster mit den von p gelieferten übereinstimmen. 6.7. Prädiktive Regelinduktion Eine Möglichkeit zur Erzeugung einer allgemeineren Regelmenge ist, mittels eines Entscheidungsbaums Regeln zu erstellen und für jede Bedingung jeder Regel zu prüfen, ob sie eine Auswirkung auf die Genauigkeit der Regel hat in Bezug auf die Daten, die von der Regel erfasst werden. Zum Beispiel könnte sich durch Weglassen einer einzelnen Bedingung die Genauigkeit verändern. Wird sie größer oder verändert sie sich nicht, dann wird die Bedingung entfernt, wodurch die Regel einfacher wird und eventuell sogar genauer. Führt man dieses Verfahren für alle Regeln durch, dann erhält man in praktischen Anwendungen oft erhebliche Reduzierungen der Regeln. Durch dieses Verfahren werden die Regeln allgemeiner und überdecken größere Bereiche als vorher. Da die Ausgangsmenge die gesamten Daten in disjunkter Weise überdeckte, müssen sich die Überdeckungsbereiche der modifizierten Regeln teilweise überlappen. Es kann also jetzt z.B. zwei Regeln der Form A = 1 C = 1 und B = 1 C = 1 geben. Wenn nun ein neues Beispiel klassifiziert werden soll, für das sowohl A = 1 als auch B = 1 gilt, stellt sich die Frage, wie dieses klassifiziert werden soll. Eine einfache Möglichkeit zur Entscheidung ist die folgende: Man bestimmt alle Regeln die auf Grund des neuen Beispiels feuern können. Gibt es mehr als eine, dann wird die mit der größten bedingten Wahrscheinlichkeit genommen. Wenn keine Regel feuert, dann wird diejenige Klassenvariable (rechte Seite einer Regel) genommen, die die größte a prioriWahrscheinlichkeit hat. Anstatt zuerst einen Entscheidungsbaum zu erstellen und dann die aus ihm erzeugten Regeln zu modifizieren, kann man auch versuchen Regeln direkt zu erzeugen. Dafür gibt es verschiedene Verfahren. Alle solchen Verfahren führen einen Suchprozess über den Daten durch, der heuristisch sein kann. Es gibt zwei Hauptrichtungen zur Erstellung von Regeln. Bei der einen beginnt man mit einer ganz allgemeinen Regel, d.h. einer mit leerer linker Seite, und fügt nach und nach immer mehr Bedingungen hinzu. Bei der anderen beginnt man bei einer Menge spezieller Regeln und schwächst diese durch Weglassen von Bedingungen ab. Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining Seite 46 Fragen 1. Wie ist eine probabilistische Regel definiert? 2. Wie können Variable mit kontinuierlichen Wertebereichen in Regeln verwendet werden? 3. Wie sind die Begriffe „Itemmenge“ und „Assoziationsregel“ über Booleschen Variablen definiert? 4. Wie sind die Häufigkeit einer Itemmenge oder eines Musters und wie der Support und die Konfidenz einer Regel definiert? 5. Wie funktioniert der APriori-Algorithmus im Prinzip? 6. Wie sind Ereignisfolgen und Episoden definiert? 7. Wie lassen sich häufige Episoden ermitteln? 8. Nach welchen Kriterien erfolgt das Pruning bei der Suche nach Mustern? 9. Welche Kriterien für die Interessantheit von Regeln lassen sich definieren? Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining Seite 47 7. Der prudsys DISCOVERER 7.1. Einige wichtige Begriffe 7.1.1. Lern-, Evaluierungs- und Klassifikationsdatenbank In Abschnitt 2.2.3 wurde bereits auf die Unterscheidung zwischen Trainings- und Testmenge hingewiesen. Für das Data Mining ist diese Unterscheidung von großer Bedeutung, weil mit Hilfe der Testmenge eine Aussage über die Qualität des erstellten Klassifikators gemacht werden kann. Im DISCOVERER wird zwischen drei Datenbanken unterschieden: Lerndatenbank Evaluierungsdatenbank Klassifizierungsdatenbank Diese drei Datenbanken werden getrennt geladen zu Beginn einer Data Mining-Aufgabe. Die Lerndatenbank entspricht der Trainingsmenge und die Evaluierungsdatenbank der Testmenge. Der Nutzer des DISCOVERER kann selbst die Unterteilung der Beispielmenge in diese beiden Mengen vornehmen oder sich eine vom DISCOVERER vorschlagen lassen. Die Klassifizierungsdatenbank ist eine Menge neuer Beispiele, auf die der erstellte Klassifikator angewendet werden soll. Die Ergebnisse der Klassifizierung werden anschließend mit einer Kostenmatrix bewertet und damit endgültig der Nutzen der Lösung bestimmt. 7.1.2. Merkmalstypen Im DISCOVERER wird zwischen kategorischen und numerischen Merkmalen unterschieden. Kategorische Merkmale haben einen diskreten, endlichen Wertebereich. Typische kategorische Merkmale sind etwa Geschlecht oder im Fall einer Mailing-Aktion Reaktion. Numerische Merkmale haben einen kontinuierlichen oder einen diskreten, potentiell unendlichen Wertebereich. Auch wenn bei einem solchen diskreten Merkmal die Menge beschränkt ist, betrachtet man es als numerisch. Typische Beispiele sind Größe, Gewicht oder Alter. Die Wertebereiche numerischer Merkmale müssen in Intervalle unterteilt werden. Der DISCOVERER macht dies automatisch, und zwar unterteilt er standardmäßig den Wertebereich in zwei Teile. Es kann aber auch eine Unterteilung in drei Abschnitte vorgenommen werden. Ein Merkmal, das behandelt worden ist, kann später für den einen oder den anderen Teilbereich wieder verwendet werden. 7.1.3. Fehlende Werte Fehlen in einzelnen Datensätzen viele Werte, dann sollte man sie für die Analyse nicht verwenden. Bei den restlichen Datensätzen wird man ein Verfahren zum Ersetzen von Werten anwenden. Der DISCOVERER unterstützt beide Funktionen im Dialog „Fehlende Werte“. Beim Ersetzen von Werten werden kategorische und numerische Merkmale unterschiedlich behandelt. Bei numerischen Merkmalen kann einfach der Mittelwert der vorhandenen Werte gewählt oder ein selbst berechneter eingegeben werden. Bei kategorischen Merkmalen wird der am häufigsten vorkommende Wert gewählt. Er stellt die Analogie zum Mittelwert bei numerischen Merkmalen dar. Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining Seite 48 7.1.4. Transformation und Normierung Der DISCOVERER besitzt zwei Gruppen von Verfahren zur Vorbehandlung von Werten numerischer Merkmale. Die erste Gruppe ist die Transformation. Sie dient dazu, den Maßstab, in dem die Werte gegeben sind, gegebenenfalls zu modifizieren um die Werte an andere anzupassen. Die einzelnen Transformationen sind im Kapitel 6 des Handbuchs beschrieben. Sind die Werte z.B. in einer logarithmischen Normalverteilung gegeben, dann kann man sie mittels der logarithmischen Transformation in eine Normalverteilung umwandeln. Die Normierung überführt die Werte in eine Normalform. Dadurch wird die numerische Stabilität und Effizienz der Algorithmen erhöht. Es empfiehlt sich also, Normierung anzuwenden, man kann sie aber auch ausschalten. Standardmäßig ist die Z-Normierung eingestellt. Sie formt alle Werte nach der Regel x (x – m)/s um. Dabei ist m das Mittel und s die Standardabweichung. Danach haben die Werte das Mittel 0 und die Standardabweichung 1. Bei der 0/1-Normierung werden die Werte nach der Regel x (x – min)/(max – min) umgeformt. Die Werte liegen dann im Intervall zwischen 0 und 1. Kategorische Merkmale können in ihrer gegebenen Form belassen werden, wenn nur achsenparallele Trennungen ausgeführt werden sollen. Sollen aber andere Trennungen gemacht werden, dann müssen sie in numerische umgewandelt werden, weil dabei alle Merkmale als gleichartig behandelt werden. Zur Umwandlung müssen die Werte in Gruppen unterteilt werden. Bei der häufigkeitsbasierten Ersetzung wird die Häufigkeit von Werten in einer Gruppe bestimmt und diese Zahl an Stelle der Werte genommen. Diese Umformung ist standardmäßig eingestellt. Man kann auch als Nutzer selbst eine Umwandlung definieren. Oder man wählt die binäre Ersetzung, bei der so viele Binärwerte gebildet werden, wie Gruppen festgelegt wurden. 7.2. Gains-Chart, Lift-Chart, Segment-Fortschrittsanzeige 7.2.1. Gains-Chart Der Zweck des Gains-Charts ist es, den Nutzen einer Marketing-Operation zu visualisieren. Die im Gains-Chart dargestellte Kurve drückt das Verhältnis zwischen einer Gesamtpopulation und dem Anteil der Population, der in der interessierenden Klasse liegt, z.B. der Klasse der Reagierer, aus. Dabei kommt es darauf an, wie die Elemente der Gesamtpopulation angeordnet werden. Würde man sie zufällig anordnen, dann erhielte man die Diagonale im Chart als Kurve. Man ordnet sie aber möglichst so an, dass diejenigen Elemente, die mit größerer Wahrscheinlichkeit in der Zielklasse liegen, links stehen, dann erhält man eine zunächst steil ansteigende Kurve, die allmählich abflacht. Im Idealfall, wenn man die Wahrscheinlichkeiten genau kennt und die Anordnung entsprechend wählen kann, steigt die Kurve linear an bis zum Maximalwert und verläuft von da an horizontal nach rechts. Die Steilheit des Anstiegs ist durch das Verhältnis der beiden Klassen des Zielmerkmals bestimmt. Im Normalfall liegt die Kurve zwischen diesen beiden Extremen. Dies ist in Abbildung 7.1 dargestellt. Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining Seite 49 160 Optimalverlauf 140 Anzahl Klasse 120 100 80 60 40 Zufallsklassifikation 20 0 0 50 100 150 200 250 300 350 400 450 500 Gesamtpopulation Abbildung 7.1 Während der Erstellung des Entscheidungsbaums wird der Gains-Chart laufend aktualisiert, d.h. die Elemente der Gesamtpopulation werden immer wieder umgruppiert, wenn sich neue Werte für die Wahrscheinlichkeit ihrer Zugehörigkeit zur interessierenden Klasse ergeben haben. Die dick gezeichnete Kurve im Gains-Chart zeigt das Verhältnis auf der Trainingsmenge. Dünn eingezeichnet ist das Verhältnis auf der Evaluierungsmenge. Diese ist meistens etwas schlechter als die Kurve der Lernmenge, jedoch gibt sie das beste Maß für die Qualität des Entscheidungsbaums an. 7.2.2. Lift-Chart Der Lift-Chart beschreibt, wie stark die Konzentration der interessierenden Klasse im Unterschied zur zufälligen Auswahl für einen bestimmten Anteil der Datensätze gesteigert werden konnte. Auf der horizontalen Achse wird der Anteil aller Datensätze dargestellt (in %). Zugleich repräsentiert diese Achse das Verhältnis zwischen erzieltem Anteil der interessierenden Klasse zum erwarteten Anteil der interessierenden Klasse bei zufälliger Auswahl, nämlich den konstanten Wert 1. Bei der Auswahl beim Erstellen des Entscheidungsbaums hat der Lift bei Auswahl von 0 % der Datensätze seinen Maximalwert. Danach fällt er zunächst steil, allmählich langsamer ab, bis er bei Auswahl von 100 % den Wert 1 erreicht. Ein typischer Verlauf der Kurve ist in Abbildung 7.2 dargestellt. 3 2,8 2,6 2,4 Lift absolut 2,2 2 1,8 1,6 1,4 1,2 1 0 10 20 30 40 50 60 70 80 90 100 Anteil der Gesamtpopulation in % Abbildung 7.2 Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining Seite 50 7.2.3. Die Segment-Fortschrittsanzeige Die Segment-Fortschrittsanzeige wird in Verbindung mit dem Entscheidungsbaum aufgebaut. Jedes Segment des Baums ist in der Segment-Fortschrittsanzeige durch ein Rechteck repräsentiert. Die verschieden farbigen Flächen darin geben das Verhältnis der möglichen Werte des Zielmerkmals in dem Segment wieder. Die Größe ergibt sich aus der Anzahl der Datensätze im Segment. Zu Beginn ist die Gesamtmenge als einheitliches Quadrat dargestellt. Bei der Entwicklung des Baums wird das Quadrat abwechselnd durch horizontale und vertikale Trennlinien in mehrere Teilrechtecke zerlegt. Werden Segmente zusammengefasst, so stellt sich dies in der Zusammenfassung von kleineren Rechtecken in größere dar. Durch Anklicken eines Rechtecks kommt man zu dem entsprechenden Segment des Entscheidungsbaums. 7.3. Die Baumdarstellung Nach Auswahl einer Datenbank und Konfiguration der Merkmale startet man die Erzeugung eines Entscheidungsbaums durch Anklicken des Menüpunktes Klassifikator. Es erscheint zunächst die Gesamtmenge der Beispiele, repräsentiert durch eine Raute, die nach den Anteilen der positiven und negativen Beispiele in zwei Farben eingefärbt ist. Die Darstellung erfolgt entweder in absoluten Werten (%-Zeichen im Menü ausgeschaltet) oder mit Prozentangaben (%-Zeichen im Menü angeschaltet).Für die Entwicklung des Baums gibt es verschiedene Funktionen, die sich in zwei Gruppen zusammenfassen lassen: Funktionen für die Entwicklungsrichtung Trennfunktionen Die erste Gruppe ist durch die Dreiecke in der Menüleiste repräsentiert. Diese bedeuten im Einzelnen: Vorwärtsentwicklung um einen Schritt, d.h. Erzeugung der Nachfolger eines Knotens Entwicklung des vollständigen Baums Zusammenfassung von Knoten zum gemeinsamen Oberknoten („Rückwärtsentwicklung“) Zusammenfassung aller Knoten zum Wurzelknoten Die zweite Gruppe dient dazu, die Art der Trennung der Beispiele durch verschiedene Trennfunktionen festzulegen. Angeboten werden Funktionen für achsenparallele lineare und schiefe lineare Trennung, verschiedene Funktionen für nichtlineare Trennungen, Sparse Grids und die Möglichkeit, selbst definierte Trennfunktionen anzugeben. Diese Funktionen sind im Einzelnen in Kapitel 7 des Handbuchs beschrieben. Bei Entwicklung des Entscheidungsbaums in Einzelschritten kann man zwischen den verschiedenen Trennfunktionen wechseln. Bei der Entwicklung des kompletten Baums in einem Schritt wird überall die vorgewählte Trennfunktion verwendet. Die Zwischenknoten des Entscheidungsbaums werden nicht mehr als Rauten, sondern in verschiedenen anderen Formen dargestellt, abhängig von der Art der Trennfunktion. Außer durch die Form wird die Art der Trennfunktion noch durch die erste Zeile der Knotenbeschriftung gekennzeichnet. Bei achsenparalleler Trennung ist das Symbol DT, bei den anderen Trennfunktionen eine Ziffer, wobei 1 für schiefe nichtlineare Trennung steht, 2 für quadratische Trennung, 3 für kubische Trennung und 4 für Trennfunktionen 4. Grades. In der zweiten Zeile wird bei den nicht achsenparallelen Trennungen noch angegeben ob linear (LMP) oder nichtlinear (NLMP) getrennt wurde. Bei diesen Trennungen enthält die dritte Zeile Informationen über die Klassenverteilung im jeweiligen Segment. Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger Data Mining Seite 51 Am informationsreichsten sind die Knotenbeschriftungen für achsenparallele Trennungen. Sie enthalten in der zweiten Zeile Informationen über die Klassenverteilung im Segment. Die Art der Angabe hängt von der gewählten Darstellung ab. Bei der Absolutdarstellung werden die Häufigkeiten der beiden vertretenen Klassen angegeben, links die der ersten, rechts die der zweiten, in der Mitte die Gesamtzahl der Datensätze im Segment. Bei der Indexdarstellung steht links der SegmentIndex und rechts der relative Anteil der Datensätze im Segment an allen Datensätzen. Die dritte Zeile enthält das für die Trennung ausgewählte Merkmal. Diese Angabe ist nur bei den achsenparallelen Trennungen möglich, weil bei allen anderen Trennfunktionen immer alle Merkmale in die Definition der Trennfunktion einfließen. In der letzten Zeile wird angegeben, wie die Trennung durchgeführt wurde. Bei numerischen Merkmalen wird die Trennstelle im Wertebereich angegeben, bei kategorischen Merkmalen sämtliche Merkmalsausprägungen. 7.4. Kostenanalyse Ein Entscheidungsbaum kann prinzipiell keine hundertprozentig sichere Aussage über die Verteilung der Datensätze in der gesamten Evaluierungsmenge machen, er stellt nur eine Hypothese dafür dar. Das bedeutet, er wird für einen Teil der Datensätze die richtige Klassifikation angeben und für den Rest die falsche. Im Allgemeinen möchte man erreichen, dass der Anteil der richtig klassifizierten Datensätze möglichst hoch ist, d.h. hier liegt ein Optimierungsproblem vor. Genauer gesagt benötigt man eine Zielfunktion, nach der optimiert wird. Das kann die Maximierung nach der Zahl der richtig klassifizierten Datensätze sein, muss es aber nicht. Die Angaben über die Klassifikation liegen in Form der vier Zahlen x1, x2, x3 und x4 vor: reale Klasse vorhergesagte Klasse Klasse 1 Klasse 2 Summe Klasse 1 x1 (y1%) x3 (y3%) x1 + x3 (y1 + y3%) Klasse 2 x2 (y2%) x4 (y4%) x2 + x4 (y2 + y4%) Summe x1 + x2 (y1 + y2%) x3 + x4 (y3 + y4%) Gesamtmenge (100%) In der Tabelle sind außerdem die Anteile dieser Zahlen an der Gesamtmenge in % angegeben (die Zahlen yi). x1 Datensätze der ersten Klasse sind also richtig der ersten Klasse zugeordnet, x2 Datensätze der zweiten Klasse fälschlich der ersten, x3 Datensätze der ersten Klasse fälschlich der zweiten und x4 Datensätze der zweiten Klasse richtig der zweiten. Die Größe der realen Klassen liegt fest, deshalb sind die Summenangaben in der untersten Zeile fest. Die Größe der vorhergesagten Klassen sind variabel, sie hängen vom Anteil an der Gesamtmenge ab, der sich mit dem Schieberegister verändern lässt. Um das Optimierungsproblem zu vervollständigen, d.h. zur Definition einer geeigneten Zielfunktion, benötigt man eine Bewertung dieser Zuordnung durch ein Kostenmaß. Dieses lässt sich dann als einfaches Maß für eine Einschätzung der Qualität des Entscheidungsbaums mittels einer bloßen Zahl verwenden. Was man also braucht ist eine Abbildung der Klassifikationsverhältnisse, gegeben durch die vier Zahlen, auf einen reellen Wert, also eine Abbildung der Form f: 4 Eine solche Abbildung stellt die Kostenmatrix dar. Sie hat die allgemeine Form Klasse 1 Klasse 2 Berufsakademie Mannheim März 2004 Klasse 1 a1 a3 Klasse 2 a2 a4 Prof. Dr. Werner Dilger Data Mining Seite 52 Diese Werte werden für die folgende Definition der Zielfunktion verwendet: 4 f ( x1 , x2 , x3 , x 4 ) ai xi i 1 Dieser Wert ist zu maximieren, also liegt ein lineares Optimierungsproblem vor. Es hängt also nicht nur von den Werten xi, sondern auch von den Werten ai ab, bei welcher Verteilung man den besten Wert erzielt, d.h. den größten Nutzen. Berufsakademie Mannheim März 2004 Prof. Dr. Werner Dilger