Dokumentation - Hochschule Wismar

Werbung
Hochschule Wismar
University of Applied Sciences
Technology, Business and Design
Fakultät für Ingenieurwissenschaften, Bereich EuI
Probablistic Neural Network
Betreuer:
Prof. Dr.-Ing. Uwe Lämmel
Abgabetermin: 18. 06. 2013
Bearbeiter:
Toni Liesche, Karsten Brodkorb, Tom Wendel
Studiengang:
Multimedia Engineering (Master)
SS 2013
Error! Use the Home tab to apply Inhaltsverzeichnisüberschrift to the text that
you want to appear here.
Inhalt
1
Einleitung .......................................................................................................... 3
2
Probablistic Neural Network.............................................................................. 4
2.1
Grundlagen .................................................................................................... 4
2.2
Allgemeiner Aufbau ....................................................................................... 4
2.2.1
Input Layer .............................................................................................. 4
2.2.2
Pattern Layer .......................................................................................... 4
2.2.3
Summation Layer .................................................................................... 5
2.2.4
Output Layer ........................................................................................... 5
2.3
Mathematische Grundlagen .......................................................................... 6
2.3.1
Allgemeine Berechnungen ...................................................................... 6
2.3.2
Der Glättungsparameter σ ...................................................................... 7
2.3.3
Der Jackknifing-Algorithmus ................................................................... 7
3
Implementierung in Knime ................................................................................ 8
3.1.1
Der Dynamic Decay Algorithmus ............................................................ 8
3.1.2
Grundlagen ............................................................................................. 8
3.1.3
Eigenschaften des Algorithmus............................................................... 8
3.1.4
Die Parameter Ο΄+ und Ο΄- ....................................................................... 9
3.1.5
Funktionsweise des Algorithmus........................................................... 10
3.1.6
Klassifizierung ....................................................................................... 11
3.2
4
Der Workflow-Aufbau .................................................................................. 11
Testdaten ........................................................................................................ 13
4.1
Datensätze .................................................................................................. 13
4.2
Klassifizierung von Schwertlilien.................................................................. 13
4.3
Gehalt-Daten ............................................................................................... 13
4.4
Kreditscoring ............................................................................................... 14
4.5
Daten des Data-Mining Cup 2007 ............................................................... 14
4.6
Vorverarbeitung ........................................................................................... 14
5
Auswertung ..................................................................................................... 15
I.
Abkürzungsverzeichnis ................................................................................... 16
II.
Literaturverzeichnis ......................................................................................... 17
III.
Abbildungsverzeichnis .................................................................................... 18
IV.
Tabellenverzeichnis ........................................................................................ 19
V.
Selbstständigkeitserklärung ............................... Error! Bookmark not defined.
Error! Use the Home tab to apply Überschrift 1 to the text that you want to
appear here.
1 Einleitung
Künstliche neuronale Netze sind Modelle, die versuchen biologische Strukturen wie
das Nervensystem des Menschen, reduziert abzubilden. Ein neuronales Netz besteht
dabei aus Neuronen, die den Nervenzellen nachempfunden sind. Zusätzlich sind
diese Neuronen über gewichtete Kanäle – ähnlich den Synapsen – miteinander
verknüpft, um so Informationen empfangen oder senden zu können. Die Neuronen
verfügen über sogenannte Aktivierungsfunktionen, die auf Grundlage der
gewichteten Eingabe bzw. Eingaben exakt eine Ausgabe erzeugen. Grundsätzlich
unterscheiden sich Neuronale Netze durch ihre Netztopologie und ihre
Verbindungsarten. Beispielsweise gibt es einschichtige oder mehrschichtige
Feedforward- oder Feedback-Netze.
In dieser Dokumentation werden der Aufbau, die Funktionsweise und die
Einsatzgebiete des Probabilistischen neuronalen Netzes, bei dem es sich um ein
mehrschichtiges Feedforward Netzwerk handelt, dargestellt und bewertet.
3
Error! Use the Home tab to apply Überschrift 1 to the text that you want to
appear here.
2 Probablistic Neural Network
2.1 Grundlagen
Propablistische Neuronale Netze (probablistic neural networks), kurz PNN, sind
sogenannte Multi Layered Feedforward Neural Networks1, die aus vier Schichten
bestehen. Sie wurden Ende der 80er Jahre von Donald F. Specht [1] vorgestellt und
nutzen als Grundlage den sogenannten Bayes-Klassifikator, welcher wiederum aus
dem Bayes‘sches Theorem abgeleitet wurde. Dabei ordnen die Bayes‘schen
Klassifikatoren jedes Objekt der Klasse zu, bei welcher die errechnete
Wahrscheinlichkeit am höchsten ist oder bei welcher durch die Einordnung die
geringsten Kosten entstehen. Trotz der theoretischen Grundlage des BayesKlassifikator unterscheidet sich das PNN doch erheblich im praktischen Aufbau und
im Entscheidungsprozess.
2.2 Allgemeiner Aufbau
Da ein PNN ein Multi Layered Feedforward Neural Network ist, besteht es, wie der
Name schon sagt aus mehreren Schichten. Im Gegensatz zu anderen Typen von
Multi Layer Netzen – wie z.B. das Multi Layer Perceptron – hat das PNN eine immer
gleichbleibende Grundstruktur. Diese Struktur beinhaltet 4 Schichten die nachfolgend
erläutert werden.
2.2.1 Input Layer
Der Input Layer (Eingabe Schicht) repräsentiert die angelegten Testdaten. Dabei
entspricht jedes Neuron dieser Schicht genau einem Datensatz der klassifiziert
werden soll. Um die Daten klassifizieren zu können müssen alle Attribute des
Datensatzes als nummerische Werte vorliegen (Bild 1).
2.2.2 Pattern Layer
Der Pattern Layer (Muster-Schicht) – oder auch Hidden Layer – ist die Schicht, die
auf Grundlage der Trainingsdaten aufgebaut wird. Dabei entspricht ein Neuron
genau einem Datensatz aus der Trainingsmenge. Bei einer Vorhersage berechnet
ein Neuron standardmäßig den euklidischen Abstand der Testdaten zum
abgespeicherten Trainingsdatenwert. Als Grundlage für diese Berechnung dient eine
sogenannte Radial Basis Function (RBF) inklusive evtl. benötigter Parameter – ihr
Wert hängt bei konstanten Parametern nur vom euklidischen Abstand ab und ist
radialsymmetrisch.
1
Mehrschichtiges vorwärtsgerichtetes neuronales Netzwerk
4
Error! Use the Home tab to apply Überschrift 1 to the text that you want to
appear here.
Der Pattern Layer ist in sogenannte Populationen unterteilt, welche jeweils eine
vorherzusagende Klasse repräsentieren. Als Besonderheit darin ist aufzuführen,
dass die einzelnen Neuronen der Populationen nicht mehr mit allen nachfolgenden
Neuronen des Summation-Layers verbunden sind, sondern nur noch Verbindung zu
einem dieser Population zugeordneten Neuron der nachfolgenden Schicht besitzen
(Bild 1).
2.2.3 Summation Layer
Der Summation Layer (Summations-Schicht) hält für jede mögliche vorhersagbare
Klasse genau ein Neuron das die gewichteten Werte der Muster-Schicht
zusammenrechnet und somit einen Wert pro Datensatz ermittelt. Dieser Wert ist
somit ein abstandsmaß für die vorhergesagte Klassenzugehörigkeit und wird an die
letzte Schicht zur endgültigen Entscheidung übergeben (Bild 1).
2.2.4 Output Layer
Der Output-Layer vergleicht die gewichteten Werte der Summations-Schicht und
ordnet sie der Klasse zu die den größten vorhergesagten Wert erreicht hat (Bild 1).
Mathematisch gesehen handelt es sich um eine max-Funktion – die praktische
Umsetzung unterscheidet sich entgegen der Darstellung von der Implementierung als
einzelnes Neuron.
Bild 1: Aufbau eines PNNs
5
Error! Use the Home tab to apply Überschrift 1 to the text that you want to
appear here.
2.3 Mathematische Grundlagen
2.3.1 Allgemeine Berechnungen
Wie im Abschnitt 2.2 bereits dargestellt wurde, besteht die Abstandsbestimmung in
Probabilistischen Neuronalen Netzen grundsätzlich aus 2 Schritten: Dem Berechnen
der Einzelabstände und dem Bilden des Klassenabstands.
Im ersten Schritt erfolgt für ein zu klassifizierendes Objekt die Berechnung der
Einzelabstände zu jedem Objekt der Trainingsmenge (dargestellt durch die Neuronen
im Pattern Layer).
π‘”π‘˜ (π‘₯) =
1
𝜎
π‘₯−π‘₯π‘˜
π‘Š(
𝜎
(2.1)
)
Obwohl grundsätzlich auch andere Wahrscheinlichkeitsdichtefunktionen zum Einsatz
kommen können, hat sich die von Specht empfohlene Gauß-Funktion als Standard
im Bereich der PNNs durchgesetzt. Aus der Zusammenführung mit Formel 2.1 ergibt
sich:
π‘”π‘˜ (π‘₯) =
1
𝜎
𝑒
(π‘₯−π‘₯π‘˜ )2
2𝜎2
(2.2)
−
Da es sich häufig um mehrdimensionale Eingangsvektoren handelt, erfolgt die
Abstandsberechnung in Form der euklidischen Norm über der Differenz der beiden
Vektoren. Schließlich wird das Ganze noch aufsummiert und durch die Anzahl der
Elemente innerhalb einer Population dividiert. Zusammenfassend für beide Schritte
ergibt sich folgende Formel:
𝑔𝑖 (π‘₯βƒ—) =
1
2
βƒ—βƒ—−π‘₯
βƒ—βƒ—π‘–π‘˜ β€–
β€–π‘₯
2𝜎2
(2.3)
−
𝑖
∑π‘›π‘˜=1
𝑒
𝑝/2
𝑝
(2πœ‹) 𝜎 𝑛𝑖
Tabelle 1: Symbole Formeln PNN
X
xk, xik
p
ni
σ
zu klassifizierender Datensatz
Trainingsdatensätze
Länge der Merkmalsvektoren
Anzahl der Trainingsdaten in Klasse i
Glättungsparameter
6
Error! Use the Home tab to apply Überschrift 1 to the text that you want to
appear here.
2.3.2 Der Glättungsparameter σ
Der Glättungsparameter σ ist identisch mit der
Standardabweichung einer Gauß- Normalverteilung.
Je höher dieser Wert gewählt wird, desto breiter wird
die Kurve der Dichtefunktion.
Bild 2: Niedriger Wert für σ
In der Implementierung eines Probabilistischen
Neuronalen Netzes bestimmt der Parameter den Grad
der Interpolation zwischen Punkten im Merkmalsraum.
Dies bedeutet, dass bei höheren Werten für σ
Eingabegrößen zur Klassifikation ähnliche
Wahrscheinlichkeiten aufweisen, wie das
Trainingsbeispiel selbst.
Bild 3: Hoher Wert für σ
Je größer der Wert ist, desto mehr nähert sich die
Dichtefunktion an die Gauß-Verteilung an –
unabhängig, welche Daten der realen Verteilung
zugrunde liegen.
Bild 4: Noch höherer Wert für σ
2.3.3 Der Jackknifing-Algorithmus
Ein möglicher heuristischer Ansatz zur Bestimmung des optimalen Wertes von σ im
Zusammenhang eines bestimmten Klassifizierungsproblems ist die sogenannte
„Jackknifing“-Methode.
Die Bestimmung der „Qualität“ eines bestimmten Wertes von σ für das gegebene
Problem erfolgt iterativ über die gesamte Trainingsmenge: Jeder einzelne der n
Trainingsdatensätze wird nach und nach aus der Trainingsmenge für einen Durchlauf
ausgegliedert und durch die verbliebenen n-1 Datensätze klassifiziert. Hierbei
werden die korrekten Klassifikationen als Maß für die Qualität von σ gezählt.
Diese Prozedur wird systematisch über verschiedene
Werte für σ wiederholt. Als optimaler Wert wird
derjenige angenommen, der die höchste
Korrektklassifizierungsrate der untersuchten Werte
aufweist.
Bild 5: Jackknifing
7
Error! Use the Home tab to apply Überschrift 1 to the text that you want to
appear here.
3 Implementierung in Knime
3.1.1 Der Dynamic Decay Algorithmus
Im Jahr 1998 wurde durch Berthold und Diamond [2] ein neues Verfahren zur
automatischen Generierung eines Probabilistischen Neuronalen Netzes aus einer
gegebenen Menge an Testdaten vorgestellt.
3.1.2 Grundlagen
Ein großer Vorteil besteht in der Tatsache, dass sowohl die Netztopologie als auch
die zum Einsatz kommenden Parameter während vollständig automatisiert bestimmt
werden. Darüber hinaus wird für jeden lokalen Gauß2 der Einflussbereich berechnet.
Hierdurch wird die Erkennungsgenauigkeit in Konfliktbereichen3 verbessert.
KNIME generiert Regeln basierend auf den numerischen Eingangsdaten. Jede Regel
wird als höherdimensionale Gaußfunktion definiert. Jede Gaußfunktion besteht dabei
aus einem zentralen Vektor und einer Standardabweichung.
3.1.3 Eigenschaften des Algorithmus
Berthold und Diamond beschreiben die fünf Haupteigenschaften des Algorithmus in
ihrem Paper4 wie folgt:
Constructive Training:
Die Anzahl der Notwendigen Neuronen wird ebenso wie die Eigenschaften der
individuellen Gaußparameter während des Trainings bestimmt. Das Netzwerk wird
von Grund auf neu konstruiert und neue Neuronen werden nur bei Bedarf eingeführt.
Fast Training:
Aufgrund der Natur des Algorithmus wird das Training normalerweise in weniger als
fünf Durchläufen beendet sein.
Guaranteed Convergence:
Es kann nachgewiesen werden, dass der Algorithmus unter Verwendung einer
endlichen Zahl an Trainingsdaten terminiert.
2
Jeder Datensatz in der Trainingsebene besitzt eine eigene Aktivierungsfunktion
Bereiche, in denen Datensätze verschiedener Klassen ähnlich hohe Wahrscheinlichkeiten aufweisen
4 Berthold, Diamond: Constructive Training of PNNs, S. 172
3
8
Error! Use the Home tab to apply Überschrift 1 to the text that you want to
appear here.
Two Uncritical Manual Parameters:
Es werden nur zwei manuell zu wählende Parameter benötigt, deren Einfluss auf
Realwelt-Daten in den meisten Fällen nicht kritisch ist.
Distinct Classification Zones:
-
Class Inclusion: Korrekte Klassifikationen liegen oberhalb des Schwellwertes Ο΄+
Class Exclusion: Falsche Klassifikationen liegen unterhalb des Schwellwertes Ο΄Uncertainty: Muster, die nur in Konfliktbereichen liegen, haben niedrige
Klassenwahrscheinlichkeiten οƒ  zusätzliche „don’t know“- Antwort möglich
3.1.4 Die Parameter Ο΄+ und Ο΄Die beiden manuell zu bestimmenden Parameter geben die Schwellwerte der
Aktivierungsfunktionen vor. Zielsetzung des Algorithmus ist, dass es für jedes
Beispiel des ursprünglichen Trainingsdatensatzes einen Prototypen5 derselben
Klasse gibt, für den die errechnete Wahrscheinlichkeit größer als Ο΄+ ist und zugleich
die Wahrscheinlichkeiten für alle Prototypen konkurrierender Klassen maximal Ο΄beträgt.
Bild 6: Ο΄+ und Ο΄-
Berthold und Diamond zeigen in ihrer Ausarbeitung den Zusammenhang zwischen
den Parametern und der Netzstruktur6. Generell gilt es zwei Aussagen festzuhalten:
Ein großer Abstand von Ο΄+ und Ο΄- kann zu einer deutlichen Vergrößerung der
Anzahl an benötigten Neuronen im Pattern Layer führen, ein niedriger Abstand der
beiden Parameter führt dagegen zu einem größeren Einfluss auf das Endergebnis, in
welcher Reihenfolge die Trainingsdaten eingeführt werden. Als Ausgangswerte
werden Ο΄+=0,4 und Ο΄-=0,2 empfohlen.
5
6
Ein Neuron im Pattern Layer des PNNs
Berthold, Diamond: Constructive Training of PNNs, S. 176
9
Error! Use the Home tab to apply Überschrift 1 to the text that you want to
appear here.
3.1.5 Funktionsweise des Algorithmus
Im folgenden Ablauf steht π‘π‘˜π‘– für einen Prototypen k aus der Klasse i mit der
zugehörigen Gewichtung π΄π‘–π‘˜ , dem zentralen Vektor µ
βƒ—βƒ—π‘–π‘˜ und der Standardabweichung
πœŽπ‘˜π‘– . 7
Tabelle 2: Der Dynamic Decay Adjustment Algorithmus
-
Setze die Gewichtungen π΄π‘–π‘˜ aller
Prototypen zurück auf 0. (3.1)
-
Alle Trainingsmuster werden dem
Netzwerk zugeführt. (3.2)
-
Falls ein Muster korrekt klassifiziert wird,
(3.3)
-
wird die Gewichtung des größten
Prototypens um 1 erhöht (3.4).
-
Ansonsten wird ein neuer Prototyp
eingeführt (3.5)
-
mit dem neuen Muster als Zentrum (3.6)
-
-
und einer Gewichtung von 1. (3.7)
Die Standardabweichung σ für die lokale
Gaußkurve wird so groß wie möglich
gewählt, ohne einen bereits
bestehenden Prototypen einer anderen
Klasse falsch zu klassifizieren. (3.8)
Im letzten Schritt wird σ für alle
Prototypen konkurrierender Klassen
reduziert, falls ihre Aktivierung für dieses
Muster zu hoch ist. (3.9)
// Gewichtungen zurücksetzen
FORALL Prototypen π‘π‘˜π‘– DO
(3.1)
π΄π‘–π‘˜ = 0
ENDFOR
// Kompletter Durchlauf
FORALL Trainingsmuster (π‘₯βƒ—, 𝑖 ) DO:
IF ∃π‘π‘˜π‘– ∢ π‘π‘˜π‘– (π‘₯βƒ—) ≥ πœƒ + THEN
π΄π‘–π‘˜ += 1
(3.4)
ELSE
// neuen Prototypen einführen
(3.5)
𝑛𝑖 += 1
πœ‡βƒ—π‘›π‘– 𝑖 = π‘₯βƒ—
𝐴𝑖𝑛 𝑖 = 1
πœŽπ‘›π‘– 𝑖 = min {√−
𝑗≠𝑖
1≤𝑙≤𝑛𝑗
(3.6)
(3.7)
(3.8)
2
𝑗
⃗⃗𝑙 − µ
⃗⃗𝑖𝑛 𝑖 β€–
β€–πœ‡
π‘™π‘›πœƒ−
}
ENDIF
// in Konflikt stehende Prototypen
// anpassen
FORALL 𝑗 ≠ 𝑖; 1 ≤ 𝑙 ≤ 𝑛𝑗 DO
𝑗
πœŽπ‘™
(3.2)
(3.3)
(3.9)
𝑗 2
=
⃗⃗𝑙 β€–
β€–π‘₯βƒ—−πœ‡
𝑗
min {πœŽπ‘™ , √−
π‘™π‘›πœƒ−
}
ENDFOR
7
Berthold, Diamond: Constructive Training of PNNs, S. 174f.
10
Error! Use the Home tab to apply Überschrift 1 to the text that you want to
appear here.
3.1.6 Klassifizierung
Aufgrund der Einführung lokaler Parameter für jeden Datensatz im Pattern Layer ist
auch eine Anpassung der in 2.3.1 vorgestellten Formel notwendig. Die Berechnung
des Abstandes jedes einzelnen Elementes der Trainingsmenge erfolgt nun über die
folgende Formel:
π‘”π‘˜π‘– (π‘₯βƒ—) =
βƒ—βƒ—−π‘₯
βƒ—βƒ—π‘–π‘˜ β€–²
β€–π‘₯
2
2(σπ‘–π‘˜ )
−
1
𝑝
(2πœ‹)𝑝/2 (σπ‘–π‘˜ )
𝑒
(3.10)
Zur Bestimmung der relativen Gewichtung eines Prototypens innerhalb seiner Klasse
ist es notwendig, die im DDA-Algorithmus berechneten absoluten Gewichtungen ins
Verhältnis zu setzen. Dabei gilt, dass die Summe über allen Gewichtungen einer
Klasse gleich 1 ergibt.
πœ‹π‘˜π‘–
=
π΄π‘–π‘˜
𝑛𝑖
∑𝑗=1
𝐴𝑖𝑗
𝑛𝑖
; ∑π‘˜=1
πœ‹π‘˜π‘– = 1
(3.11)
Fügt man nun das Ergebnis der Formeln 3.10 und 3.11 zusammen, so ergibt sich für
einen zu klassifizierenden neuen Datensatz x folgende Gleichung:
𝑛
𝑖
𝑔𝑖 (π‘₯βƒ—) = ∑π‘˜=1
πœ‹π‘˜π‘– π‘”π‘˜π‘– (π‘₯βƒ—)
(3.12)
3.2 Der Workflow-Aufbau
In KNIME werden die einzelnen Arbeitsschritte in Knoten realisiert. Der
Versuchsaufbau dieses Projektes bestand aus 5 verschiedenen Knoten. Der File
Reader war dafür zuständig, die Daten aus der Eingabedatei in den Workflow
einzulesen. Dabei kann er so konfiguriert werden, dass er die Daten in vielen
verschiedenen Formaten (z. B. ASCII-Datei, CSV-Datei) und aus verschiedenen
Quellen (z.B. URL oder lokale Dateien) beziehen kann. So gelangen die Daten in
den Arbeitsbereich. Vom „File Reader“ aus gelangen die Daten in den Partitioner,
welcher dafür zuständig war, die Eingangsdaten in Trainings- und Testdaten
aufzuteilen. Dabei wurden die Klassenverteilungen beibehalten (Stratified Sampling).
Die Gewichtung lag auf 60% Trainings- und 40% Testdaten. Der Partitioner
verzweigte auf den PNN Learner sowie auf den PNN Predictor. Mit dem PNN
Learner wurde das Netz anhand der Trainingsdaten trainiert. Dieser arbeitete mit
dem DDA-Algorithmus. Außerdem bestand die Möglichkeit, Faktoren wie Ο΄(-) und
Ο΄(+) zu verfeinern und so optimal anzupassen. Der PNN Predictor diente als
Klassifikator. Mit den Trainingsdaten aus dem PNN Learner und den Testdaten aus
11
Error! Use the Home tab to apply Überschrift 1 to the text that you want to
appear here.
dem Partitioner sagte der Predictor die Daten vorher. Anschließend wurden die
Resultate sowie die Regeln zur weiteren Analyse über einen Writer im CSV-Format
ausgegeben.
Bild 7: KNIME Workflow
12
Error! Use the Home tab to apply Überschrift 1 to the text that you want to
appear here.
4 Testdaten
4.1 Datensätze
Bei der Auswahl der Testdatensätze wurde von Beginn an darauf geachtet, dass
diese lückenlos waren und zum Hauptteil aus numerischen Datensätzen bestanden.
Die Bezugsquellen der Testdaten waren:
-
Schwertlilien Demonstrationsdaten der Weka8-Software
Gehaltsdaten des Dartmouth Hitchcock Medical Center, USA
Kreditscoringdaten des Instituts für Statistik, Universität München
Data-Mining Cup9 2007 Daten
4.2 Klassifizierung von Schwertlilien
Wie eingangs in Abschnitt 4.1 kurz beschrieben handelt es sich bei diesen
Datensätze um Weka Demonstrationsdaten. Die vier vorhandenen Attribute setzten
sich aus spezifischen Abmaßen von Schwertlilienblüten zusammen. Diese sollen
genutzt werden um drei unterschiedliche Schwertlilienarten vorherzusagen.
Diese Daten waren für eine PNN-Klassifikation sehr gut geeignet, da es sich bei den
vier vorhandenen Attributen um rein numerische Eigenschaften handelt. Ebenfalls
war der Datenumfang von 150 Datensätzen optimal10, da bei Benutzung
umfangreicher Daten mit einem PNN doch erheblicher Zeit- und Speicherbedarf
vorhanden sein sollte.
Diese Daten enthielten keine expliziten Datensätze zum Lernen, somit mussten
selbst repräsentative Trainingsdaten bestimmt werden. Durch den Einsatz von
KNIME wurde diese Datenauswahl durch den Knoten PNN Learner (DDA)
übernommen.
4.3 Gehalt-Daten
Die Gehalt-Datenerfassung wurden in einer Umfrage des Dartmouth Hitchcock
Medical Center im Jahr 1985 durchgeführt. Dazu wurden 534 zufällig ausgewählte
Personen befragt. Dabei wurden 11 Attribute die sich auf die Person beziehen, wie
zum Beispiel Geschlecht, Familienstand, Tätigkeit und ethnische Herkunft, abgefragt.
Diese Attribute sollen dann zur Vorhersage der Gehaltsgruppe genutzt werden. Auch
in diesem Datensatz standen keine expliziten Trainingsdaten zur Verfügung, somit
wurde wie bei der Schwertlilienklassifikation verfahren.
8
Software-Tool und KNIME-Erweiterung für Techniken aus dem Bereich maschinelles Lernen und
Data Mining
9 jährlicher Data-Mining Wettkampf, veranstaltet von der Prudsys AG
10 Höherdimensionale Daten benötigen allerdings deutlich mehr Datensätze zum Training des Netzes
13
Error! Use the Home tab to apply Überschrift 1 to the text that you want to
appear here.
4.4 Kreditscoring
Die Daten zur Klassifizierung von Kreditnehmern wurden stichprobenartig von einer
süddeutschen Großbank zur Verfügung gestellt. Dabei enthalten die Daten
hauptsächlich ordinale und nominale Merkmale der einzelnen Kreditnehmer. Die
Daten setzten sich aus persönlichen, wirtschaftlichen und rechtlichen Merkmalen
zusammen. Insgesamt bestehen die Daten aus 600 Trainingsdaten und 400
Klassifikationsdaten, die sich jeweils weiter in 21 Attributen unterteilen. Die Daten
sind lückenlos und sollen zur Vorhersage der Kreditwürdigkeit oder
Kreditunwürdigkeit genutzt werden.
4.5 Daten des Data-Mining Cup 2007
Bei den Daten des Data-Mining Cup 2007 handelt es sich um Coupon Rabattdaten.
Ein Satz der Datenmenge besteht aus 20 Attributen, die alle binär codiert sind. Die
Gesamtdatenmenge besteht aus zwei unterschiedlichen Dateiensätzen, die sich in
20000 Daten zur Vorhersage und 30000 Trainingsdaten aufteilen. Ziel der
Klassifikation ist es, für jede Person den optimalen Coupon vorherzusagen. Auf
Grund des großen Datenumfangs wurden zuerst Tests mit den drei Datensätzen aus
4.2, 4.3 und 4.4 durchgeführt um die die Konfigurationsmöglichkeiten der PNN
Knoten in KNIME zu testen, damit der zeitliche Aufwand für die doch nicht
unerhebliche Datenmenge so gering wie möglich gehalten wurde.
4.6 Vorverarbeitung
Anfangs sollte geprüft werden, dass alle Datensätze die richtigen Daten enthalten.
So sollten fehlende Werte aufgefüllt werden. Um Datensätze mit dem PNN-Verfahren
auswerten zu können sind ausschließlich numerische Werte nötig. So war der
nächste Schritt der Vorverarbeitung alle nicht-numerischen Werte in den
numerischen Wertebereich zu transformieren. Anschließend wurden alle Werte auf
das Intervall 0…1 normalisiert (Gleichgewichtung). Eine Individuelle Gewichtung ist
ebenfalls möglich.
Nachdem alle Daten normalisiert wurden ist die Vorverarbeitung abgeschlossen. Nun
konnten die Datensätze im PNN-Verfahren verwendet werden. Die Vorverarbeitung
erfolgte mit Microsoft Excel – die Daten selbst wurden in ein CSV-Format überführt
und an KNIME übergeben.
14
Error! Use the Home tab to apply Überschrift 1 to the text that you want to
appear here.
5 Auswertung
Nachdem die Vorverarbeitung aller Daten der einzelnen Datensätze abgeschlossen
waren, wurden die Daten klassifiziert. Dazu wurden mehrere Verfahren verwendet
um alle wichtigen Algorithmen mit PNN vergleichen zu können. Dazu zählen der
C4.5-Entscheidungsbaum, das Multi Layer Perceptron (MLP), sowie das k Nearest
Neighbour (kNN) Verfahren.
Tabelle 3: Auswertung der Testdaten
Die Tabelle zeigt die einzelnen Datensätze, die Anzahl der Trainings- und Testdaten,
die Fehlerraten der einzelnen Verfahren in Prozent, die gewählten Werte für Ο΄-/Ο΄+
im DDA-Lernalgorithmus, die Anzahl der Regeln, sowie die Reduzierung der
Netzgröße von PNN(DDA) im Vergleich zu klassischen PNNs. Die fett gedruckten
Fehlerraten sind die für diesen Datensatz kleinsten. Auffällig dabei ist, das PNN und
MLP ähnlich gute Ergebnisse liefern.
In der Regel haben Ο΄-/Ο΄+, einen geringeren Einfluss auf die Klassifizierung, dafür
jedoch einen großer Einfluss auf die Netzgröße. Eine Ausnahme hierbei war das
Kreditscoring. Hier hatten die Parameter Ο΄-/Ο΄+ einen sehr großen Einfluss auf die
Klassifizierung – so konnte die Fehlerrate von gut 20 Prozent auf unter 1 Prozent
reduziert werden.
Abschließend bleibt anzumerken, dass es für keinen Datensatz ein spezielles
Verfahren gibt. Zum Vergleich sollten immer mehrerer Verfahren getestet werden.
15
Abkürzungsverzeichnis
I.
Abkürzungsverzeichnis
DDA
KNIME
kNN
MLP
PNN
RBF
WEKA
Dynamic Decay Algorithmus
Konstanz Information Miner
k Nearest Neighbour
Multi Layer Perceptron
Probablistic Neural Network
Radial Basis function
Waikato Environment for Knowledge Analysis
16
Literaturverzeichnis
II.
Literaturverzeichnis
[1] D. F. Specht, „Probabilistic Neural Networks,“ Neural Networks, Vol. 3, pp. 109118, 1990.
[2] M. R. D. J. Berthold, „Constructive Training of Probabilistic Neural Networks,“
Karlsruhe, 1997.
17
Abbildungsverzeichnis
III.
Abbildungsverzeichnis
Bild 1: Aufbau eines PNNs ......................................................................................... 5
Bild 2: Niedriger Wert für σ ......................................................................................... 7
Bild 3: Hoher Wert für σ .............................................................................................. 7
Bild 4: Noch höherer Wert für σ .................................................................................. 7
Bild 5: Jackknifing ....................................................................................................... 7
Bild 6: Ο΄+ und Ο΄- ........................................................................................................ 9
Bild 7: KNIME Workflow............................................................................................ 12
18
Tabellenverzeichnis
IV.
Tabellenverzeichnis
Tabelle 1: Symbole Formeln PNN .............................................................................. 6
Tabelle 2: Der Dynamic Decay Adjustment Algorithmus .......................................... 10
Tabelle 3: Auswertung der Testdaten ....................................................................... 15
19
Herunterladen