Wismar Business School

Slides:



Advertisements
Ähnliche Präsentationen
Perceptrons and the perceptron learning rule
Advertisements

Anzahl der ausgefüllten und eingesandten Fragebögen: 211
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
4. Konzepte des Konnektionismus – Theorie Künstlich Neuronaler Netze
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Wismar Business School
WS Prof. Dr. Th. Ottmann Algorithmentheorie 09 - Suche in Texten KMP, BM.
Die vorgeschlagene adaptive Methode filtriert die TCP/IP Verkehr auf der Basis von dem adaptiven Lernen einer KNN mit Paketen-Headers, die verschiedenen.
Modelle und Methoden der Linearen und Nichtlinearen Optimierung (Ausgewählte Methoden und Fallstudien) U N I V E R S I T Ä T H A M B U R G November 2011.
Marvin Minsky und das Perceptron
Neuronale Netze Von Kay-Patrick Wittbold.
Konkurrentes Lernen AS-1
Einführung Übersicht Einsatz der Zielwertsuche Einsatz des Solvers
Sortierverfahren Richard Göbel.
Sortierverfahren Richard Göbel.
Neuronale Netze Inhalt des Vortrags:
Algorithmentheorie 04 –Hashing
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
WS Algorithmentheorie 05 - Treaps Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (21 – Kürzeste Wege) T. Lauer.
Geometrisches Divide and Conquer
Kapitel 6 Differenzierbarkeit. Kapitel 6: Differenzierbarkeit © Beutelspacher Juni 2005 Seite 2 Inhalt 6.1 Die Definition 6.2 Die Eigenschaften 6.3 Extremwerte.
Rechneraufbau & Rechnerstrukturen, Folie 2.1 © W. Oberschelp, G. Vossen W. Oberschelp G. Vossen Kapitel 2.
© 2006 W. Oberschelp, G. Vossen Rechneraufbau & Rechnerstrukturen, Folie 2.1.
Berechnen Sie den Output Vektor wenn der Input Vektor (1,1,-1,-1) ist.
Vorlesung: 1 Betriebliche Informationssysteme 2003 Prof. Dr. G. Hellberg Studiengang Informatik FHDW Vorlesung: Betriebliche Informationssysteme Teil2.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PG 520 Intelligence Service – gezielte Informationen aus dem Internet
AC Analyse.
Differentielles Paar UIN rds gm UIN
Datenstrom (Propagation) Fehlerstrom (Backpropagation)
zur Vorlesung Neuronale Netzwerke
PowerPoint-Folien zur 8. Vorlesung „Bionik II / Biosensorik“
Neuronale Netze Romy Kuttner, Franco Haberland.
Weiteres Programm Studium des Breitendurchlaufs Hierzu
Einführung in die Programmierung Datensammlung
Wismar Business School
Kennlinie Lichtregelung in JavaNNS Version 1.1
Prof. Dr. Bernhard Wasmayr VWL 2. Semester
Neuronale Netzwerke am Beispiel eines MLP
Neuronale Netze (Mitchell Kap. 4)
Neuronale Netze 2 (Mitchell Kap. 4)
Maschinelles Lernen und automatische Textklassifikation
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
Neuronale Netze Teil II.
1 Fachtagung am Seniorenorientiertes Design und Marketing ThyssenKrupp Immobilien Design for all - Anpassungen im Wohnungsbestand 1.Demographie.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Why connectionism? Backpropagation Netzwerke
Adaptive Systeme-2 Grundlagen
Lernen und Klassifizieren AS2-2
Polynome und schnelle Fourier-Transformation
Neuronale Netze.
Neuronale Netze Nachtrag Perzeptron
Animation von Dijkstra
Praktische Optimierung

