5. Neuronale Netze

Werbung
Data Mining
3.
Seite 27
Übersicht über die Methoden des Data Mining
3.1. Statistische Methoden
Wichtige Aufgaben beim Data Mining sind die Korrelationsanalyse, die Hauptkomponentenanalyse, die Regressionsanalyse und das Clustering. Zur Lösung dieser Aufgaben können herkömmliche statistische Methoden, aber auch andere Verfahren, z.B. spezielle Neuronale Netze, eingesetzt
werden.
Bei der Korrelationsanalyse geht es darum, Beziehungen zwischen verschiedenen Daten dadurch zu
finden, dass man die Werte bestimmter Attribute in den Datensätzen vergleicht. Lässt sich bei
einem signifikant großen Teil der Werte eine feste Relation, etwa Gleichheit oder ein funktionaler
Zusammenhang wie x = f(y), feststellen, dann gelten die Daten als korreliert. Bei der Hauptkomponentenanalyse geht es darum, diejenigen Attribute von Datensätzen zu bestimmen, die die Datensätze charakterisieren, d.h. die die wichtigsten zur Beschreibung der Datensätze sind. In der Regel
ist dies nur ein kleiner Teil der Attribute, und es ist dann möglich, sich bei weiteren Untersuchungen der Datensätze auf diese Attribute zu beschränken.
Die Regressionsanalyse untersucht Zeitreihendaten. Sie betrachtet die in der Vergangenheit etwa
bei Reihenmessungen angefallenen Daten und versucht, aus dem zeitlichen Verlauf eines einzelnen
oder mehrerer Werte den nächst folgenden Wert bzw. die nächst folgenden Werte zu prognostizieren. Beim Clustering wird eine Menge von Daten in Teilmengen ähnlicher Daten unterteilt. Es wird
angenommen, dass die Daten durch Datensätze gleicher Struktur beschrieben sind. Dann sind sich
Daten ähnlich, wenn sie in bestimmten ausgesuchten Attributen weitgehend übereinstimmende
Werte haben. Clustering wird also immer relativ zu bestimmten Attributen gemacht.
3.2. Fallbasiertes Schließen
Die Idee des fallbasierten Schließens ist, Beispiele gelöster Probleme aus einem bestimmten Anwendungsbereich abzuspeichern um sie später zur Lösung neuer, aber ähnlich gearterer Probleme
heranziehen zu können. Dazu müssen die Beispielprobleme zusammen mit ihrer Lösung in einem
geeigneten Format dargestellt werden und in einer speziellen Datenbank, der Fallbasis, abgespeichert werden. Ein Paar, bestehend aus Problembeschreibung und zugehöriger Lösung, heißt Fall.
Liegt ein neues Problem vor, dann muss dieses zunächst in dem vorgegebenen Format dargestellt
werden. Dann können die Problembeschreibungen der in der Fallbasis vorhandenen Fälle durchsucht werden um eine zum neuen Problem möglichst ähnliche Beschreibung zu finden. Dafür
benötigt man ein Ähnlichkeitsmaß für die Problembeschreibungen. Der Fall mit der ähnlichsten
Problembeschreibung wird genommen und seine Lösung als mögliche Lösung des neuen Problems
ausgegeben. Eine Anpassung der gefundenen Lösung an die neuen Gegebenheiten kann u.U.
erforderlich sein.
Problem- und Lösungsbeschreibungen können in beliebigen Formaten definiert werden. Der
einfachste und häufig vorkommende Fall ist, dass die Problembeschreibung aus einer Reihe von
Parameterwerten besteht und die Lösungsbeschreibung ein einzelner Parameterwert ist. Ein Fall ist
dann ein gewöhnlicher Datensatz bestehend aus den Werten einer Reihe von Attributen. Im Fall
von numerischen Werten lässt sich das Ähnlichkeitsmaß als Euklidischer Abstand oder als (eventuell modifizierte) Manhattan-Distanz zwischen den Datensätzen definieren.
Berufsakademie Mannheim
Sommersemester 2007
Data Mining
Seite 28
3.3. Entscheidungsbäume
Es sei eine Menge von Datensätzen mit n Attributen gegeben. Jeder Datensatz charakterisiert ein
bestimmtes Objekt und wird als Beispiel bezeichnet. Geometrisch betrachtet kann man ein Beispiel
als Punkt im n-dimensionalen Raum auffassen. Jedes Attribut muss eine kleine Menge diskreter
Werte als Wertebereich haben. Bei Attributen mit kontinuierlichen Wertebereichen muss eine
Diskretisierung vorgenommen werden. Eines der Attribute wird als Zielattribut ausgewählt oder es
wird ein neues Attribut als Zielattribut eingefügt. Das Zielattribut habe m verschiedene diskrete
Werte.
Mittels eines speziellen Algorithmus wird nun ein Entscheidungsbaum konstruiert. Die Konstruktion verläuft in folgenden Schritten:
1. Wähle ein Attribut a (außer dem Zielattribut) aus und entferne a aus der Menge der zur Verfügung stehenden Attribute. a habe die Werte w1, w2, ..., wk.
2. Unterteile die Menge der vorhandenen Beispiele so in k Teilmengen, dass das Attribut a in der
j-ten Teilmenge nur den Wert wj hat.
3. Führe die Schritte 1. und 2. für jede der k Teilmengen und die reduzierte Attributmenge durch.
Dieser rekursive Algorithmus stoppt, wenn alle Attribute aufgebraucht sind oder wenn die Beispielmenge leer wird oder wenn die Beispielmenge homogen wird, d.h. wenn jedes Attribut für alle
Beispiele in der Menge denselben Wert hat.
In der Regel wird von dem Algorithmus eine graphische Struktur aufgebaut, und zwar ein Baum.
Die Knoten des Baums werden von den Beispielmengen gebildet, insbesondere der Wurzelknoten
von der Menge aller am Anfang vorliegenden Beispiele, die Kanten von den Werten des an einem
Knoten ausgesuchten Attributs. Homogene Beispielmengen bilden Blätter im Baum. Die Beschriftung eines Wegs von der Wurzel zu einem Blatt beschreibt, unter welchen Bedingungen, d.h. bei
welchem Wert für das jeweils ausgewählte Attribut, die am Blatt stehende Menge zustande kommt.
Der Entscheidungsbaum kann als Klassifikator verwendet werden, er gibt für jedes neue Beispiel
an, zu welchem Blatt, also zu welcher Teilmenge, es gehört.
3.4. Neuronale Netze
Ein Neuronales Netz ist ein gerichteter Graph, dessen Knoten, genannt Einheiten, selbstständig
rechnende Einheiten sind. Die Kanten verbinden die Knoten in verschiedenen typischen Formen,
wodurch sich unterschiedliche Typen von Netzen ergeben. Man unterscheidet zwei Hauptklassen
von Neuronalen Netzen, die Feed-forward-Netze und die rekurrenten Netze, danach, ob der zu
Grunde liegende Graph zyklenfrei ist oder nicht. Häufig sind die Knoten in Teilmengen, genannt
Schichten, unterteilt. Die Schichten sind geordnet, etwa als S1, S2, ..., Sn. Kanten werden bei
geschichteten Netzen nur zwischen Knoten aufeinander folgender Schichten gesetzt, d.h. nur
zwischen Si und Si+1 (i = 1, ..., n-1). Abbildung 3.1 zeigt ein geschichtetes Feed-forward-Netz.
Berufsakademie Mannheim
Sommersemester 2007
Data Mining
Seite 29
Eingabeschicht
Ausgabeschicht
. . .
.
.
.
.
.
.
.
. . .
.
.
verborgene Schichten
Abbildung 3.1
Die Einheiten bestehen meist aus zwei Teilen. Jeder Teil wird durch eine Funktion gebildet. Die
beiden Teile, d.h. die beiden Funktionen, sind nacheinander angeordnet, so dass die Ausgabe der
ersten Funktion Eingabe der zweiten ist. Die erste Funktion erhält ihre Eingaben über die Kanten,
die von den vorgeschalteten Einheiten zu ihr führen, und die zweite Funktion überträgt ihre Ausgabe über Kanten an nachgeschaltete Einheiten. Die erste Funktion ist eine Integrationsfunktion, die
aus der Menge der Eingaben einen einzelnen Wert berechnet. Meist wird dazu die Addition benutzt.
Die zweite Funktion, genannt Aktivierungsfunktion, ist meist eine Schwellenwertfunktion. Bei
mehrschichtigen Netzen ist es insbesondere die Sigmoidfunktion wegen der einfachen Differenzierbarkeit. Die Eingänge in eine Einheit, d.h. die eingehenden Kanten, sind gewichtet. Jeder Eingang xi
hat ein eigenes Gewicht wi. Eine typische Einheit ist in Abbildung 3.2 dargestellt.
x1
w1
x2
w2
w3
x3
y
+
w4
x4
w5
x5
Integrationsfunktion
Aktivierungsfunktion
Abbildung 3.2
Ein Neuronales Netz kann trainiert werden, man sagt auch: es kann lernen. Die einfachste Form des
Lernens ist das überwachte Lernen. Man gibt dem Netz eine Reihe von Beispielen in beliebiger
Reihenfolge und wiederholt ein. Für jedes Beispiel ist bekannt, was die gewünschte Ausgabe sein
soll. Stimmt die Ausgabe des Netzes für ein Beispiel mit der gewünschten überein, dann braucht
nichts getan zu werden. Weichen tatsächliche und gewünschte Ausgabe voneinander ab, dann
müssen die Gewichte im Netz so verändert werden, dass sich der Fehler bei der Ausgabe verringert.
Dieser Prozess erfolgt im Idealfall so lange, bis alle Beispiele richtig berechnet werden. Das Netz
ist nun trainiert und repräsentiert eine bestimmte Funktion. Damit ist es in der Lage, neue Beispiele
zu berechnen, d.h. einen mutmaßlichen Funktionswert für diese auszugeben.
Berufsakademie Mannheim
Sommersemester 2007
Data Mining
Seite 30
3.5. Genetische Algorithmen
Genetische Algorithmen laufen auf Populationen von Genomen ab. Ein Genom ist eine Folge von
Genen. Die Gene sind die elementaren Informationseinheiten genetischer Algorithmen, im einfachsten Fall sind sie (kurze) Bitstrings. Die genetischen Algorithmen erzeugen in einer großen
Schleife immer neue Generationen von Genomen durch Anwendung der Operationen Selektion,
Kreuzung und Mutation. Dabei werden folgende Schritte durchgeführt:
1. Definiere die Genome und eine Fitnessfunktion und erzeuge eine initiale Population von
Genomen.
2. Modifiziere die aktuelle Population durch Anwendung der Operationen Selektion, Kreuzung
und Mutation.
3. Wiederhole Schritt 2 so lange, bis sich die Fitness der Population nicht mehr erhöht.
Das Ziel des Algorithmus ist die Fitness der Genome zu maximieren. Die Fitnessfunktion, die beliebig definiert sein kann, bewertet jedes neu entstandene Genom. Dazu muss das Genom in seinen
zugehörigen Phänotyp umgewandelt werden, auf ihm operiert die Fitnessfunktion. Durch die
Operation Selektion wird bei jedem Durchlauf durch die Schleife des Algorithmus eine bestimmte
Anzahl von Genomen ausgesondert, sie sorgt also dafür, dass die Größe der Population konstant
bleibt. Gleichzeitig werden (in der Regel) die fittesten Genome für die nächsten Operationen
ausgewählt. Bei der Operation Kreuzung werden zwei Genome an einer bestimmten Stelle
aufgetrennt und die beiden Bruchstücke über Kreuz zu neuen Genomen kombiniert. Die Operation
Mutation verändert ein oder mehrere zufällig ausgewählte Gene in einem Genom, wodurch
ebenfalls ein neues Genom entsteht. Abbildung 3.3 illustriert die drei Operationen.
3.6. Assoziationsregeln
Eine Assoziationsregel ist eine einfache Wahrscheinlichkeitsaussage über das gemeinsame
Vorkommen bestimmter Ereignisse oder Muster in einer Datenbasis. Sie sind besonders geeignet
für dünn besetzte Transaktionsdatenmengen und für diese ist ihre Erstellung besonders effizient.
Für die folgende Darstellung wird der Einfachheit halber angenommen, dass alle Variablen binäre
Werte haben. Eine typische Assoziationsregel hat dann die Form
IF A = 1 AND B = 1 THEN C = 1 mit Wahrscheinlichkeit p
A, B und C sind binäre Variable und p eine bedingte Wahrscheinlichkeit für das Ereignis C = 1,
wenn A = 1 und B = 1 gegeben sind, d.h. p = p(C = 1|A = 1, B = 1). Die Wahrscheinlichkeit p wird
Konfidenzwert oder Genauigkeitswert der Regel genannt, die Wahrscheinlichkeit p(A = 1, B = 1, C
= 1) heißt Support-Wert der Regel.
Bei der Bestimmung von Assoziationsregeln sucht man gewöhnlich nach solchen Regeln, deren
Konfidenzwert größer als ein Schwellenwert pc und deren Support-Wert größer als ein Schwellenwert ps ist. Zum Beispiel kann man nach Regeln suchen, deren Support-Wert größer als 0.05 und
deren Konfidenzwert größer als 0.8 ist.
Berufsakademie Mannheim
Sommersemester 2007
Data Mining
Seite 31
n-te Generation
Trennstelle
Selektion
(n+1)-te Generation
Kreuzung
Mutation
Abbildung 3.3
Praktische Anwendung finden die Assoziationsregeln meist in der Warenkorbanalyse. Bei dieser
Data Mining Aufgabe versucht man zu bestimmen, mit welcher Wahrscheinlichkeit bestimmte
Objekte zu einer Menge zusammengestellt werden, konkret: welche Waren typischerweise zusammen gekauft werden und deshalb im selben Warenkorb zu finden sind. Die Zusammengehörigkeit
bestimmter Produkte lässt sich formal mittels einer Datenmatrix mit n Zeilen (entsprechend den
Warenkörben) und p Spalten (entsprechend den kaufbaren Produkten) darstellen. Die Einträge in
die Matrix sind binär. Eine solche Matrix ist typischerweise sehr groß (n in der Größenordnung von
Millionen und p in der Größenordnung von Zehntausenden) und sehr dünn besetzt, weil ein
Warenkorb meist nur wenige Produkte enthält. Die Assoziationsregeln finden einfache Muster in
solchen Daten in effizienter Weise.
Berufsakademie Mannheim
Sommersemester 2007
Data Mining
Seite 32
Es gibt verschiedene Algorithmen zur Bestimmung von Assoziationsregeln. Sie lassen sich typischerweise nach folgenden Aspekten beschreiben:
1.
2.
3.
4.
5.
Aufgabe
Struktur
Score-Funktion
Suchmethode
Datenmanagement
Beschreibung der Assoziationen zwischen Variablen
Probabilistische Regeln
Schwellenwerte für Konfidenzwert und Support-Wert
Systematische Suche (Breitensuche mit Pruning)
Mehrfaches lineares Durchmustern
Die Score-Funktion ist eine einfache Boolesche Funktion. Eine Regel erhält den Wert 1, wenn ihr
Support-Wert und ihr Konfidenzwert über den jeweiligen Schwellenwerten (s.o.) liegen. Das Ziel
ist, alle Regeln mit dem Score-Wert 1 zu bestimmen.
Ein Problem bei der Bestimmung der Assoziationsregeln ist ihre große Zahl. Sie liegt in der
Größenordnung O(p2p-1), wenn die Variablen binär sind, sie ist also exponentiell. Jedoch lässt sich
die Suchzeit einschränken, wenn man eine Eigenschaft der Assoziationsregeln berücksichtigt. Es
gilt nämlich, dass p(A = 1, B = 1)  ps, wenn p(A = 1)  ps oder p(B = 1)  ps.
Diesen Sachverhalt kann man nutzen, indem man zuerst nach individuellen Ereignissen sucht (z.B.
A = 1), die eine größere Wahrscheinlichkeit als ps haben. Dazu ist nur ein lineares Durchmustern
der Datenbasis erforderlich. Ein Ereignis bzw. eine Menge von Ereignissen heißt häufig, wenn
seine (ihre) Wahrscheinlichkeit größer als ps ist. Alle Paare von häufigen Ereignissen werden als
mögliche häufige Mengen der Größe 2 betrachtet. In dieser Weise kann man immer größere häufige
Mengen erzeugen. Beim Übergang von häufigen Mengen der Größe k – 1 zu Mengen der Größe k
kann man alle Mengen der Größe k entfernen, die eine Teilmenge der Größe k – 1 enthalten, die
ihrerseits nicht häufig auf Ebene k – 1 ist. Dieser Schritt ist möglich auf Grund der Produktregel der
Wahrscheinlichkeitstheorie.
Hat man nun eine Liste möglicher häufiger Mengen der Größe k bestimmt, dann wird für diese
mittels einer linearen Durchmusterung der Datenbasis ermittelt, welche davon wirklich häufig sind.
Danach werden die Mengen zu Mengen der Größe k + 1 kombiniert, es findet wieder ein PruningSchritt statt usw. bis keine häufigen Mengen mehr gebildet werden können. Schließlich ist noch ein
letzter Durchlauf durch die Datenbasis zu machen, bei dem geprüft wird, welche Kombinationen
häufiger Mengen – als Regeln betrachtet – auch die Schwellenwertbedingung für den Konfidenzwert erfüllen und diese werden als Assoziationsregeln ausgegeben.
Berufsakademie Mannheim
Sommersemester 2007
Data Mining
Seite 33
Fragen
1. Nennen Sie einige statistische Methoden im Data Mining! Für welche Zwecke lassen sich die
Methoden einsetzen?
2. Was ist das Prinzip des fallbasierten Schließens und wie wird eine Lösung für einen neuen Fall
bestimmt?
3. Was benötigt ein Verfahren für die Erstellung eines Entscheidungsbaums als Voraussetzungen?
4. In welchen Schritten wird ein Entscheidungsbaum aufgebaut?
5. Wie ist ein mehrschichtiges Feed-forward-Netz aufgebaut?
6. Welche Struktur hat eine Einheit in einem Feed-forward-Netz?
7. Wie kann ein Neuronales Netz lernen?
8. Welche Operationen werden in einem Genetischen Algorithmus verwendet und in welchen
Schritten läuft der Algorithmus ab?
9. Was beschreibt eine Assoziationsregel und welche Form hat sie?
10. Was ist der Support-Wert und der Konfidenzwert einer Assoziationsregel?
11. Nennen Sie typische Aspekte eines Algorithmus zur Bestimmung von Assoziationsregeln!
12. Mit welcher Methode lässt sich bei der Suche nach Assoziationsregeln in einer Datenbank ihre
Zahl beschränken?
13. Wie bestimmt man aus einer häufigen Menge eine Assoziationsregel?
Berufsakademie Mannheim
Sommersemester 2007
Data Mining
Seite 34
4. Entscheidungsbäume
4.1. Induktives Lernen
Die Konstruktion von Entscheidungsbäumen ist eine Form des Maschinellen Lernens, speziell des
induktiven Lernens, noch spezieller des überwachten Lernens. Bei dieser Form des Lernens
bekommt der Lerner eine Menge von Beispielen vorgelegt und soll daraus eine Funktion erlernen.
Die Beispiele haben die Form von Paaren (x, f(x)). x ist die Eingabe und f(x) die Ausgabe der zu
lernenden Funktion. Die reine induktive Inferenz (kurz Induktion) besteht aus der folgenden
Aufgabe: Bestimme auf Grund einer Menge von Beispielen von f eine Funktion h, genannt
Hypothese, die f approximiert.
Im Allgemeinen können viele Hypothesen aus Beispielen generiert werden. Wird einer Hypothese
gegenüber einer anderen der Vorzug gegeben, dann heißt dies ein Bias. Weil es fast immer eine
große Zahl möglicher konsistenter Hypothesen gibt, haben alle Lernalgorithmen einen irgendwie
gearteten Bias.
4.2. Lernen von Entscheidungsbäumen
4.2.1. Entscheidungsbäume als Performanzelemente
Ein Entscheidungsbaum nimmt als Eingabe ein Objekt oder eine Situation, beschrieben durch eine
Menge von Eigenschaften und erzeugt als Ausgabe eine Ja-/Nein-Entscheidung. Ein innerer Knoten
eines Entscheidungsbaums entspricht einem Test auf den Wert einer der Eigenschaften und die nach
unten von dem Knoten wegführenden Kanten sind mit den möglichen Werten der Eigenschaft
markiert. Ein Blattknoten entspricht einem Booleschen Wert, der als Ergebnis ausgegeben wird,
wenn das Blatt erreicht wird.
Als ein Beispiel wird das Entscheidungsproblem betrachtet, ob man in einem Restaurant auf einen
freien Tisch warten soll, wenn alle Tische besetzt sind. Man möchte also eine Definition für das
Zielprädikat Warten in Form eines Entscheidungsbaums lernen. Zunächst müssen die Eigenschaften oder Attribute festgelegt werden, mit denen die Beispiele beschrieben werden. Die folgenden Attribute werden gewählt:
1.
2.
3.
4.
5.
6.
7.
8.
9.
Alternative: Gibt es in der Nähe ein geeignetes anderes Restaurant?
Bar: Gibt es in dem Restaurant eine komfortable Bar zum Warten?
Fr/Sa: Ist Freitag oder Samstag?
Hungrig: Bin ich hungrig?
Gäste: Wie viele Leute sind im Restaurant (keine, einige oder voll)?
Preis: In welchem Preissegment liegt das Restaurant (€, €€, €€€)?
Regen: Regnet es draußen?
Reservierung: Habe ich reserviert?
Typ: Um welche Art von Restaurant handelt es sich (Französisch, Italienisch, Chinesisch oder
Burger)?
10. Wartezeit: Welche voraussichtliche Wartezeit wird vom Restaurant geschätzt?
Ein Entscheidungsbaum für das Problem könnte z.B. der in Abbildung 3.1 dargestellte sein. Die
Attribute Preis und Typ sind darin nicht benutzt, weil sie angesichts der Datenlage irrelevant sind.
Der Baum kann in eine Menge von Implikationen (8 insgesamt) umgesetzt werden, die den Pfaden
Berufsakademie Mannheim
Sommersemester 2007
Data Mining
Seite 35
von der Wurzel zu den mit Ja markierten Blättern entsprechen. Zum Beispiel ergibt der Pfad über
die Knoten Wartezeit und Hungrig die Implikation
r Gäste(r, Voll)  Wartezeit(r, 10-30)  Hungrig(r, Nein)  Warten(r)
Gäste?
Keine
Einige
Nein
Ja
Voll
Wartezeit?
>60
0-10
30-60
Nein
10-30
Alternative?
Nein
Ja
Reservierung?
Nein
Ja
Bar?
Ja
Nein
Ja
Nein
Ja
Hungrig?
Nein
Ja
Ja
Alternative?
Fr/Sa?
Nein
Nein
Ja
Ja
Nein
Ja
Ja
Ja
Regen?
Nein
Nein
Ja
Ja
Abbildung 4.1
4.2.2. Induktion von Entscheidungsbäumen aus Beispielen
Ein Beispiel wird durch die Werte der Attribute und den Wert des Zielprädikats beschrieben. Der
Wert des Zielprädikats heißt Klassifikation des Beispiels. Ist der Wert wahr für ein Beispiel, so
heißt dieses ein positives Beispiel, andernfalls ein negatives Beispiel. Die gesamte Menge der
Beispiele heißt Trainingsmenge. Tabelle 4.1 enthält die Beispiele für das Restaurant-Beispiel.
Beispiele Alternative
X1
Ja
X2
Ja
X3
Nein
X4
Ja
X5
Ja
X6
Nein
X7
Nein
X8
Nein
X9
Nein
X10
Ja
X11
Nein
X12
Ja
Bar
Nein
Nein
Ja
Nein
Nein
Ja
Ja
Nein
Ja
Ja
Nein
Ja
Fr/Sa Hungrig
Nein
Ja
Nein
Ja
Nein Nein
Ja
Ja
Ja
Nein
Nein
Ja
Nein Nein
Nein
Ja
Ja
Nein
Ja
Ja
Nein Nein
Ja
Ja
Attribute
Gäste Preis Regen Reservierung
Einige €€€ Nein
Ja
Voll
€
Nein Nein
Einige
€
Nein Nein
Voll
€
Nein Nein
Voll
€€€ Nein
Ja
Einige €€
Ja
Ja
Keine
€
Ja
Nein
Einige €€
Ja
Ja
Voll
€
Ja
Nein
Voll
€€€ Nein
Ja
Keine
€
Nein Nein
Voll
€
Nein Nein
Typ
Franz
Chin
Burger
Chin
Franz
Ital
Burger
Chin
Burger
Ital
Chin
Burger
Ziel
Warte- Warten
zeit
0-10
Ja
30-60 Nein
0-10
Ja
10-30
Ja
>60
Nein
0-10
Ja
0-10
Nein
0-10
Ja
>60
Nein
10-30 Nein
0-10
Nein
30-60
Ja
Tabelle 4.1
Bei der Erstellung eines Entscheidungsbaums aus Beispielen kommt es darauf an, ein Muster zu
extrahieren, das eine große Zahl von Fällen in knapper Form beschreibt. Der Entscheidungsbaum
muss vor allem eine knappe, aber informationsreiche Repräsentation von Fällen sein und er sollte
alle Trainingsbeispiele erfassen.
Berufsakademie Mannheim
Sommersemester 2007
Data Mining
Seite 36
Ein Entscheidungsbaum repräsentiert eine einfache Hypothese, wenn er möglichst klein ist. Das
Problem, den kleinsten Entscheidungsbaum zu finden, ist nicht lösbar. Aber man kann versuchen
einen möglichst kleinen zu finden. Zu diesem Zweck geht der DECISION-TREE-LEARNING-Algorithmus so vor, dass er immer das wichtigste Attribut zuerst testet. Damit ist dasjenige Attribut
gemeint, nach dem sich die Beispiele am stärksten unterscheiden. Auf diese Weise wird versucht
eine korrekte Klassifikation mit einer kleinen Menge von Tests zu bekommen, wodurch die Pfade
im Entscheidungsbaum kurz werden und der Baum insgesamt klein wird.
function DECISION-TREE-LEARNING(Beispiele, Attribute, Default) returns einen Baum
inputs: Beispiele
eine Menge von Beispielen
Attribute
eine Menge von Attributen
Default
ein Default-Wert für das Zielprädikat
if Beispiele ist leer then return Default
else if alle Beispiele haben dieselbe Klassifikation then return die Klassifikation
else if Attribute ist leer then return MAJORITY-VALUE(Beispiele)
else
best  CHOOSE-ATTRIBUTE(Attribute, Beispiele)
Baum  ein neuer Entscheidungsbaum mit Wurzeltest best
for each Wert vi von best do
Beispielei  {Elemente von Beispiele mit best = vi}
subtree  DECISION-TREE-LEARNING(Beispielei, Attribute - best,
MAJORITY-VALUE(Beispiele))
füge einen Zweig zu Baum hinzu mit Marke vi und Teilbaum subtree
end
return Baum
Nachdem die erste Aufteilung der Testmenge durch das erste Attribut erfolgt ist, entstehen mehrere
neue Entscheidungsbaum-Lernprobleme mit weniger Beispielen und einem Attribut weniger. Die
Konstruktion des Entscheidungsbaums erfolgt also rekursiv. Vier Fälle sind dabei zu unterscheiden:
1. Wenn die Teilmenge einige positive und einige negative Beispiele enthält, dann wähle das beste
Attribut um sie weiter zu unterteilen.
2. Wenn alle Beispiele in der Teilmenge positiv sind (bzw. alle negativ), dann ist der Zweig des
Baums fertig. Man kann mit Ja (bzw. Nein) antworten.
3. Wenn die Teilmenge leer ist bedeutet dies, dass kein Beispiel mit der durch die bisher benutzten
Attribute beschriebenen Eigenschaften vorliegt. Es wird ein Defaultwert zurückgegeben, der auf
Grund der mehrheitlichen Klassifikation am Vorgängerknoten berechnet wird.
4. Wenn keine Attribute übrig sind aber die Teilmenge nicht leer ist und sowohl positive als auch
negative Beispiel enthält, bedeutet dies, dass diese Beispiele zwar verschiedene Klassifikation
haben, aber die gleichen Eigenschaften, zumindest so weit sie auf Grund der definierten Attribute beschreibbar sind. Dieser Fall tritt ein, wenn einige Daten falsch sind, d.h. wenn sie verrauscht sind, oder wenn die Attribute nicht genügend Information enthalten um die vorliegende
Situation zu beschreiben oder wenn die Domäne nicht deterministisch ist. In diesem Fall trifft
man eine Mehrheitsentscheidung.
Konstruiert man den Entscheidungsbaum für die Beispiele von Tabelle 4.1 nach dieser Vorschrift,
dann erhält man den Entscheidungsbaum von Abbildung 4.2.
Berufsakademie Mannheim
Sommersemester 2007
Data Mining
Seite 37
Gäste?
Keine
Einige
Nein
Voll
Hungrig?
Ja
Ja
Nein
Typ?
Nein
Französisch
Italienisch
Ja
Burger
Chinesisch
Nein
Fr/Sa?
Nein
Nein
Ja
Ja
Ja
Abbildung 4.2
Die Diskrepanz zwischen dem Ausgangsbaum und dem Ergebnisbaum ist sicher auch der kleinen
Anzahl von Beispielen zuzuschreiben. Mit mehr Beispielen dürfte der Unterschied geringer ausfallen. Der Baum von Abbildung 4.2 ist auch keine sehr gute Hypothese, denn z.B. kommt der Fall,
dass ein Restaurant voll und die Wartezeit 0 – 10 Minuten beträgt, gar nicht vor. Im Fall von
Hunger sagt der Baum, dass nicht gewartet werden soll, aber wenn die Wartezeit höchstens 10
Minuten beträgt, wird man in der Regel warten. Diese Beobachtung führt zu der Frage nach der
Korrektheit der Hypothese.
4.2.3. Abschätzung der Performanz des Lernalgorithmus
Die Qualität eines Lernalgorithmus kann danach eingeschätzt werden, wie gut er neue, vorher nicht
betrachtete Beispiele klassifiziert. Dazu muss die Klassifikation dieser Beispiele aber vorab bekannt
sein. Die Menge der Beispiele, die für diesen Zweck verwendet werden, heißt Testmenge. Diese
Menge reserviert man üblicherweise von vornherein für den Test, ansonsten müsste man nach
neuen Beispielen suchen und deren Klassifikation bestimmen. Im Einzelnen geht man in folgenden
Schritten vor:
1. Sammle eine große Menge von Beispielen.
2. Unterteile die Menge in zwei disjunkte Teilmengen, die Trainingsmenge und die Testmenge.
3. Erzeuge mit dem Lernalgorithmus auf der Basis der Trainingsmenge eine Hypothese H.
4. Bestimme den Prozentsatz der Beispiele in der Testmenge, die durch H korrekt klassifiziert
werden.
5. Wiederhole die Schritte 1. bis 4. für verschieden große und zufällig ausgewählte Trainingsmengen.
Durch Anwendung dieser Schritte erhält man eine Menge von Daten, auf Grund derer die durchschnittliche Vorhersagequalität als eine Funktion der Größe der Trainingsmenge angegeben werden
kann. Diese Funktion ergibt in grafischer Form dargestellt die so genannte Lernkurve des
Algorithmus auf der betrachteten Domäne. Abbildung 4.3 zeigt den ungefähren Verlauf der
Lernkurve für den Algorithmus DECISION-TREE-LEARNING auf der Restaurant-Domäne.
Berufsakademie Mannheim
Sommersemester 2007
Data Mining
Seite 38
100
90
Korrekt- 80
heit auf
der
70
Testmenge 60
in %
50
40
0
20
40
60
80
100
Größe der Trainingsmenge
Abbildung 4.3
4.3. Die Verwendung der Informationstheorie
4.3.1. Das Prinzip des Informationsgewinns
Zur Implementierung der CHOOSE-ATTRIBUTE-Funktion benötigt man ein Maß für gute und unnütze
Attribute. Dieses Maß muss seinen größten Wert für perfekte Attribute und seinen kleinsten Wert
für völlig wertlose Attribute haben. Ein solches Maß ist der erwartete Gehalt an Information, der
von einem Attribut geliefert wird. Der Begriff Information ist dabei im Sinne der Shannonschen
Informationstheorie zu verstehen. Eine Information in diesem Sinn ist eine Antwort auf eine Frage.
Wenn man eine auf die Frage schon relativ gut zutreffende Vermutung hat, dann ist die Antwort
weniger informativ als wenn man überhaupt nichts weiß.
In der Informationstheorie wird der Gehalt einer Information in Bits gemessen. Ein Bit Information
genügt um eine Ja/Nein-Frage zu beantworten, über deren Antwort man keinerlei Vorstellung hat,
wie dem Fall einer Münze. Wenn die möglichen Antworten vi auf die Frage die Wahrscheinlichkeiten P(vi) haben, dann ist der Informationsgehalt I der tatsächlichen Antwort definiert durch
n
I ( P(vi ),..., P(vn ))    P(vi ) log 2 P(vi )
i 1
Dies ist der durchschnittliche Informationsgehalt der verschiedenen Antworten (die  log 2 P -Ausdrücke), gewichtet mit den Wahrscheinlichkeiten der Antworten.
Beim Entscheidungsbaum-Lernen ist die zu beantwortende Frage: Was ist die korrekte Klassifikation für ein gegebenes Beispiel? Ein korrekter Entscheidungsbaum liefert die Antwort. Eine Schätzung der Wahrscheinlichkeiten der möglichen Antworten vor dem Test der Attribute ist durch das
Verhältnis der positiven und negativen Beispiele in der Trainingsmenge gegeben. Angenommen,
die Trainingsmenge enthalte p positive und n negative Beispiele. Dann wird der Informationsgehalt
einer korrekten Antwort wie folgt abgeschätzt:
 p
