vorwärts gerichtete neuronale netze folie 1 wissensextraktion mittels künstlicher neuronaler netze...
TRANSCRIPT
Vorwärts gerichtete Neuronale Netze
Folie 1
Wissensextraktion mittels
künstlicher neuronaler Netze
Vorwärts gerichtete NN
Uwe Lämmel
Wismar Business
School
www.wi.hs-wismar.de/~laemmel
Vorwärts gerichtete Neuronale Netze
Folie 2
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 3
Adaline – LTU – Perzeptron
Eine trainierbare Verbindungsschicht
– Adaptive linear element– Linear Threshold Unit – Perzeptron
...
Vorwärts gerichtete Neuronale Netze
Folie 4
Perzeption
PerzeptionWahrnehmung 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
Abbildungsschicht
Bild
Feste 1-1- Verbindungen
trainierbare vollständige Verbindung
Ausgabe-schicht
Vorwärts gerichtete Neuronale Netze
Folie 5
Perzeptron s.a. Minsky,Papert: Perceptrons,1969
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)
entwickelt von Rosenblatt (um 1960)
Vorwärts gerichtete Neuronale Netze
Folie 6
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 7
Lineare Trennbarkeit
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,1)
(0,0) o1
o2
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 8
Lernverfahren
while Eingabemuster do beginnächstes Eingabemuster I und berechne Ausgabemuster Ofor each j in AusgabeNeuronen do
if ojtj thenif 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 9
Mustererkennung
Dekodierung– Eingabe: Binärcode einer Ziffer– Ausgabe:
Unärcode: soviel Einsen, wie Ziffer angibt 5 : 1 1 1 1 1
– Architektur:
Vorwärts gerichtete Neuronale Netze
Folie 10
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 11
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 12
Aufgaben
5. Entwickeln Sie ein Perzeptron zur Erkennung von Ziffern 0..9. Eingabe-Schicht: 3x7-Eingabe-NeuronenNutzen 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 13
Mehrstufiges Perzeptron
mehrere trainierbare Schichten Zweistufige Perzeptrons können konvexe Polygone
klassifizieren. Dreistufige Perzeptrons können beliebige Mengen erkennen
(durch Überlagerung konvexer Polygone).
Hebt Beschränkungen des einfachen Perzeptrons auf
Mehrstufiges Perzeptron (multi layer percetron)= vorwärts gerichtetes Netz= Backpropagation – Netz
Vorwärts gerichtete Neuronale Netze
Folie 14
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 15
Backpropagation – Netze
Vorwärts gerichtete Neuronale Netze
Folie 16
Vorwärts gerichtetes Netz
Vorwärts gerichtete Neuronale Netze
Folie 17
Berechnung einer Ausgabe
Ni
Nj
Nk
netj
netk
Oj=actj
Ok=act
k
Trai
ning
s-m
uste
r p
Oi=pi
Eingabe-Schicht verdeckte Schicht(en) Ausgabe-Schicht
Vorwärts gerichtete Neuronale Netze
Folie 18
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 19
Fehlerkurve
Vorwärts gerichtete Neuronale Netze
Folie 20
Problem
Fehler in Ausgabeschicht =Differenz Ausgabe – Trainingsausgabe
Fehler in verdeckter Schicht?
Ausgabe Trainings-ausgabe
Eingabe-Schicht
verdeckte Schicht
Vorwärts gerichtete Neuronale Netze
Folie 21
Ansatz: Gradientenabstieg
Gradient:– Vektor orthogonal zu einer
Fläche in Richtung des stärksten Anstiegs
– Ableitung einer Funktion: Projektion des Gradienten auf diese Richtung
0,00
0,40
0,80
-1 -0,6 -0,2 0,2 0,6 1
möglicher Fehlerverlauf eines Gewichtes wi
Vorwärts gerichtete Neuronale Netze
Folie 22
Beispiel Newton-Verfahren
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
xx‘
f(x)= x²-a
tan = f‘(x) = 2x tan = f(x) / (x-x‘) x‘ =½(x + a/x)
Vorwärts gerichtete Neuronale Netze
Folie 23
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 24
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)
Vorwärts gerichtete Neuronale Netze
Folie 25
Die Fehlerfunktion
Fehlerfunktionquadratische 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):
p
pEE
2)(2
1j
jj otE
Veränderung eines Gewichtes: (1)
(2)
ijij w
Ew
Vorwärts gerichtete Neuronale Netze
Folie 26
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 27
Backpropagation–Lernregel
(6.3)
Ausgangspunkt:
6.1 konkreter:
Zusammenhang: ))(( jactoutj netffo
fout = Id
ijij w
Ew
(6.1)
(6.2)
ij
j
j
j
jij w
net
net
o
o
Ew
i
ijij wonet
2)(2
1j
jj otE
Vorwärts gerichtete Neuronale Netze
Folie 28
Der 3. und 2. Faktor
dritter Faktor:Abhängigkeit Netzeingabe – Verbindungsgewichte
ij
j
j
j
jij w
net
net
o
o
Ew
)( jactj
j netfnet
o
zweite Faktor:
erste Ableitung der Aktivierungsfunktion:
(6.4)
(6.5)
ik
kjkijij
j owoww
net
)1())(1()( jjjLogisticjLogisticj
j oonetfnetfnet
o
(6.7)
Vorwärts gerichtete Neuronale Netze
Folie 29
Der 1. Faktor
erster Faktor: Abhängigkeit Fehler – Ausgabe
ij
j
j
j
jij w
net
net
o
o
Ew
Fehlersignal inneres Neuron j:
(6.8)
(6.10)
Fehlersignal Ausgabe-Neuron j: 2)(2
1j
jj otE
)(2
1 2jj
kkk
jj
ototoo
E
(6.9)
kjkk
k iiki
jk
k j
k
kj
w
wooo
net
net
E
o
E
j : Fehlersignal
Vorwärts gerichtete Neuronale Netze
Folie 30
Das Fehlersignal
j = f’act(netj)·(tj – oj) Ausgabe-Neuron j:
inneres Neuron j:
j
j
jjj net
o
o
E
net
E
j = f’act(netj) · kwjk
(6.12)
(6.11)
Vorwärts gerichtete Neuronale Netze
Folie 31
Standard–Backpropagation–Regel
Für die logistische Aktivierungsfunktion gilt:f ´act(netj ) = fact(netj )(1 – fact(netj )) = oj (1 –oj)
damit:
NeuronAusgabejfalls)()1(
Neuroninneresjfalls)1(
jjjj
kjkkjj
j
otoo
woo
somit: jiij ow
jiijij oww '
Vorwärts gerichtete Neuronale Netze
Folie 32
Fehlersignal bei fact = tanh
Für die Aktivierungsfunktion tanh erhält man:f´act(netj ) = (1 – f ²act(netj )) = (1 – tanh² oj )
damit:
NeuronAusgabejfalls,)()tanh1(
Neuroninneresjfalls,)tanh1(
2
2
jjj
kjkkj
j
oto
wo
Vorwärts gerichtete Neuronale Netze
Folie 33
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
Fehler zu hoch
gewünschte Qualität
erreicht
Vorwärts gerichtete Neuronale Netze
Folie 34
Entwicklung neuronaler Netze
gewünschte Qualität erreicht
Fehler zu hoch
Fehler zu groß
gewünschte Qualität
erreicht
Ausgabe des Netzes berechnen
Vergleich mit Trainingsausgabe
Test-Datenanlegen
Ausgabe des Netzes berechnen
Gewichte anpassen
Trainingsmuster anlegen
Netzparameter ändern
Netzarchitektur aufbauen
Vergleich mit erwarteter Ausgabe
Einsatzfähiges NN
Vorwärts gerichtete Neuronale Netze
Folie 35
Backpropagation – Probleme
B CA
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 36
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 37
Lösungsmöglichkeit: Manhattan – Training
Betrag des Fehlers spielt keine Rolle Nur das Vorzeichen betrachten
– entspricht einer Normierung der Werte:
)sgn( jiij ow
Vorwärts gerichtete Neuronale Netze
Folie 38
Lösungsmöglichkeit: Quickprop
Annahme, dass Fehlerfunktion quadratisch ist; Sprung direkt in den Scheitelpunkt der Kurve;
)1()()1(
)()(
tw
tStS
tStw ijij
)()(
tw
EtS
ij
-2 2 6
S: Steigung der Fehlerfunktion:
Vorwärts gerichtete Neuronale Netze
Folie 39
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“ Schritt0<-<1 : Anstiege verschieden „kleineren“ Schritt
-bij(t) falls S(t-1)>0 S(t) > 0wij(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 40
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 41
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 42
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 43
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 44
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 45
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 46
Jordan-Netze
Ausgabezellen
verdeckte Zellen
EingabezellenKontextzellenmit direkter Rückkopplung
1:1-Verbindungen mit Gewicht (=1)
Vorwärts gerichtete Neuronale Netze
Folie 47
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 48
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
1),1()1(
1,)( 0
tfallstOtS
tfallsStS
1
1
1 )()(t
n
n ntOtS
Vorwärts gerichtete Neuronale Netze
Folie 49
Elman–Netze
Ausgabezellen
verdeckte Zellen
EingabezellenKontextzellen
1:1-Verbindungen mit Gewicht 1
Vorwärts gerichtete Neuronale Netze
Folie 50
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 51
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 52
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 Netzeeight_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 demANALYSER-Tool. Setzen Sie dazu im Setup die Werte für axis,min,max,uni,grid auf die Wertex: (0.0, 1.0, 11, 10) sowie y: (0.0, 1.0, 12, 10)
Vorwärts gerichtete Neuronale Netze
Folie 53
SNNS: Beispiel Elman
Vorwärts gerichtete Neuronale Netze
Folie 54
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 55
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
Fehler zu hoch
gewünschte Qualität
erreicht
Vorwärts gerichtete Neuronale Netze
Folie 56
Zeichenerkennnung
Eingabeschicht 1. verdeckte 2. verdeckte Ausgabe-Schicht schicht schicht
Zeichenerkennung mit vorwärts gerichteten Netzen und dem Lernverfahren Backpropagation
Vorwärts gerichtete Neuronale Netze
Folie 57
SNNS: Das Beispiel „font“
Vorwärts gerichtete Neuronale Netze
Folie 58
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.
Vorwärts gerichtete Neuronale Netze
Folie 59
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 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.0Momentum 0.9 0.7 0.5 0.0Störfaktor 0.0 0.1 0.2
Vorwärts gerichtete Neuronale Netze
Folie 60
Erkennung KFZ–Kennzeichen
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
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 63
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 64
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 65
Pre-Processing
Data Types Distance, Similarity, Error Why pre-processing? Cleaning Integration Transformation Reduction
Vorwärts gerichtete Neuronale Netze
Folie 66
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 67
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)
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
0
2
4
6
8
10
0 2 4 6 8 10
p
q
similarity: sim(u,v) often expressed by distance: sim(u,v) = f(dist(u,v))
Vorwärts gerichtete Neuronale Netze
Folie 68
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 69
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 70
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 71
Transformation
Normalization Coding Filter
Vorwärts gerichtete Neuronale Netze
Folie 72
Normalization of values
normalization – equally distributed– in the range [0,1]
– e.g. for the logistic functionx’ = (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 73
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, black1,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 74
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 75
A1: Credit historyA2: debtA3: collateralA4: income
Example Credit Scoring
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 76
To play or not to play ...
Suggest a coding for the values rainy, sunny, true, 81, 90, 70, ...
Vorwärts gerichtete Neuronale Netze
Folie 77
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 78
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 79
Generalisierungsfähigkeit
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)
Fähigkeit des Netzes auch bisher unbekannte Eingaben richtig verarbeiten zu können
Ziel jeder Netz-Entwicklung
Vorwärts gerichtete Neuronale Netze
Folie 80
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 81
Speicherkapazität
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
Anzahl der Muster, die ein Netz ohne zu generalisieren speichern kann
Vorwärts gerichtete Neuronale Netze
Folie 82
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 83
Unvollständig vernetzte Schichten
Prozentuale Vernetzung (z.B. 75%) Entfernen von Verbindungen, deren
Gewichte im Training längere Zeit nahe 0 Bildung neuer Verbindungen (Zufall)
neue
entfernte
Verbindungen:
beibehaltene
Vorwärts gerichtete Neuronale Netze
Folie 84
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 85
weiter mit Wettbewerbslernen