Vorwärts gerichtete neuronale Netze

Werbung
Wismar
Business School
Wissensextraktion
mittels
künstlicher neuronaler Netze
Vorwärts gerichtete NN
Uwe Lämmel
www.wi.hs-wismar.de/~laemmel
[email protected]
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 + 0w2j < j
0 w1j + 1w2j  j
1 w1j + 0w2j  j
1 w1j + 1w2j < 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 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
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
n0.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
Herunterladen