IK Ökonomische Entscheidungen und Märkte
Ertragsteuern, 5. Auflage Christiana Djanani, Gernot Brähler, Christian Lösel, Andreas Krenzin © UVK Verlagsgesellschaft mbH, Konstanz und München 2012.
MINDREADER Ein magisch - interaktives Erlebnis mit ENZO PAOLO
Schutzvermerk nach DIN 34 beachten 20/05/14 Seite 1 Grundlagen XSoft Lösung :Logische Grundschaltung IEC-Grundlagen und logische Verknüpfungen.
Folie Beispiel für eine Einzelauswertung der Gemeindedaten (fiktive Daten)
Klassifikation und Regression mittels neuronaler Netze
1 Mathematical Programming Nichtlineare Programmierung.
Datum:17. Dezember 2014 Thema:IFRS Update zum Jahresende – die Neuerungen im Überblick Referent:Eberhard Grötzner, EMA ® Anlass:12. Arbeitskreis Internationale.
Monatsbericht Ausgleichsenergiemarkt Gas – Oktober
Organisation Referate Materialien Dritter Termin Workshop 27.Oktober 2010 Projektseminar WS 09/10 Konnektionistische Sprachverarbeitung 1.
Spärliche Kodierung von Videos natürlicher Szenen Vortragender: Christian Fischer.
 Präsentation transkript:

Wismar Business School Wissensextraktion mittels künstlicher neuronaler Netze Vorwärts gerichtete NN Uwe Lämmel www.wi.hs-wismar.de/~laemmel Uwe.Laemmel@hs-wismar.de

Inhalt Künstliche Neuronale Netze: Idee und Umsetzung Vorwärts gerichtete neuronale Netze Perzeptron Backpropagation–Netz Partiell rückgekoppelte Netze Einsatz Mustererkennung Data Mining Prognose Datenvorverarbeitung Optimierung Wettbewerbslernen Zusammenfassung

Adaline – LTU – Perzeptron Eine trainierbare Verbindungsschicht Adaptive linear element Linear Threshold Unit Perzeptron ...

Perzeption Abbildungsschicht Bild Feste 1-1- Verbindungen trainierbare vollständige Verbindung Ausgabe-schicht Perzeption Wahrnehmung als erste Stufe der Erkenntnis in der Psychologie der Vorgang der (sinnl.) Wahrnehmung eines Gegenstandes ohne bewusstes Erfassen und Identifizieren des Wahrgenommenen Meyers Neues Lexikon

Perzeptron s.a. Minsky,Papert: Perceptrons,1969 entwickelt von Rosenblatt (um 1960) Bild: binäre Eingaben, werden weitergereicht, keine trainierbaren Verbindungen Abbildungsschicht = Eingabeschicht Propagierungsfunktion netj =  oiwij Aktivierungsfunktion Ausgabefunktion = Identität, somit: oj = aj = 1 falls netj  j , 0 sonst Lernen: Das Perzeptron kann in endlicher Zeit alles lernen, was es repräsentieren kann. (perceptron convergence theorem, F. Rosenblatt)

Lineare Trennbarkeit Das Neuron j soll 0 liefern, falls beide Neuronen 1und 2 gleiche Werte liefern(o1=o2), ansonsten 1: netj = o1w1j + o2w2j 0 w1j + 0w2j < j 0 w1j + 1w2j  j 1 w1j + 0w2j  j 1 w1j + 1w2j < j j 1 2 ?

Lineare Trennbarkeit  Gerade im 2-dim. Raum 1 (1,1) (0,0) o1 o2 o1*w1 +o2*w2=q netj = o1w1j + o2w2j  Gerade im 2-dim. Raum Gerade teilt Ebene so, dass (0,1) und (1,0) stets in unterschiedlichen Teilebenen liegen. Netz kann die geforderte Aufgabe nicht lösen:  Ein Neuronales Netz zur Realisierung der XOR-Funktion benötigt weitere, verdeckte Zellen. Ein Perzeptron kann nur sehr wenige Funktionen repräsentieren.