n 
p
p
n
n
  
I 
,
log 2

log 2
pn
pn pn
pn
 pn pn
Der Test eines einzelnen Attributs gibt im Allgemeinen nicht so viel Information, aber immerhin
einen Teil davon. Das Maß an Information, das ein Attribut liefert, wird daran gemessen, wie viel
Information nach dem Attributtest für eine korrekte Antwort noch benötigt wird. Jedes Attribut A
unterteilt die Trainingsmenge E in die Teilmengen E1, ..., Ev, entsprechend ihren Werten für A,
Berufsakademie Mannheim
Sommersemester 2007
Data Mining
Seite 39
wobei angenommen ist, dass A v verschiedene Werte haben kann. Jede Teilmenge Ei enthält pi
positive und ni negative Beispiele. Wenn man also auf dem i-ten Zweig des Baums fortfährt,
benötigt man zusätzlich I ( pi ( pi  ni ) , ni ( pi  ni )) Bits an Information um die Frage zu beantworten. Ein zufällig ausgewähltes Beispiel hat mit der Wahrscheinlichkeit ( pi  ni ) ( p  n) den iten Wert des Attributs, deshalb benötigt man im Durchschnitt nach dem Test des Attributs A
v
Rest ( A)  
i 1
pi  ni  pi
ni
 I 
