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
Vorwärts gerichtete Neuronale Netze
Folie 1
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
Vorwärts gerichtete Neuronale Netze
Folie 2
Adaline – LTU – Perzeptron
Eine trainierbare Verbindungsschicht
– Adaptive linear element
– Linear Threshold Unit
– Perzeptron
...
Vorwärts gerichtete Neuronale Netze
Folie 3
Perzeption
Abbildungsschicht
Perzeption
Wahrnehmung als erste
Stufe der Erkenntnis
in der Psychologie der
Vorgang der (sinnl.)
Wahrnehmung eines
Gegenstandes ohne
bewusstes Erfassen und
Identifizieren des
Wahrgenommenen
Ausgabeschicht
Bild
Meyers Neues Lexikon
Feste 1-1Verbindungen
trainierbare
vollständige
Verbindung
Vorwärts gerichtete Neuronale Netze
Folie 4
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)
Vorwärts gerichtete Neuronale Netze
Folie 5
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 + 0w2j < j
0 w1j + 1w2j j
1 w1j + 0w2j j
1 w1j + 1w2j < j
j
?
1
2
Vorwärts gerichtete Neuronale Netze
Folie 6
Lineare Trennbarkeit
o2
netj = o1w1j + o2w2j
Gerade im 2-dim. Raum
Gerade teilt Ebene so,
dass (0,1) und (1,0) stets in
unterschiedlichen Teilebenen liegen.
(1,1)
1
(0,0)
1
o1
o1*w1 +o2*w2=q
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.
Vorwärts gerichtete Neuronale Netze
Folie 7
Lernverfahren
while Eingabemuster do begin
nächstes Eingabemuster I
und berechne Ausgabemuster O
for each j in AusgabeNeuronen do
if ojtj 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
Vorwärts gerichtete Neuronale Netze
Folie 8
Mustererkennung
Dekodierung
– Eingabe: Binärcode einer Ziffer
– Ausgabe:
Unärcode: soviel Einsen, wie Ziffer angibt
5:11111
– Architektur:
Vorwärts gerichtete Neuronale Netze
Folie 9
Mustererkennung - Klassifikation
Dekodierung
– Eingabe: Binärcode einer Ziffer
– Ausgabe:
Zuordnung zu einer Klasse:
0~ 1.Neuron, 1~ 2. Neuron, ... 5~ 6. Neuron, ...
– Architektur:
Vorwärts gerichtete Neuronale Netze
Folie 10
Aufgaben
1.
Machen Sie sich mit der EXCEL-Lösung des Problems
vertraut.
2.
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.
3.
Welche Modifizierung muss der Lernalgorithmus erfahren,
damit ein Lerneffekt eintritt?
4.
Welche Ausgabe (Unäre Darstellung oder Klassifikation)
lässt sich schneller lernen?
Vorwärts gerichtete Neuronale Netze
Folie 11
Aufgaben
5.
Entwickeln Sie ein Perzeptron zur Erkennung von
Ziffern 0..9.
Eingabe-Schicht: 3x7-Eingabe-Neuronen
Nutzen Sie den SNNS oder JavaNNS
6.
Wie können mehrstellige Zahlen erkannt werden?
7.
Entwickeln Sie ein Perzeptron zur Erkennung von
Großbuchstaben.
Eingabeschicht 5x7
Vorwärts gerichtete Neuronale Netze
Folie 12
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
Vorwärts gerichtete Neuronale Netze
Folie 13
Inhalt
Künstliche Neuronale Netze:
Idee und Umsetzung
Vorwärts gerichtete neuronale Netze
– Perzeptron
– Backpropagation–Netz
– Partiell rückgekoppelte Netze
Einsatz
Wettbewerbslernen
Zusammenfassung
Vorwärts gerichtete Neuronale Netze
Folie 14
Backpropagation – Netze
Vorwärts gerichtete Neuronale Netze
Folie 15
Vorwärts gerichtetes Netz
Vorwärts gerichtete Neuronale Netze
Folie 16
Trainings
-muster p
Berechnung einer Ausgabe
Ni
Oi=pi
netj
Nj
Oj=actj
netk
Eingabe-Schicht
verdeckte Schicht(en)
Nk
Ok=act
k
Ausgabe-Schicht
Vorwärts gerichtete Neuronale Netze
Folie 17
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
Vorwärts gerichtete Neuronale Netze
Folie 18
Fehlerkurve
Vorwärts gerichtete Neuronale Netze
Folie 19
Problem
EingabeSchicht
Ausgabe
verdeckte
Schicht
Trainings
-ausgabe
Fehler in Ausgabeschicht =
Differenz Ausgabe – Trainingsausgabe
Fehler in verdeckter Schicht?
Vorwärts gerichtete Neuronale Netze
Folie 20
Ansatz: Gradientenabstieg
0,80
0,40
-1
-0,6
0,00
-0,2
0,2
0,6
1
Gradient:
– 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
Vorwärts gerichtete Neuronale Netze
Folie 21
Beispiel Newton-Verfahren
Näherungsrechnung zur
Bestimmung der Wurzel einer Zahl
f(x) = x² – 5
tan = f‘(x) = 2x
tan = f(x) / (x-x‘)
x‘ =½(x + a/x)
f(x)= x²-a
x =2
x‘ = ½(x + 5/x) = 2.25
X“= ½(x‘ + 5/x‘) = 2.2361
x‘
x
Vorwärts gerichtete Neuronale Netze
Folie 22
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
Vorwärts gerichtete Neuronale Netze
Folie 23
Die Mathematik
Hier:
Änderung der Gewichte um einen Bruchteil des negativen
Gradienten:
W‘ = – E(W)
E(W): Gradient
E(Wj) = E(w1j,w2j, ..., wnj)
Proportionalitätsfaktor
zum Gewichtsvektor W, : der Lernfaktor
Vorwärts gerichtete Neuronale Netze
Folie 24
Die Fehlerfunktion
Veränderung eines Gewichtes:
E
wij
wij
Fehlerfunktion
quadratische Abstand zwischen realer
und erwarteter Ausgabe über alle Muster p:
E
E
(1)
p
p
– tj - Lerneingabe (teaching input)
– oj - tatsächliche Ausgabe
– hier Fehler für EIN Muster (ohne Muster-Index p):
1
E (t j o j ) 2 (2)
2 j
Vorwärts gerichtete Neuronale Netze
Folie 25
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
Vorwärts gerichtete Neuronale Netze
Folie 26
Backpropagation–Lernregel
Ausgangspunkt:
Zusammenhang:
E
wij
wij
(6.1)
o j f out ( f act (net j ))
net j
(6.2)
o w
i
ij
i
fout = Id
1
E (t j o j ) 2
2 j
6.1 konkreter:
E o j net j
wij
o j net j wij
(6.3)
Vorwärts gerichtete Neuronale Netze
Folie 27
E o j net j
wij
o j net j wij
Der 3. und 2. Faktor
dritter Faktor:
Abhängigkeit Netzeingabe – Verbindungsgewichte
net j
wij
wij
zweite Faktor:
erste Ableitung der Aktivierungsfunktion:
o j
net j
o
k
wkj oi
(6.4)
k
oj
(net j )
f act
net j
f Logistic(net j ) (1 f Logistic(net j )) o j (1 o j )
(6.5)
(6.7)
Vorwärts gerichtete Neuronale Netze
Folie 28
E o j net j
wij
o j net j wij
Der 1. Faktor
erster Faktor: Abhängigkeit Fehler – Ausgabe
Fehlersignal Ausgabe-Neuron j:
E
o
j
E
1
(t j o j ) 2
2 j
1
t k ok 2 (t j o j )
o 2 k
j
(6.8)
(6.9)
Fehlersignal inneres Neuron j:
E
o j
k
E netk
netk o j
w
k
k
k
k
o j
i
oi wik
(6.10
)
jk
j : Fehlersignal
Vorwärts gerichtete Neuronale Netze
Folie 29
Das Fehlersignal
j
E
net j
E
o j
(6.11)
o j net j
Ausgabe-Neuron j: j = f’act(netj)·(tj – oj)
inneres Neuron j:
j = f’act(netj) ·
w
k
(6.12)
jk
Vorwärts gerichtete Neuronale Netze
Folie 30
Standard–Backpropagation–Regel
Für die logistische Aktivierungsfunktion gilt:
f ´act(netj ) = fact(netj )(1 – fact(netj )) = oj (1 –oj)
damit:
o j (1 o j ) k w jk falls j inneres Neuron
k
j
o j (1 o j ) (t j o j ) falls j Ausgabe Neuron
somit:
wij oi j
wij' wij oi j
Vorwärts gerichtete Neuronale Netze
Folie 31
Fehlersignal bei fact = tanh
Für die Aktivierungsfunktion tanh erhält man:
f´act(netj ) = (1 – f ²act(netj )) = (1 – tanh² netj )
Unter Beachtung, dass oj =tanh(netj )
erhält man:
(1 o 2j ) k w jk , falls j inneres Neuron
k
j
2
(
1
o
falls j Ausgabe Neuron
j ) (t j o j ) ,
Vorwärts gerichtete Neuronale Netze
Folie 32
Entwicklung neuronaler Netze
Netzarchitektur
aufbauen
Trainingsmuster
anlegen
Ausgabe des
Netzes
berechnen
Gewichte
anpassen
Vergleich mit
Trainingsausgabe
gewünschte Qualität
erreicht
Testdaten anlegen
Fehler zu hoch
Netzparameter
ändern
Ausgabe berechnen
Netzfehler durch
Vergleich mit erwarteter
Fehler zu hoch
Ausgabe ermitteln
gewünschte Qualität erreicht
Vorwärts gerichtete Neuronale Netze
Folie 33
Entwicklung neuronaler Netze
Netzarchitektur
aufbauen
Ausgabe des
Netzes berechnen
Vergleich mit
Trainingsausgabe
Fehler
zu groß
Trainingsmuster
anlegen
Gewichte
anpassen
Netzparameter
ändern
Fehler
zu hoch
Einsatzfähiges
NN
gewünschte
Qualität
erreicht
Test-Daten
anlegen
Ausgabe des
Netzes berechnen
Vergleich mit
erwarteter Ausgabe
gewünschte
Qualität erreicht
Vorwärts gerichtete Neuronale Netze
Folie 34
Backpropagation – Probleme
A
B
C
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
Vorwärts gerichtete Neuronale Netze
Folie 35
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]
Vorwärts gerichtete Neuronale Netze
Folie 36
Lösungsmöglichkeit: Manhattan – Training
Betrag des Fehlers spielt keine Rolle
Nur das Vorzeichen betrachten
– entspricht einer Normierung der Werte:
wij oi sgn( j )
Vorwärts gerichtete Neuronale Netze
Folie 37
Lösungsmöglichkeit: Quickprop
Annahme, dass Fehlerfunktion quadratisch ist;
Sprung direkt in den Scheitelpunkt der Kurve;
wij (t )
-2
2
6
S (t )
wij (t 1)
S (t 1) S (t )
S: Steigung der Fehlerfunktion:
E
S (t )
wij (t )
Vorwärts gerichtete Neuronale Netze
Folie 38
Resilient Propagation (RPROP)
Richtung und Betrag der Gewichtsänderung werden getrennt
festgelegt:
bij(t) – Betrag der Änderung
bij(t) =
bij(t-1) +
bij(t-1) bij(t-1)
falls S(t-1)S(t) > 0
falls S(t-1)S(t) < 0
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
Vorwärts gerichtete Neuronale Netze
Folie 39
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
Vorwärts gerichtete Neuronale Netze
Folie 40
Inhalt
Künstliche Neuronale Netze:
Idee und Umsetzung
Vorwärts gerichtete neuronale Netze
– Perzeptron
– Backpropagation–Netz
– Partiell rückgekoppelte Netze
Einsatz
Wettbewerbslernen
Zusammenfassung
Vorwärts gerichtete Neuronale Netze
Folie 41
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?
Vorwärts gerichtete Neuronale Netze
Folie 42
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
Vorwärts gerichtete Neuronale Netze
Folie 43
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
Vorwärts gerichtete Neuronale Netze
Folie 44
Lösung: partielle rekurrente Netze
enthalten spezielle verdeckte Zellen
Kontextzellen:
– definierte Rückkopplung von Ausgabe- oder
verdeckten Zellen in die innere Schicht
Vorwärts gerichtete Neuronale Netze
Folie 45
Jordan-Netze
Ausgabezellen
verdeckte
Zellen
Eingabezellen
1:1-Verbindungen
mit Gewicht
(=1)
Kontextzellen
mit direkter
Rückkopplung
Vorwärts gerichtete Neuronale Netze
Folie 46
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
Vorwärts gerichtete Neuronale Netze
Folie 47
Jordan–Netz: „Erinnerung“
– S(t) - zeitabhängiger Zustandsvektor
– O(t) – Ausgabe
S0 , falls t 1
S (t )
S (t 1) O(t 1), falls t 1
– mit der Vereinfachung
t 1
S(0) = Nullvektor
n 1
S
(
t
)
O(t n)
und =1 ergibt sich:
n 1
– 0 1 steuert Erinnerungsvermögen
– nahe 1: alte Zustände stärker berücksichtigt,
das Netz ist träge;
– Kompromiss: = 0.5
Vorwärts gerichtete Neuronale Netze
Folie 48
Elman–Netze
Ausgabezellen
1:1-Verbindungen
mit Gewicht 1
verdeckte
Zellen
Kontextzellen
Eingabezellen
Vorwärts gerichtete Neuronale Netze
Folie 49
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
Vorwärts gerichtete Neuronale Netze
Folie 50
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
Vorwärts gerichtete Neuronale Netze
Folie 51
Beispiel
Netz soll aus vorangegangenen Punktkoordinaten die Koordinaten
des nächsten Punktes ermitteln,
so dass die Verbindung dieser Punkte eine liegende Acht ergeben.
Aufgabe
1. Trainieren Sie die beiden Netze
eight_jordan_untrained sowie eight_elman_untrained
mit dem entsprechenden Musterfile eight_016.pat
2. Lesen Sie die Readme-Dateien für diese Beispiele.
3. 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)
Vorwärts gerichtete Neuronale Netze
Folie 52
SNNS: Beispiel Elman
Vorwärts gerichtete Neuronale Netze
Folie 53
Inhalt
Künstliche Neuronale Netze:
Idee und Umsetzung
Vorwärts gerichtete neuronale Netze
Einsatz
– Mustererkennung
– Data Mining
– Prognose
– Datenvorverarbeitung
– Optimierung
Wettbewerbslernen
Zusammenfassung
Vorwärts gerichtete Neuronale Netze
Folie 54
Entwicklung neuronaler Netze
Netzarchitektur
aufbauen
Trainingsmuster
anlegen
Ausgabe des
Netzes
berechnen
Gewichte
anpassen
Vergleich mit
Trainingsausgabe
gewünschte Qualität
erreicht
Testdaten anlegen
Fehler zu hoch
Ausgabe berechnen
Netzparameter
ändern
Netzfehler durch
Vergleich mit erwarteter
Fehler zu hoch
Ausgabe ermitteln
gewünschte Qualität erreicht
Vorwärts gerichtete Neuronale Netze
Folie 55
Zeichenerkennnung
Eingabeschicht
1. verdeckte
Schicht
2. verdeckte
schicht
Ausgabeschicht
Zeichenerkennung mit vorwärts gerichteten
Netzen und dem Lernverfahren Backpropagation
Vorwärts gerichtete Neuronale Netze
Folie 56
SNNS: Das Beispiel „font“
Vorwärts gerichtete Neuronale Netze
Folie 57
Das Beispiel „font“
Eingabe ist ein 24x24 Pixelfeld
Zwei innere Schichten mit jeweils 4x6 Neuronen;
Ausgabeschicht mit 75 Neuronen, für jedes Zeichen (Ziffern, KleinGroß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.
Vorwärts gerichtete Neuronale Netze
Folie 58
Aufgabe
Starten Sie mit dem Netz “font_untrained”
Trainieren Sie es mit verschiedenen Lernverfahren:
(Zu den Parametern siehe auch SNNS-Dokumentation)
– Backpropagation
– Backpropagation
with momentum
– Quickprop
– Rprop
=2.0
=0.8
=0.1
=0.6
mu=0.6
c=0.1
mg=2.0
n0.0001
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
Vorwärts gerichtete Neuronale Netze
Folie 59
Erkennung KFZ–Kennzeichen
Vorwärts gerichtete Neuronale Netze
Folie 60
Inhalt
Künstliche Neuronale Netze:
Idee und Umsetzung
Vorwärts gerichtete neuronale Netze
Einsatz
– Mustererkennung
– Data Mining
– Prognose
– Datenvorverarbeitung
– Optimierung
Wettbewerbslernen
Zusammenfassung
Vorwärts gerichtete Neuronale Netze
Folie 61
Inhalt
Künstliche Neuronale Netze:
Idee und Umsetzung
Vorwärts gerichtete neuronale Netze
Einsatz
– Mustererkennung
– Data Mining
– Prognose
– Datenvorverarbeitung
– Optimierung
Wettbewerbslernen
Zusammenfassung
Vorwärts gerichtete Neuronale Netze
Folie 62
Prognose
Aktienwerte (Diplomarbeit Werschmöller 2001)
Energieverbrauch (Dachs GmbH Schwerin)
Tagestemperatur (Bachelor-Arbeit, Kroll 2008)
WDP-Heft 2009, www.wi.hs-wismar.de/wdp
Vorwärts gerichtete Neuronale Netze
Folie 63
Inhalt
Künstliche Neuronale Netze:
Idee und Umsetzung
Vorwärts gerichtete neuronale Netze
Einsatz
– Mustererkennung
– Data Mining
– Prognose
– Datenvorverarbeitung
– Optimierung
Wettbewerbslernen
Zusammenfassung
Vorwärts gerichtete Neuronale Netze
Folie 64
Pre-Processing
Data Types
Distance, Similarity, Error
Why pre-processing?
Cleaning
Integration
Transformation
Reduction
Vorwärts gerichtete Neuronale Netze
Folie 65
Data Types
Nominal:
no ordering
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
– …
Vorwärts gerichtete Neuronale Netze
Folie 66
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)
10
8
q
6
4
p
2
0
0
distance function
– Hamming
– Euclidian
– Manhattan
– Maximum
2
dist(u,v) =
= counti(ui≠vi)
= i (ui²-vi ²)
= i |ui -vi |
= maxi |ui -vi |
4
6
8
10
Example:
dist(p,q) = 2
dist(p,q) = 5,83
dist(p,q) = 8
dist(p,q) = 5
Vorwärts gerichtete Neuronale Netze
Folie 67
Objectives & Methods
Objectives
prospects of better results
adaptation to algorithms
data reduction
trouble shooting
Methods
Cleaning
Integration
Transformation
– normalization
– coding
– filter
Reduction
Vorwärts gerichtete Neuronale Netze
Folie 68
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
Vorwärts gerichtete Neuronale Netze
Folie 69
Cleaning – missing value / noisy data
Missing value
ignore the tuple
ignore / omit attribute
add values
– manual
– global constant („unknown“)
– average
– highly probable value
Noisy data
check for inconsistency
finding outliers
Vorwärts gerichtete Neuronale Netze
Folie 70
Transformation
Normalization
Coding
Filter
Vorwärts gerichtete Neuronale Netze
Folie 71
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))
Vorwärts gerichtete Neuronale Netze
Folie 72
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
Vorwärts gerichtete Neuronale Netze
Folie 73
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
Vorwärts gerichtete Neuronale Netze
Folie 74
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, ...?
Vorwärts gerichtete Neuronale Netze
Folie 75
To play or not to play ...
Suggest a coding for the values rainy, sunny, true, 81, 90, 70, ...
Vorwärts gerichtete Neuronale Netze
Folie 76
Inhalt
Künstliche Neuronale Netze:
Idee und Umsetzung
Vorwärts gerichtete neuronale Netze
Einsatz
– Mustererkennung
– Data Mining
– Prognose
– Datenvorverarbeitung
– Optimierung
Wettbewerbslernen
Zusammenfassung
Vorwärts gerichtete Neuronale Netze
Folie 77
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)
Vorwärts gerichtete Neuronale Netze
Folie 78
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)
Vorwärts gerichtete Neuronale Netze
Folie 79
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
Vorwärts gerichtete Neuronale Netze
Folie 80
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
Vorwärts gerichtete Neuronale Netze
Folie 81
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
Vorwärts gerichtete Neuronale Netze
Folie 82
Unvollständig vernetzte Schichten
Verbindungen:
neue
entfernte
beibehaltene
Prozentuale Vernetzung (z.B. 75%)
Entfernen von Verbindungen, deren
Gewichte im Training längere Zeit nahe 0
Bildung neuer Verbindungen (Zufall)
Vorwärts gerichtete Neuronale Netze
Folie 83
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
Vorwärts gerichtete Neuronale Netze
Folie 84
weiter mit Wettbewerbslernen
Vorwärts gerichtete Neuronale Netze
Folie 85