Lernverfahren Wiederhole bis gewünschtes Verhalten erreicht while Eingabemuster do begin nächstes Eingabemuster I und berechne Ausgabemuster O for each j in AusgabeNeuronen do if ojtj then if oj=0 then {Ausgabe=0, aber 1 erwartet} for each i in EingabeNeuron do wij:=wij+oi else if oj=1 then {Ausgabe=1, aber 0 erwartet} for each i in EingabeNeuron do wij:=wij-oi ; end Wiederhole bis gewünschtes Verhalten erreicht

Mustererkennung Dekodierung Eingabe: Binärcode einer Ziffer Ausgabe: Unärcode: soviel Einsen, wie Ziffer angibt 5 : 1 1 1 1 1 Architektur:

Mustererkennung - Klassifikation Dekodierung Eingabe: Binärcode einer Ziffer Ausgabe: Zuordnung zu einer Klasse: 0~ 1.Neuron, 1~ 2. Neuron, ... 5~ 6. Neuron, ... Architektur:

Aufgaben Machen Sie sich mit der EXCEL-Lösung des Problems vertraut. Implementieren Sie (in PASCAL/Java) ein 4-10-Perzeptron zum umwandeln von Binärzahlen (0..9) in eine Dezimalzahl. Implementieren Sie den Lernalgorithmus und trainieren Sie das Netz. Welche Modifizierung muss der Lernalgorithmus erfahren, damit ein Lerneffekt eintritt? Welche Ausgabe (Unäre Darstellung oder Klassifikation) lässt sich schneller lernen?

Aufgaben Entwickeln Sie ein Perzeptron zur Erkennung von Ziffern 0..9. Eingabe-Schicht: 3x7-Eingabe-Neuronen Nutzen Sie den SNNS oder JavaNNS Wie können mehrstellige Zahlen erkannt werden? Entwickeln Sie ein Perzeptron zur Erkennung von Großbuchstaben. Eingabeschicht 5x7

Mehrstufiges Perzeptron Hebt Beschränkungen des einfachen Perzeptrons auf mehrere trainierbare Schichten Zweistufige Perzeptrons können konvexe Polygone klassifizieren. Dreistufige Perzeptrons können beliebige Mengen erkennen (durch Überlagerung konvexer Polygone). Mehrstufiges Perzeptron (multi layer percetron) = vorwärts gerichtetes Netz = Backpropagation – Netz

Inhalt Künstliche Neuronale Netze: Idee und Umsetzung Vorwärts gerichtete neuronale Netze Perzeptron Backpropagation–Netz Partiell rückgekoppelte Netze Einsatz Wettbewerbslernen Zusammenfassung

Backpropagation – Netze

Vorwärts gerichtetes Netz

Berechnung einer Ausgabe Ni Nj Nk netj netk Oj=actj Ok=actk Trainings-muster p Oi=pi Eingabe-Schicht verdeckte Schicht(en) Ausgabe-Schicht

Backpropagation – Lernverfahren Form des überwachten Lernens Fehler des Netzes über alle Trainingsmuster in Abhängigkeit der Gewichte wi : E(W) = E(w1,w2, ... , wn) Gesucht ist minimaler Fehler minimaler Fehler = Tal der Fehlerkurve(-fläche) Backpropagation ist ein Gradientenabstiegsverfahren

Fehlerkurve

Problem Eingabe- Schicht Ausgabe Trainings-ausgabe verdeckte Schicht Fehler in Ausgabeschicht = Differenz Ausgabe – Trainingsausgabe Fehler in verdeckter Schicht?

Ansatz: Gradientenabstieg Vektor orthogonal zu einer Fläche in Richtung des stärksten Anstiegs Ableitung einer Funktion: Projektion des Gradienten auf diese Richtung möglicher Fehlerverlauf eines Gewichtes wi

Beispiel Newton-Verfahren x x‘  f(x)= x²-a tan  = f‘(x) = 2x tan  = f(x) / (x-x‘)  x‘ =½(x + a/x) Näherungsrechnung zur Bestimmung der Wurzel einer Zahl f(x) = x² – 5 x = 2 x‘ = ½(x + 5/x) = 2.25 X“= ½(x‘ + 5/x‘) = 2.2361