,
p  n  pi  ni pi  ni



Bits an Information um das Beispiel zu klassifizieren. Der Informationsgewinn aus dem Attributtest ist definiert durch die Differenz zwischen dem ursprünglichen Informationsbedarf und dem
neuen Informationsbedarf:
 p
n 
  Re st ( A)
Gain( A)  I 
,
 pn pn
Die Heuristik, die in der CHOOSE-ATTRIBUTE-Funktion benutzt wird, ist das Attribut mit dem größten Informationsgewinn zu wählen.
4.3.2. Rauschen und Overfitting
Wenn es bei einem Lernproblem eine große Menge möglicher Hypothesen gibt, besteht die Gefahr,
dass man beim Lernen bedeutungslose Regelmäßigkeiten in den Daten entdeckt. Dieses Problem
heißt Overfitting. Es ist ein sehr allgemeines Phänomen und kann in allen möglichen Lernverfahren vorkommen, nicht nur bei Entscheidungsbäumen.
Eine einfache Technik zur Vermeidung des Overfitting ist das Pruning. Durch das Pruning wird
verhindert, dass Attribute für die Aufteilung einer Menge verwendet werden, die nicht wirklich
relevant sind, selbst wenn die Beispiele an diesem Knoten nicht uniform klassifiziert sind. Die
Frage ist, wie irrelevante Attribute entdeckt werden. Der Informationsgewinn bietet dafür eine
Möglichkeit. Angenommen man teilt eine Menge von Beispielen mit einem irrelevanten Attribut
auf. Die entstehenden Teilmengen haben dann in der Regel etwa dieselbe Verteilung von positiven
und negativen Beispielen wie die ursprüngliche Menge. Dann ist der Informationsgewinn annähernd Null. Damit stellt sich umgekehrt die Frage, ab welchem Informationsgewinn es sich lohnt,
ein Attribut zur Aufteilung der Beispielmenge zu verwenden. Eine Antwort darauf liefern
statistische Signifikanztests.
4.3.3. Erweiterung der Anwendbarkeit von Entscheidungsbäumen
Um den Einsatzbereich des Entscheidungsbaum-Lernens zu erweitern muss man Maßnahmen ergreifen um fehlende Daten zu ergänzen und um Attribute mit besonderen Eigenschaften
verwendbar zu machen.

