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