Die Mathematik Hier: Änderung der Gewichte um einen Bruchteil des negativen Gradienten: W = – E(W) E(W) ist dabei der Gradient  der Proportionalitätsfaktor* zum Gewichtsvektor W, der Lernfaktor -1 -0,6 -0,2 0,2 0,6 1 * Lernfaktor:  im Buch,  im JavaNNS

Die Mathematik Hier: Änderung der Gewichte um einen Bruchteil des negativen Gradienten: W‘ = – E(W) E(W): Gradient Proportionalitätsfaktor zum Gewichtsvektor W, : der Lernfaktor  E(Wj) = E(w1j,w2j, ..., wnj)

Die Fehlerfunktion Veränderung eines Gewichtes: (1) Fehlerfunktion quadratische Abstand zwischen realer und erwarteter Ausgabe über alle Muster p: tj - Lerneingabe (teaching input) oj - tatsächliche Ausgabe hier Fehler für EIN Muster (ohne Muster-Index p): (2)

Backpropagation – Regel Verallgemeinerung der Delta–Regel: mehrstufige Netze semilineare Aktivierungsfunktionen (monoton, differenzierbar, z.B. logistische Funktion) Problem: keine Trainingsvorgaben für die Ausgabe der Neuronen der inneren Schichten

Backpropagation–Lernregel Ausgangspunkt: (6.1) Zusammenhang: (6.2) fout = Id 6.1 konkreter: (6.3)

Der 3. und 2. Faktor dritter Faktor: Abhängigkeit Netzeingabe – Verbindungsgewichte (6.4) zweite Faktor: erste Ableitung der Aktivierungsfunktion: (6.5) (6.7)

Der 1. Faktor erster Faktor: Abhängigkeit Fehler – Ausgabe Fehlersignal Ausgabe-Neuron j: (6.8) (6.9) Fehlersignal inneres Neuron j: (6.10) j : Fehlersignal

Das Fehlersignal  j = f’act(netj)·(tj – oj) (6.11) j = f’act(netj)·(tj – oj) Ausgabe-Neuron j: (6.12) j = f’act(netj) · kwjk inneres Neuron j:

Standard–Backpropagation–Regel Für die logistische Aktivierungsfunktion gilt: f ´act(netj ) = fact(netj )(1 – fact(netj )) = oj (1 –oj) damit: somit:

Fehlersignal bei fact = tanh Für die Aktivierungsfunktion tanh erhält man: f´act(netj ) = (1 – f ²act(netj )) = (1 – tanh² oj ) damit:

Entwicklung neuronaler Netze Ausgabe des Netzes berechnen Vergleich mit Trainings-ausgabe Testdaten anlegen Ausgabe berechnen Netzfehler durch Vergleich mit erwarteter Ausgabe ermitteln Netzparameter ändern Gewichte anpassen Trainingsmuster anlegen Netzarchitektur aufbauen gewünschte Qualität erreicht Fehler zu hoch gewünschte Qualität erreicht

Entwicklung neuronaler Netze Fehler zu hoch Fehler zu groß gewünschte Qualität erreicht Ausgabe des Netzes berechnen Vergleich mit Trainingsausgabe Test-Daten anlegen Ausgabe des Netzes berechnen Gewichte anpassen Trainingsmuster anlegen Netzparameter ändern Netzarchitektur aufbauen Vergleich mit erwarteter Ausgabe Einsatzfähiges NN gewünschte Qualität erreicht

Backpropagation – Probleme A: Flaches Plateau Backpropagation stagniert auf Plateauflächen Minima wird nicht (spät) gefunden B: Oszillation in steilen Schluchten Durch Schrittweite wird stets über Minimum gesprungen C: Verlassen guter Minima Durch Schrittweite wird das Minimum übersprungen