Fehlende Daten In vielen Anwendungsbereichen sind nicht alle Attributwerte für jedes
Beispiel bekannt. Das kann daran liegen, dass sie nicht erfasst wurden oder dass es zu
aufwändig ist sie zu ermitteln. Hier sind zwei Probleme zu lösen: 1. Wie modifiziert man die
Konstruktion des Entscheidungsbaums, insbesondere die Definition des Informationsgewinns,
wenn bei einigen Beispielen Attributwerte fehlen? 2. Wie klassifiziert man ein neues Beispiel
mit einem bestehenden Entscheidungsbaum, wenn eines der Testattribute nicht anwendbar ist?
Berufsakademie Mannheim
Sommersemester 2007
Data Mining
Seite 40

Attribute mit vielen Werten Ist die Zahl der Werte eines Attributs sehr hoch, dann kann der
Extremfall eintreten, dass das Attribut für jedes Beispiel einen eigenen Wert hat und damit
lauter einelementige Mengen entstehen. Der Informationsgewinn hätte dann für dieses Attribut
den höchsten Wert. Trotzdem wäre das Attribut irrelevant oder nutzlos. Um solche Attribute zu
behandeln kann man den Gain Ratio verwenden.

Attribute mit kontinuierlichen Werten Manche Attribute haben kontinuierliche Wertebereiche, z.B. Attribute wie Größe oder Gewicht. Um sie für das Entscheidungsbaum-Lernen verwendbar zu machen diskretisiert man üblicherweise die Wertebereiche. Das wird meistens von
Hand gemacht. Eine bessere Methode ist, die Attribute im Rahmen des Lernprozesses vorab zu
behandeln um herauszufinden, welche Unterteilung des Wertebereichs die nützlichste Information für die Zwecke der Klassifikation liefert.
Berufsakademie Mannheim
Sommersemester 2007
Data Mining
Seite 41
Fragen
1. Was ist beim induktiven Lernen die Eingabe und was wird gelernt?
2. Was ist bei einem Entscheidungsbaum die Ein- und die Ausgabe und womit sind die Knoten
und Kanten des Baums beschriftet?
3. Was ist die Trainingsmenge für das Erzeugen eines Entscheidungsbaums?
4. Wie ist ein Beispiel für die Eingabe in einen Entscheidungsbaum aufgebaut?
5. Welche Eigenschaften sollte ein „guter“ Entscheidungsbaum haben?
6. Skizzieren Sie die Vorgehensweise des Decision-Tree-Learning-Algorithmus!
7. Was kann man tun, wenn bei der Entscheidungsbaumkonstruktion die Menge der Beispiele leer
wird und was, wenn die Menge der Attribute leer wird?
8. Wie kann man die Qualität (Performanz) eines Entscheidungsbaums oder allgemein einer
Hypothese abschätzen?
9. Was ist ein Maß für gute oder nützliche Attribute bei der Entscheidungsbaumkonstruktion?
10. Wie berechnet man den Informationsgehalt einer Antwort auf eine Frage?
11. Wie lässt sich der Informationsgewinn aus einem Attributtest berechnen?
12. Was ist Overfitting und wie kann man es vermeiden?
13. Wie kann man Entscheidungsbäume konstruieren, wenn die Attribute der Beispiele
kontinuierliche Wertebereiche haben?
Berufsakademie Mannheim
Sommersemester 2007
Data Mining
Seite 42
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
Sommersemester 2007
Data Mining
Seite 43
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. 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.
Berufsakademie Mannheim
Sommersemester 2007
Data Mining
Seite 44


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:
1,
stept ( x)  
0,
falls x  t
falls x  t
 1,