Lösungsmöglichkeit – Wertebereich Wahl des Dynamikbereiches der logistischen Aktivierungsfunktion Gewichtsänderung ist abhängig von Ausgabe; Bei oi=0 wird keine Änderung wirksam. binäre Eingabe [0..1]  häufig Null ändern in z.B. [-½ .. ½] Aktivierungsfunktion tanh wählen  Bereich [ –1..1]

Lösungsmöglichkeit: Manhattan – Training Betrag des Fehlers spielt keine Rolle Nur das Vorzeichen betrachten entspricht einer Normierung der Werte:

Lösungsmöglichkeit: Quickprop Annahme, dass Fehlerfunktion quadratisch ist; Sprung direkt in den Scheitelpunkt der Kurve; S: Steigung der Fehlerfunktion:

Resilient Propagation (RPROP) Richtung und Betrag der Gewichtsänderung werden getrennt festgelegt: bij(t) – Betrag der Änderung  bij(t-1) + falls S(t-1)S(t) > 0 bij(t) =  bij(t-1) - falls S(t-1)S(t) < 0  bij(t-1) sonst +>1 : beide Anstiege gleich  „großen“ Schritt 0<-<1 : Anstiege verschieden „kleineren“ Schritt  -bij(t) falls S(t-1)>0  S(t) > 0 wij(t) =  bij(t) falls S(t-1)<0  S(t) < 0  -wij(t-1) falls S(t-1)S(t) < 0 (*)  -sgn(S(t))bij(t) sonst (*) S(t):=0 gesetzt; damit tritt im Schritt (t+1) der vierte Fall ein. +, - : Parameter der Lernfunktion

Grenzen des Lernverfahrens kein Modell für das biologische Lernen: richtige Antworten im Lernprozess natürlicher neuronaler Netze nicht gegeben; es gibt keine bisher bekannten Rückkopplungen, die Fehler im Netz rückwärts leiten können; Trainingszeiten vergleichsweise sehr hoch

Inhalt Künstliche Neuronale Netze: Idee und Umsetzung Vorwärts gerichtete neuronale Netze Perzeptron Backpropagation–Netz Partiell rückgekoppelte Netze Einsatz Wettbewerbslernen Zusammenfassung

Aufgaben Implementieren Sie ein vorwärts gerichtetes Netz mit 2 Eingabe- und einem Ausgabe–Neuron, welches eine verdeckte Schicht aus zwei Neuronen besitzt. Trainieren Sie das Netz, so dass es die XOR–Funktion realisiert. Nutzen Sie den JavaNNS Implementieren Sie ein 4-2-4-Netz, welches die identische Funktion realisiert. (Encoder–Decoder–Netzwerk). Probieren Sie auch andere Varianten: 4-3-4, 8-4-8, ... Welche Aussagen über das Lernverhalten lassen sich treffen?

Partiell rekurrente Netze – Motivation Vorwärts gerichtete Netze: ein und dasselbe Eingabemuster  stets dieselbe Ausgabe unabhängig vom Kontext  schlecht z.B. für Prognose von Zeitreihen. Problem: Repräsentation von Zeit

Repräsentation von Zeit in vorwärts gerichteten Netzen: “sliding window”: n Muster (Teilfolge) gleichzeitig als Eingabe anlegen aber: Netztopologie  feste Größe des Eingabefenster gleiche Teilfolgen produzieren dieselbe Ausgabe unabhängig vom Kontext

Lösung: partielle rekurrente Netze enthalten spezielle verdeckte Zellen Kontextzellen: definierte Rückkopplung von Ausgabe- oder verdeckten Zellen in die innere Schicht

Jordan-Netze Ausgabezellen 1:1-Verbindungen mit Gewicht  (=1) verdeckte Zellen Eingabezellen Kontextzellen mit direkter Rückkopplung  1:1-Verbindungen mit Gewicht  (=1)

Jordan–Netze Anzahl Kontextzellen = Anzahl Ausgabezellen Kontextzellen speichern Ausgabezustand feste Verbindungen zu Kontextzellen, feste direkte Rückkopplungen Nachteilig: Anzahl Kontextzellen durch Ausgabe fixiert, keine Zustände der inneren Schicht speicherbar

Jordan–Netz: „Erinnerung“ S(t) - zeitabhängiger Zustandsvektor O(t) – Ausgabe mit der Vereinfachung S(0) = Nullvektor und =1 ergibt sich: 0   1 steuert Erinnerungsvermögen nahe 1: alte Zustände stärker berücksichtigt, das Netz ist träge; Kompromiss:  = 0.5

Elman–Netze Ausgabezellen 1:1-Verbindungen mit Gewicht 1 verdeckte Kontextzellen Eingabezellen

Elman–Netze Modifikation der Jordan –Netze Rückkopplung von verdeckter zur Kontextschicht (normalerweise) keine direkten Rückkopplungen Zustand Kontextzellen = Kopie Ausgabe verdeckter Zellen verdeckte Zellen entwickeln interne Repräsentation der Eingabemuster   Zeit codiert Vorteil gegenüber Jordan–Netze: Anzahl Kontextzellen unabhängig von Anzahl Ausgabeneuronen

Lernverfahren für rekurrente Netze Backpropagation, Quickprop, ... anwendbar, da rekurrenten Verbindungen feste Gewichte besitzen : Elman/Jordan-Netze als reine feed-forward Netze betrachtet, Kontextzellen als Eingabezellen betrachten

Beispiel Netz soll aus vorangegangenen Punktkoordinaten die Koordinaten des nächsten Punktes ermitteln, so dass die Verbindung dieser Punkte eine liegende Acht  ergeben. Aufgabe Trainieren Sie die beiden Netze eight_jordan_untrained sowie eight_elman_untrained mit dem entsprechenden Musterfile eight_016.pat Lesen Sie die Readme-Dateien für diese Beispiele. Veranschaulichen Sie sich das Ergebnis mit dem ANALYSER-Tool. Setzen Sie dazu im Setup die Werte für axis,min,max,uni,grid auf die Werte x: (0.0, 1.0, 11, 10) sowie y: (0.0, 1.0, 12, 10)

SNNS: Beispiel Elman

Inhalt Künstliche Neuronale Netze: Idee und Umsetzung Vorwärts gerichtete neuronale Netze Einsatz Mustererkennung Data Mining Prognose Datenvorverarbeitung Optimierung Wettbewerbslernen Zusammenfassung

Entwicklung neuronaler Netze Ausgabe des Netzes berechnen Vergleich mit Trainings-ausgabe Testdaten anlegen Ausgabe berechnen Netzfehler durch Vergleich mit erwarteter Ausgabe ermitteln Netzparameter ändern Gewichte anpassen Trainingsmuster anlegen Netzarchitektur aufbauen gewünschte Qualität erreicht Fehler zu hoch gewünschte Qualität erreicht

Zeichenerkennnung Zeichenerkennung mit vorwärts gerichteten Netzen und dem Lernverfahren Backpropagation

SNNS: Das Beispiel „font“

Das Beispiel „font“ Eingabe ist ein 24x24 Pixelfeld Zwei innere Schichten mit jeweils 4x6 Neuronen; Ausgabeschicht mit 75 Neuronen, für jedes Zeichen (Ziffern, Klein- Großbuchstaben sowie einige Sonderzeichen) jeweils ein Neuron, welches erregt ist, wenn das entsprechende Zeichen als Eingabe anliegt. Alle Neuronen einer Zeile der Eingabeschicht sind mit einem Neuron der ersten inneren Schicht verbunden. Alle Neuron einer Spalte entsprechend mit einem Neuron der zweiten inneren Schicht.