sign ( x)  
 1,
falls x  0
falls x  0
sigmoid ( x) 
1
1  ex
Statt Aktivierungsfunktionen mit Schwellenwert zu verwenden, kann man solche ohne Schwellenwert verwenden und stattdessen 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,ia0 =
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.3. 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.
Berufsakademie Mannheim
Sommersemester 2007
Data Mining
Seite 45
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
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 fester Aktivierungsfunktion 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.4. 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.
Berufsakademie Mannheim
Sommersemester 2007
Data Mining
Seite 46
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


O  step0  W j I j   step0 ( W  I)
 j

Ij
Eingabeeinheiten
Wj,i
Oi
Ij
Ausgabeeinheiten
Eingabeeinheiten
(a) Perzeptron-Netz
Wj
(5.1)
O
Ausgabeeinheit
(b) Einzelnes Perzeptron
Abbildung 5.5
Berufsakademie Mannheim
Sommersemester 2007
Data Mining
Seite 47
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.
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.
5.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
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 WjIj 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
Berufsakademie Mannheim
Sommersemester 2007
Data Mining
Seite 48
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. Backpropagation-Lernen
Mit der Methode der Backpropagation 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 Backpropagation-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
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 */
Berufsakademie Mannheim
Sommersemester 2007
Data Mining
Seite 49
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 Backpropagation-Lernens
Das Backpropagation-Lernen kann nach denselben Eigenschaften beurteilt werden, die man auch an
andere Lernverfahren als Kriterien anlegt.
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.
Berufsakademie Mannheim
Sommersemester 2007
Data Mining
Seite 50
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.
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
desselben 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.
Berufsakademie Mannheim
Sommersemester 2007
Data Mining
Seite 51
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
Sommersemester 2007
Data Mining
Seite 52
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
Sommersemester 2007
Data Mining
Seite 53
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.
Regen 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, 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
Sommersemester 2007
Data Mining
Seite 54
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
Sommersemester 2007
Data Mining
Seite 55
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. sei


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
Sommersemester 2007
Data Mining
Seite 56
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
Sommersemester 2007
Data Mining
Seite 57
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
Sommersemester 2007
Data Mining
Seite 58
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 22-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
Berufsakademie Mannheim
Sommersemester 2007
Data Mining
Seite 59
alle möglichen 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
Sommersemester 2007
Data Mining
Seite 60
Fragen
Berufsakademie Mannheim
Sommersemester 2007
Herunterladen