Aufgabe Starten Sie mit dem Netz “font_untrained” Trainieren Sie es mit verschiedenen Lernverfahren: (Zu den Parametern siehe auch SNNS-Dokumentation) Backpropagation =2.0 Backpropagation  =0.8 mu=0.6 c=0.1 with momentum Quickprop  =0.1 mg=2.0 n=0.0001 Rprop  =0.6 Trainieren Sie das Netz mit unterschiedlichen Werten für die Lernrate, das Momentum und den Störfaktor (prozentuale Verrauschung): Lernrate 0.2 0.3 0.5 1.0 Momentum 0.9 0.7 0.5 0.0 Störfaktor 0.0 0.1 0.2

Erkennung KFZ–Kennzeichen

Inhalt Künstliche Neuronale Netze: Idee und Umsetzung Vorwärts gerichtete neuronale Netze Einsatz Mustererkennung Data Mining Prognose Datenvorverarbeitung Optimierung Wettbewerbslernen Zusammenfassung

Inhalt Künstliche Neuronale Netze: Idee und Umsetzung Vorwärts gerichtete neuronale Netze Einsatz Mustererkennung Data Mining Prognose Datenvorverarbeitung Optimierung Wettbewerbslernen Zusammenfassung

Prognose Aktienwerte (Diplomarbeit Werschmöller 2001) Energieverbrauch (Dachs GmbH Schwerin) Tagestemperatur (Bachelor-Arbeit, Kroll 2008) WDP-Heft 2009, www.wi.hs-wismar.de/wdp

Inhalt Künstliche Neuronale Netze: Idee und Umsetzung Vorwärts gerichtete neuronale Netze Einsatz Mustererkennung Data Mining Prognose Datenvorverarbeitung Optimierung Wettbewerbslernen Zusammenfassung

Pre-Processing Data Types Distance, Similarity, Error Why pre-processing? Cleaning Integration Transformation Reduction

Data Types Nominal: Ordinal: Metric: no ordering ordering exists no distance measure compare function: equal Example Attributes: colour occupation marital status nationality … Ordinal: ordering exists no distance measure compare functions: equal, less example attributes: shoe size marks (grades) scales like: bad, average, good … Metric: ordering exists distance measure exists example attributes: space speed height energy …

Distance – Similarity distance: dist(u,v) properties: dist(x,x) = 0 q similarity: sim(u,v) often expressed by distance: sim(u,v) = f(dist(u,v)) Distance – Similarity distance: dist(u,v) properties: dist(x,x) = 0 dist(x,y) = dist(y,x) dist(x,y) ≤ dist(x,z)+dist(z,y) q p distance function dist(u,v) = Example: Hamming = counti(ui≠vi) dist(p,q) = 2 Euclidian = i (ui²-vi ²) dist(p,q) = 5,83 Manhattan = i |ui -vi | dist(p,q) = 8 Maximum = maxi |ui -vi | dist(p,q) = 5

Objectives & Methods Objectives prospects of better results adaptation to algorithms data reduction trouble shooting Methods Cleaning Integration Transformation normalization coding filter Reduction

Selection and Integration unification of data (different sources) selection of attributes/features reduction omit obviously non-relevant data all values are equal key values meaning not relevant omit data for data protection reasons use a subset only (random selection) for efficiency reasons

Cleaning – missing value / noisy data ignore the tuple ignore / omit attribute add values manual global constant („unknown“) average highly probable value ignore: when class attribute is missing; poor if missing values per attribute varies considerably manual: time-consuming global constant: gives „wrong“ ideas to the algorithm: unknown as an interesting concept for clustering average: of all pattern or of all patterns of the same class probable value: determined by calsssification, e.g. decision tree Noisy data check for inconsistency finding outliers

Transformation Normalization Coding Filter

Normalization of values normalization – equally distributed in the range [0,1] e.g. for the logistic function x’ = (x – minValue) / (maxValue – minValue) in the range [-1,+1] e.g. for activation function tanh x’ = (x – minValue) / (maxValue – minValue)*2 – 1 logarithmic normalization x’= (ln(x) – ln(minValue)) / (ln(maxValue) – ln(minValue))

Binary Coding of nominal values I no order relation, n-values n neurons each neuron represents one and only one value: example: red, blue, yellow, white, black 1,0,0,0,0 0,1,0,0,0 0,0,1,0,0 ... disadvantage: n neurons necessary, but only one of them is activated  lots of zeros in the input

Binary Coding of nominal values II no order-relation, n values m neurons, of it k neurons switched on for one single value requirement: (m choose k)  n (m choose k): number of possibilities to choose k elements out of m. example: red, blue, yellow, white, black 1,1,0,0 1,0,1,0 1,0,0,1 0,1,1,0 0,1,0,1 4 neuron, 2 of it switched on, (4 choose 2) > 5 advantage: fewer neurons balanced ratio of 0 and 1

Example Credit Scoring A1: Credit history A2: debt A3: collateral A4: income neural network architecture depends on the coding of input and output neural networks need input values {0,1}, or {–1,1}, or [–1,+1] How can we code values like good, bad, 1, 2, 3, ...?

To play or not to play ... Suggest a coding for the values rainy, sunny, true, 81, 90, 70, ...

Inhalt Künstliche Neuronale Netze: Idee und Umsetzung Vorwärts gerichtete neuronale Netze Einsatz Mustererkennung Data Mining Prognose Datenvorverarbeitung Optimierung Wettbewerbslernen Zusammenfassung

Optimierung Neuronaler Netze Ziele Gute Ergebnisse im Einsatz: Erhöhung der Generalisierungsfähigkeit (Verbesserung der Korrektheit) Schnellere Bearbeitung der Muster (Verbesserung der Effizienz) Gute Darstellung der Ergebnisse (Erhöhung der Verständlichkeit)

Generalisierungsfähigkeit Fähigkeit des Netzes auch bisher unbekannte Eingaben richtig verarbeiten zu können Ziel jeder Netz-Entwicklung Netz zu groß: Alle Trainingsmuster exakt gelernt Keine Generalisierungsfähigkeit Netz zu klein: Regeln der Mustererkennung können nicht gelernt werden (Triviales Beispiel: Perzeptron und XOR)

Mögliche Veränderungen Architektur NN Netzgröße Abkürzende Verbindungen Partiell vernetzte Schichten Entfernen/Hinzufügen von Verbindungen Rezeptive Felder Genetische Algorithmen Ermittlung geeigneter Parameterwerte für: Architektur Lernparameter

Speicherkapazität Anzahl der Muster, die ein Netz ohne zu generalisieren speichern kann Bestimmung der Speicherkapazität Ausgabe–Schicht modifizieren: Ausgabe–Schicht  Eingabe–Schicht Netz mit Zufallsmuster trainieren Fehler wird klein: Netz speichert alle Muster Fehler bleibt: Netz kann Muster nicht mehr speichern Grenzfall : Speicherkapazität

Ermittlung der Speicherkapazität Ausgabe – Schicht = Kopie der Eingabe – Schicht Trainingsmenge aus n Zufallsmustern Ermittlung des Fehlers: Fehler = 0 Netz kann mehr als n Muster speichern Fehler >> 0 Netz kann nicht n Muster speichern Speicherkapazität=n: Fehler > 0 und Fehler für n – 1 Muster ist null und Fehler für n+1 deutlich größer 0

Unvollständig vernetzte Schichten neue entfernte Verbindungen: beibehaltene Prozentuale Vernetzung (z.B. 75%) Entfernen von Verbindungen, deren Gewichte im Training längere Zeit nahe 0 Bildung neuer Verbindungen (Zufall)

Inhalt Künstliche Neuronale Netze: Idee und Umsetzung Vorwärts gerichtete neuronale Netze Einsatz Wettbewerbslernen Selbstorganisierende Karte (SOM) Neuronales Gas Adaptive Resonanz Theorie (ART) Zusammenfassung

weiter mit Wettbewerbslernen