Neuronale Netze. Prof. Dr. Rudolf Kruse
|
|
- Katharina Koenig
- vor 6 Jahren
- Abrufe
Transkript
1 Neuronale Netze Prof. Dr. Rudolf Kruse Computational Intelligence Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Rudolf Kruse Neuronale Netze
2 Vorlesungsinhalte Einleitung Schwellenwertelemente Allgemeine Neuronale Netze Mehrschichtige Perzeptren Training von Mehrschichtigen Perzeptren Radiale-Basis-Funktions-Netze Training von Radiale-Basisfunktions-Netzen Lernende Vektorquantisierung Selbstorganisierende Karten Hopfield-Netze Rekurrente Neuronale Netze Support Vector Machines Neuro-Fuzzy-Systeme Rudolf Kruse Neuronale Netze 2
3 Motivation: Warum (künstliche) neuronale Netze? (Neuro-)Biologie / (Neuro-)Physiologie / Psychologie: Ausnutzung der Ähnlichkeit zu echten (biologischen) neuronalen Netzen Modellierung zum Verständnis Arbeitsweise von Nerven und Gehirn durch Simulation Informatik / Ingenieurwissenschaften / Wirtschaft Nachahmen der menschlichen Wahrnehmung und Verarbeitung Lösen von Lern-/Anpassungsproblemen sowie Vorhersage- und Optimierungsproblemen Physik / Chemie Nutzung neuronaler Netze, um physikalische Phänomene zu beschreiben Spezialfall: Spin-Glas (Legierungen von magnetischen und nicht-magnetischen Metallen) Rudolf Kruse Neuronale Netze 3
4 Konventionelle Rechner vs. Gehirn Computer Gehirn Verarbeitungseinheiten CPU, 0 9 Transistoren 0 Neuronen Speicherkapazität 0 Neuronen, 0 4 Synapsen 0 9 Bytes RAM, 0 0 Bytes Festspeicher Verarbeitungsgeschwindigkeit 0 8 sec. 0 3 sec. Bandbreite 0 9bits s 0 4bits s Neuronale Updates pro sec Rudolf Kruse Neuronale Netze 4
5 Konventionelle Rechner vs. Gehirn Beachte: die Hirnschaltzeit ist mit 0 3 s recht langsam, aber Updates erfolgen parallel. Dagegen braucht die serielle Simulation auf einem Rechner mehrere hundert Zyklen für ein Update. Vorteile neuronaler Netze: Hohe Verarbeitungsgeschwindigkeit durch massive Parallelität Funktionstüchtigkeit selbst bei Ausfall von Teilen des Netzes (Fehlertoleranz) Langsamer Funktionsausfall bei fortschreitenden Ausfällen von Neuronen (graceful degradation) Gut geeignet für induktives Lernen Es erscheint daher sinnvoll, diese Vorteile natürlicher neuronaler Netze künstlich nachzuahmen. Rudolf Kruse Neuronale Netze 5
6 Biologischer Hintergrund Struktur eines prototypischen biologischen Neurons Synapsenenden Synapse Dendriten Zellkern Zellkörper (Soma) Axon Myelinscheide Rudolf Kruse Neuronale Netze 6
7 Biologischer Hintergrund (Stark) vereinfachte Beschreibung neuronaler Informationsverarbeitung Das Axonende gibt Chemikalien ab, Neurotransmitter genannt. Diese bewirken an der Membran des Empfängerdendriten die Veränderung der Polarisierung. (Das Innere ist typischerweise 70mV negativer als die Außenseite.) Abnahme in der Potentialdifferenz: anregende Synapse Zunahme in der Potentialdifferenz: hemmende Synapse Wenn genügend anregende Information vorhanden ist, wird das Axon depolarisiert. Das resultierende Aktionspotential pflanzt sich entlang des Axons fort. (Die Geschwindigkeit hängt von der Bedeckung mit Myelin ab.) Wenn das Aktionspotential die Synapsenenden erreicht, löst es die Abgabe von Neurotransmittern aus. Rudolf Kruse Neuronale Netze 7
8 Schwellenwertelemente Rudolf Kruse Neuronale Netze 8
9 Schwellenwertelemente Ein Schwellenwertelement (Threshold Logic Unit, TLU) ist eine Verarbeitungseinheit für Zahlen mitneingängenx,...,x n und einem Ausgang y. Das Element hat einen Schwellenwertθ und jeder Eingangx i ist mit einem Gewichtw i versehen. Ein Schwellenwertelement berechnet die Funktion y =, falls xw = n w ix i θ, i= 0, sonst. x w.. θ y x n w n Rudolf Kruse Neuronale Netze 9
10 Schwellenwertelemente: Beispiele Schwellenwertelement für die Konjunktionx x 2. x 3 x y x x 2 3x + 2x 2 y Schwellenwertelement für die Implikationx 2 x. x 2 x 2 2 y x x 2 2x 2x 2 y Rudolf Kruse Neuronale Netze 0
11 Schwellenwertelemente: Beispiele Schwellenwertelement für (x x 2 ) (x x 3 ) (x 2 x 3 ). x 2 x 2 2 x 3 2 y x x 2 x 3 i w i x i y Rudolf Kruse Neuronale Netze
12 Schwellenwertelemente: Geometrische Interpretation Rückblick: Geradendarstellungen Geraden werden typischerweise in einer der folgenden Formen dargestellt: Explizite Form: g x 2 =bx +c Implizite Form: g a x +a 2 x 2 +d = 0 Punkt-Richtungs-Form: g x =p +kr Normalform g (x p)n = 0 mit den Parametern b : c : p : r : n : Anstieg der Geraden Abschnitt derx 2 -Achse Vektor zu einem Punkt auf der Gerade (Ortsvektor) Richtungsvektor der Gerade Normalenvektor der Gerade Rudolf Kruse Neuronale Netze 2
13 Schwellenwertelemente: Geometrische Interpretation Eine Gerade und ihre definierenden Eigenschaften. c x 2 b = r 2 r r n = (a,a 2 ) q = d n n n g ϕ p d = pn x O Rudolf Kruse Neuronale Netze 3
14 Schwellenwertelemente: Geometrische Interpretation Bestimmung, auf welcher Seite ein Punkt x liegt. x 2 z z = xn n n n q = d n n n g ϕ x x O Rudolf Kruse Neuronale Netze 4
15 Schwellenwertelemente: Geometrische Interpretation Schwellenwertelement fürx x 2. x 3 4 y 2 x 2 Ein Schwellenwertelement fürx 2 x. x 2 x x 0 0 x 2 2 y x x Rudolf Kruse Neuronale Netze 5
16 Schwellenwertelemente: Geometrische Interpretation Darstellung 3-dimensionaler Boolescher Funktionen: x 3 x 2 (,, ) x (0, 0, 0) Schwellenwertelement für (x x 2 ) (x x 3 ) (x 2 x 3 ). x 2 x 2 2 y x 3 x 2 x 3 2 x Rudolf Kruse Neuronale Netze 6
17 Schwellenwertelemente: lineare Separabilität Zwei Punktmengen in einem n-dimensionalen Raum heißen linear separabel, wenn sie durch eine (n-)-dimensionale Hyperebene getrennt werden können. Die Punkte der einen Menge dürfen dabei auch auf der Hyperebene liegen. Eine Boolesche Funktion heißt linear separabel, falls die Menge der Urbilder von 0 und die Menge der Urbilder von linear separabel sind. Rudolf Kruse Neuronale Netze 7
18 Schwellenwertelemente: Grenzen Das Biimplikationsproblemx x 2 : Es gibt keine Trenngerade. x x 2 y Formaler Beweis durch reductio ad absurdum: x x da (0, 0) : 0 θ, () da (, 0) 0: w <θ, (2) da (0, ) 0: w 2 <θ, (3) da (, ) : w +w 2 θ. (4) (2) und (3):w +w 2 < 2θ. Mit (4): 2θ>θ, oderθ>0. Widerspruch zu (). Rudolf Kruse Neuronale Netze 8
19 Schwellenwertelemente: Grenzen Vergleich zwischen absoluter Anzahl und der Anzahl linear separabler Boolescher Funktionen. ([Widner 960] zitiert in [Zell 994]) Eingaben Boolesche Funktionen linear separable Funktionen Für viele Eingaben kann ein SWE fast keine Funktion berechnen. Netze aus Schwellenwertelementen sind notwendig, um die Berechnungsfähigkeiten zu erweitern. Rudolf Kruse Neuronale Netze 9
20 Netze aus Schwellenwertelementen Biimplikationsproblem, Lösung durch ein Netzwerk. Idee: logische Zerlegung x x 2 (x x 2 ) (x 2 x ) x x berechnety =x x 2 2 berechnety=y y berechnety 2 =x 2 x y =x x 2 Rudolf Kruse Neuronale Netze 20
21 Netze aus Schwellenwertelementen Lösung des Biimplikationsproblems: Geometrische Interpretation x 2 d 0 c g 2 g 0 = y 2 b 0 ac g 3 0 a b 0 d 0 x 0 y Die erste Schicht berechnet neue Boolesche Koordinaten für die Punkte. Nach der Koordinatentransformation ist das Problem linear separabel. Rudolf Kruse Neuronale Netze 2
22 Darstellung beliebiger Boolescher Funktionen Seiy=f(x,...,x n ) eine Boolesche Funktion mitnvariablen. (i) Stelle f(x,...,x n ) in disjunktiver Normalform dar. D.h. bestimme D f =K... K m, wobei allek j Konjunktionen vonnliteralen sind, d.h., K j =l j... l jn mitl ji =x i (positives Literal) oderl ji = x i (negatives Literal). (ii) Lege ein Neuron für jede KonjunktionK j der disjunktiven Normalform an (mit n Eingängen ein Eingang pro Variable), wobei w ji = 2, fallsl ji = x i, 2, fallsl ji = x i, und θ j =n + 2 n i= w ji. (iii) Lege ein Ausgabeneuron an (mit m Eingängen ein Eingang für jedes Neuron, das in Schritt (ii) angelegt wurde), wobei w (n+)k = 2, k =,...,m, und θ n+ =. Rudolf Kruse Neuronale Netze 22
23 Trainieren von Schwellenwertelementen Rudolf Kruse Neuronale Netze 23
24 Trainieren von Schwellenwertelementen Die geometrische Interpretation bietet eine Möglichkeit, SWE mit 2 und 3 Eingängen zu konstruieren, aber: Es ist keine automatische Methode (Visualisierung und Begutachtung ist nötig). Nicht möglich für mehr als drei Eingabevariablen. Grundlegende Idee des automatischen Trainings: Beginne mit zufälligen Werten für Gewichte und Schwellenwert. Bestimme den Ausgabefehler für eine Menge von Trainingsbeispielen. Der Fehler ist eine Funktion der Gewichte und des Schwellenwerts: e = e(w,...,w n,θ). Passe Gewichte und Schwellenwert so an, dass der Fehler kleiner wird. Wiederhole diese Anpassung, bis der Fehler verschwindet. Rudolf Kruse Neuronale Netze 24
25 Trainieren von Schwellenwertelementen Schwellenwertelement mit einer Eingabe für die Negation x. x w θ y x y 0 0 Ausgabefehler als eine Funktion von Gewicht und Schwellenwert w e θ Fehler fürx= w e θ Fehler fürx = w e θ Summe der Fehler Rudolf Kruse Neuronale Netze 25
26 Trainieren von Schwellenwertelementen Die Fehlerfunktion kann nicht direkt verwendet werden, da sie aus Plateaus besteht. Lösung: Falls die berechnete Ausgabe falsch ist, berücksichtige, wie weit die gewichtete Summe vom Schwellenwert entfernt ist. Modifizierter Ausgabefehler als Funktion von Gewichten und Schwellenwert. 4 e 4 e 4 e w θ Fehler fürx= w θ Fehler fürx = w θ Summe der Fehler Rudolf Kruse Neuronale Netze 26
27 Trainieren von Schwellenwertelementen Schema der resultierenden Richtungen der Parameteränderungen w 0 w 0 w θ Änderungen für x = θ Änderungen für x = θ Summe der Änderungen Beginne an zufälligem Punkt. Passe Parameter iterativ an, entsprechend der zugehörigen Richtung am aktuellen Punkt. Rudolf Kruse Neuronale Netze 27
28 Trainieren von Schwellenwertelementen Beispieltrainingsprozedur: Online- und Batch-Training. w θ Online-Lernen w θ Batch-Lernen w e θ Batch-Lernen 2 x y x 2 0 Rudolf Kruse Neuronale Netze 28
29 Trainieren von Schwellenwertelementen: Delta-Regel Formale Trainingsregel: Seix=(x,...,x n ) ein Eingabevektor eines Schwellenwertelements, o die gewünschte Ausgabe für diesen Eingabevektor, und y die momentane Ausgabe des Schwellenwertelements. Wenn y o, dann werden Schwellenwert θ und Gewichtsvektorw = (w,...,w n ) wie folgt angepasst, um den Fehler zu reduzieren: θ (neu) =θ (alt) + θ wobei θ = η(o y), i {,...,n} : w i (neu) =w i (alt) + w i wobei w i = η(o y)x i, wobei η ein Parameter ist, der Lernrate genannt wird. Er bestimmt die Größenordnung der Gewichtsänderungen. Diese Vorgehensweise nennt sich Delta-Regel oder Widrow Hoff Procedure [Widrow and Hoff 960]. Online-Training: Passe Parameter nach jedem Trainingsmuster an. Batch-Training: Passe Parameter am Ende jeder Epoche an, d.h. nach dem Durchlaufen aller Trainingsbeispiele. Rudolf Kruse Neuronale Netze 29
30 Trainieren von Schwellenwertelementen: Delta-Regel Ändern des Schwellenwerts in ein Gewicht: =x 0 w 0 = θ x w x w x 2 w 2 θ y x 2 w 2 0 y.. x n w n x n w n n i= w ix i θ n i= w ix i θ 0 Rudolf Kruse Neuronale Netze 30
31 Trainieren von Schwellenwertelementen: Delta-Regel procedure online_training (var w, var θ, L, η); var y, e; (* Ausgabe, Fehlersumme *) begin repeat e := 0; (* initialisiere Fehlersumme *) for all (x, o) L do begin (* durchlaufe Trainingsmuster*) if (wx θ) then y := ; (* berechne Ausgabe*) else y := 0; (* des Schwellenwertelements *) if (y o) then begin (* Falls Ausgabe falsch *) θ :=θ η(o y); (* passe Schwellenwert *) w :=w +η(o y)x; (* und Gewichte an *) end; end; until (e 0); end; e :=e + o y ; (* summiere die Fehler*) (* wiederhole die Berechnungen*) (* bis der Fehler verschwindet*) Rudolf Kruse Neuronale Netze 3
32 Trainieren von Schwellenwertelementen: Delta-Regel procedure batch_training (var w, var θ, L, η); var y, e, (* Ausgabe, Fehlersumme *) θ c,w c ; (* summierte Änderungen *) begin repeat e := 0;θ c := 0;w c := 0; (* Initialisierungen *) for all (x, o) L do begin (* durchlaufe Trainingsbeispiele*) if (wx θ) then y := ; (* berechne Ausgabe *) else y := 0; (* des Schwellenwertelements *) if (y o) then begin (* Falls Ausgabe falsch*) θ c :=θ c η(o y); (* summiere die Änderungen von*) w c :=w c +η(o y)x; (* Schwellenwert und Gewichten *) e :=e + o y ; (* summiere Fehler*) end; end; θ :=θ +θ c ; (* passe Schwellenwert*) w :=w+w c ; (* und Gewichte an *) until (e 0); (* wiederhole Berechnungen *) end; (* bis der Fehler verschwindet*) Rudolf Kruse Neuronale Netze 32
33 Trainieren von Schwellenwertelementen: Online Epoche x o xw y e θ w θ w Rudolf Kruse Neuronale Netze 33
34 Trainieren von Schwellenwertelementen: Batch Epoche x o xw y e θ w θ w Rudolf Kruse Neuronale Netze 34
35 Trainieren von Schwellenwertelementen: Konjunktion Schwellenwertelement mit zwei Eingängen für die Konjunktion. x w x 2 w 2 θ y x x 2 y x 2 3 y 0 x Rudolf Kruse Neuronale Netze 35
36 Trainieren von Schwellenwertelementen: Konjunktion Epoche x x 2 o xw y e θ w w 2 θ w w Rudolf Kruse Neuronale Netze 36
37 Trainieren von Schwellenwertelementen: Biimplikation Epoch x x 2 o xw y e θ w w 2 θ w w Rudolf Kruse Neuronale Netze 37
38 Trainieren von Schwellenwertelementen: Konvergenz Konvergenztheorem: SeiL ={(x,o ),...(x m,o m )} eine Menge von Trainingsmustern, jedes bestehend aus einem Eingabevektorx i IR n und einer gewünschten Ausgabeo i {0, }. Sei weiterhinl 0 ={(x,o) L o=0} und L ={(x,o) L o=}. FallsL 0 undl linear separabel sind, d.h., fallsw IR n undθ IR existieren, so dass (x, 0) L 0 : (x, ) L : wx<θ und wx θ, dann terminieren sowohl Online- als auch Batch-Training. Für nicht linear separable Probleme terminiert der Algorithmus nicht. Rudolf Kruse Neuronale Netze 38
39 Trainieren von Netzwerken aus Schwellenwertelementen Einzelne Schwellenwertelemente haben starke Einschränkungen: Sie können nur linear separable Funktionen berechnen. Netzwerke aus Schwellenwertelemente können beliebige Boolesche Funktionen berechnen. Das Trainieren einzelner Schwellenwertelemente mit der Delta-Regel ist schnell und findet garantiert eine Lösung, falls eine existiert. Netzwerke aus Schwellenwertelementen können nicht mit der Delta-Regel trainiert werden. Rudolf Kruse Neuronale Netze 39
40 Allgemeine (Künstliche) Neuronale Netze Rudolf Kruse Neuronale Netze 40
41 Allgemeine Neuronale Netze Graphentheoretische Grundlagen Ein (gerichteter) Graph ist ein Tupel G = (V, E), bestehend aus einer (endlichen) MengeV von Knoten oder Ecken und einer (endlichen) MengeE V V von Kanten. Wir nennen eine Kantee=(u,v) E gerichtet von Knotenuzu Knotenv. SeiG = (V,E) ein (gerichteter) Graph undu V ein Knoten. Dann werden die Knoten der Menge pred(u) ={v V (v,u) E} die Vorgänger des Knotens u und die Knoten der Menge succ(u) ={v V (u,v) E} die Nachfolger des Knotens u genannt. Rudolf Kruse Neuronale Netze 4
42 Allgemeine Neuronale Netze Allgemeine Definition eines neuronalen Netzes Ein (künstliches) neuronales Netz ist ein (gerichteter) Graph G = (U, C), dessen Knotenu U Neuronen oder Einheiten und dessen Kanten c C Verbindungen genannt werden. Die Menge U der Knoten wird partitioniert in die MengeU in der Eingabeneuronen, die MengeU out der Ausgabeneuronen, die MengeU hidden der versteckten Neuronen. und Es gilt: U =U in U out U hidden, U in, U out, U hidden (U in U out ) =. Rudolf Kruse Neuronale Netze 42
43 Allgemeine Neuronale Netze Jede Verbindung (v,u) C besitzt ein Gewichtw uv und jedes Neuron u U besitzt drei (reellwertige) Zustandsvariablen: die Netzwerkeingabe net u, die Aktivierung act u, die Ausgabe out u. und Jedes Eingabeneuronu U in besitzt weiterhin eine vierte reellwertige Zustandsvariable, die externe Eingabe ex u. Weiterhin besitzt jedes Neuron u U drei Funktionen: die Netzwerkeingabefunktion die Aktivierungsfunktion die Ausgabefunktion f net (u) : IR2 pred(u) +κ(u) IR, f act (u) : IRκ 2(u) IR, und f out (u) : IR IR, die benutzt werden, um die Werte der Zustandsvariablen zu berechnen. Rudolf Kruse Neuronale Netze 43
44 Allgemeine Neuronale Netze Typen (künstlicher) neuronaler Netze Falls der Graph eines neuronalen Netzes azyklisch ist, wird das Netz Feed-Forward-Netzwerk genannt. Falls der Graph eines neuronalen Netzes Zyklen enthält, (rückwärtige Verbindungen), wird es rekurrentes Netzwerk genannt. Darstellung der Verbindungsgewichte als Matrix u u 2... u r w u u w u u 2... w u u r w u2 u w u2 u 2 w u2 u r.. w ur u w ur u 2... w ur u r u u 2. u r Rudolf Kruse Neuronale Netze 44
45 Allgemeine Neuronale Netze: Beispiel Ein einfaches rekurrentes neuronales Netz: 2 x u u y x 2 u 2 Gewichtsmatrix dieses Netzes: u u 2 u u u 2 u 3 Rudolf Kruse Neuronale Netze 45
46 Structure of a Generalized Neuron Ein verallgemeinertes Neuron verarbeitet numerische Werte ex u out v = in uv u w uv... f (u) net f (u) net u act f (u) act u out out u out vn = in uvn w uvn σ,...,σ l θ,...,θ k Rudolf Kruse Neuronale Netze 46
47 Allgemeine Neuronale Netze: Beispiel x u 2 u 3 y 4 3 x 2 u 2 f (u) net (w u, in u ) = v pred(u) w uvin uv = v pred(u) w uv out v f (u) act (net u,θ) =, falls net u θ, 0, sonst. f (u) out (act u) = act u Rudolf Kruse Neuronale Netze 47
48 Allgemeine Neuronale Netze: Beispiel Aktualisierung der Neuronenaktivierungen u u 2 u 3 Eingabephase 0 0 Arbeitsphase 0 0 net u3 = net u = net u2 = net u3 = net u = 0 Aktualisierungsreihenfolge: u 3,u,u 2,u 3,u,u 2,u 3,... Eingabephase: Aktivierungen/Ausgaben im Startzustand (erste Zeile) Die Aktivierung des gerade zu aktualisierenden Neurons (fettgedruckt) wird mit Hilfe der Ausgaben der anderen Neuronen und der Gewichte neu berechnet. Ein stabiler Zustand mit eindeutiger Ausgabe wird erreicht. Rudolf Kruse Neuronale Netze 48
49 Allgemeine Neuronale Netze: Beispiel Aktualisierung der Neuronenaktivierungen Aktualisierungsreihenfolge: u 3,u 2,u,u 3,u 2,u,u 3,... u u 2 u 3 Eingabephase 0 0 Arbeitsphase 0 0 net u3 = 2 0 net u2 = 0 0 net u = 0 0 net u3 = net u2 = 0 0 net u = net u3 = 2 Es wird kein stabiler Zustand erreicht (Oszillation der Ausgabe). Rudolf Kruse Neuronale Netze 49
50 Allgemeine Neuronale Netze: Training Definition von Lernaufgaben für ein neuronales Netz Eine feste LernaufgabeL fixed für ein neuronales Netz mit n Eingabeneuronen, d.h.u in ={u,...,u n }, m Ausgabeneuronen, d.h.u out ={v,...,v m }, and ist eine Menge von Trainingsbeispielenl= ( ı (l),o (l)), bestehend aus einem Eingabevektorı (l) = ( ex (l) u,...,ex (l) ) u n einem Ausgabevektoro (l) = ( o (l) v,...,o (l) v m ). and Eine feste Lernaufgabe gilt als gelöst, wenn das NN für alle Trainingsbeispiele l L fixed aus den externen Eingaben im Eingabevektorı (l) eines Trainingsmustersldie Ausgaben berechnet, die im entsprechenden Ausgabevektoro (l) enthalten sind. Rudolf Kruse Neuronale Netze 50
51 Allgemeine Neuronale Netze: Training Lösen einer festen Lernaufgabe: Fehlerbestimmung Bestimme, wie gut ein neuronales Netz eine feste Lernaufgabe löst. Berechne Differenzen zwischen gewünschten und berechneten Ausgaben. Summiere Differenzen nicht einfach, da sich die Fehler gegenseitig aufheben könnten. Quadrieren liefert passende Eigenschaften, um die Anpassungsregeln abzuleiten. e = e (l) = l L fixed e v = v U out l L fixed e (l) v, v U out wobei e (l) v = ( o (l) v out (l) ) 2 v Rudolf Kruse Neuronale Netze 5
52 Allgemeine Neuronale Netze: Training Definition von Lernaufgaben für ein neuronales Netz Eine freie LernaufgabeL free für ein neuronales Netz mit n Eingabeneuronen, d.h.u in ={u,...,u n }, ist eine Menge von Trainingsbeispielenl= ( ı (l)), wobei jedes aus einem Eingabevektorı (l) = ( ex (l) u,...,ex (l) u n ) besteht. Eigenschaften: Es gibt keine gewünschte Ausgabe für die Trainingsbeispiele. Ausgaben können von der Trainingsmethode frei gewählt werden. Lösungsidee: Ähnliche Eingaben sollten zu ähnlichen Ausgaben führen. (Clustering der Eingabevektoren) Rudolf Kruse Neuronale Netze 52
53 Allgemeine Neuronale Netze: Vorverarbeitung Normalisierung der Eingabevektoren Berechne Erwartungswert und Standardabweichung jeder Eingabe: µ k = L l L ex(l) u k and σ k = L (l) ex l L u k µ k 2, Normalisiere die Eingabevektoren auf Erwartungswert 0 und Standardabweichung : u k µ k ex (l)(neu) u k = ex(l)(alt) σ k Vermeidet Skalierungsprobleme. Rudolf Kruse Neuronale Netze 53
54 Mehrschichtige Perzeptren Multilayer Perceptrons (MLPs) Rudolf Kruse Neuronale Netze 54
55 Mehrschichtige Perzeptren Ein r-schichtiges Perzeptron ist ein neuronales Netz mit einem Graph G = (U, C) das die folgenden Bedingungen erfüllt: (i)u in U out =, (ii)u hidden =U () hidden U(r 2) hidden, (iii)c i<j r 2 : Uin U () hidden U (i) hidden U(j) hidden =, r 3 i= U(i) hidden U(i+) hidden (r 2) U hidden U out oder, falls keine versteckten Neuronen vorhanden (r = 2,U hidden = ), C U in U out. Vorwärtsgerichtetes Netz mit streng geschichteter Struktur. Rudolf Kruse Neuronale Netze 55
56 Mehrschichtige Perzeptren Allgemeine Struktur eines mehrschichtigen Perzeptrons x y x 2... y 2... x n y m U in U () hidden U (2) hidden U (r 2) hidden U out Rudolf Kruse Neuronale Netze 56
57 Mehrschichtige Perzeptren Die Netzwerkeingabe jedes versteckten Neurons und jedes Ausgabeneurons ist die gewichtete Summe seiner Eingaben, d.h. u U hidden U out : f (u) net (w u, in u ) =w u in u = v pred (u) w uv out v. Die Aktivierungsfunktion jedes versteckten Neurons ist eine sogenannte Sigmoide, d.h. eine monoton steigende Funktion f : IR [0, ] with lim f(x) = 0 and lim f(x) =. x x Die Aktivierungsfunktion jedes Ausgabeneurons ist ebenfalls entweder eine Sigmoide oder eine lineare Funktion, d.h. f act (net,θ) =α net θ. Rudolf Kruse Neuronale Netze 57
58 Sigmoide als Aktivierungsfunktionen Stufenfunktion: f act (net,θ) =, falls net θ, 0, sonst. Semilineare Funktion: f act (net,θ) =, falls net>θ+ 2, 0, falls net<θ 2, (net θ) + 2, sonst. 2 2 θ net θ θ 2 θ + 2 net Sinus bis Sättigung: f act (net,θ) =, falls net>θ + π 2, 0, falls net<θ π 2, sin(net θ)+ 2, sonst. Logistische Funktion: f act (net,θ) = +e (net θ) 2 2 θ θ π 2 θ + π 2 net net θ 8 θ 4 θ θ + 4 θ + 8 Rudolf Kruse Neuronale Netze 58
59 Sigmoide als Aktivierungsfunktionen Alle Sigmoiden auf der vorherigen Folie sind unipolar, d.h. sie reichen von 0 bis. Manchmal werden bipolare sigmoidale Funktionen verwendet, wie beispielsweise der tangens hyperbolicus. tangens hyperbolicus: f act (net,θ) = tanh(net θ) = 2 +e 2(net θ) 0 θ 4 θ 2 θ θ + 2 θ + 4 net Rudolf Kruse Neuronale Netze 59
60 Mehrschichtige Perzeptren: Gewichtsmatrizen SeienU ={v,...,v m } andu 2 ={u,...,u n } die Neuronen zwei aufeinanderfolgender Schichten eines MLP. Ihre Verbindungsgewichte werden dargestellt als eine n m-matrix W = w u v w u v 2... w u v m w u2 v w u2 v 2... w u2 v m... w un v w un v 2... w un v m, wobeiw ui v j = 0, falls es keine Verbindung von Neuronv j zu Neuronu i gibt. Vorteil: Die Berechnung der Netzwerkeingabe kann geschrieben werden als net U2 = W in U2 = W out U wobei net U2 = (net u,...,net un ) und in U2 = out U = (out v,...,out vm ). Rudolf Kruse Neuronale Netze 60
61 Mehrschichtige Perzeptren: Biimplication Lösen des Biimplikationsproblems mit einem MLP. x x y U in U hidden U out Man beachte die zusätzlichen Eingabeneuronen im Vergleich zur Lösung mit Schwellenwertelementen. W = und W 2 = ( 2 2 ) Rudolf Kruse Neuronale Netze 6
62 Mehrschichtige Perzeptren: Fredkin-Gatter 0 a b s x x 2 0 a b a b s y y 2 b a s x x y y y y 2 s x 2 s x 2 x x Rudolf Kruse Neuronale Netze 62
63 Mehrschichtige Perzeptren: Fredkin-Gatter x s x y y 2 W = W 2 = U in U hidden U out Rudolf Kruse Neuronale Netze 63
64 Warum nicht-lineare Aktivierungsfunktionen? In Matrixschreibweise ergibt sich für zwei aufeinanderfolgende SchichtenU undu 2 net U2 = W in U2 = W out U. Wenn die Aktivierungsfunktionen linear sind, d.h. f act (net,θ) =α net θ. können die Aktivierungen der Neuronen in der SchichtU 2 wie folgt berechnet werden: act U2 = D act net U2 θ, wobei act U2 = (act u,...,act un ) der Aktivierungsvektor ist, D act einen n Diagonalmatrix aus den Faktorenα ui,i=,...,n, ist und θ = (θ u,...,θ un ) der Bias-Vektor ist. Rudolf Kruse Neuronale Netze 64
65 Warum nicht-lineare Aktivierungsfunktionen? Falls die Ausgabefunktion auch linear ist, gilt analog out U2 = D out act U2 ξ, wobei out U2 = (out u,...,out un ) der Ausgabevektor ist, D out wiederum einen n Diagonalmatrix aus Faktoren ist und ξ = (ξ u,...,ξ un ) ein Biasvektor ist. In Kombination ergibt sich und daher out U2 = D out ( D act (W out U ) θ ) ξ out U2 = A 2 out U +b 2 mit einern m-matrix A 2 und einemn-dimensionalen Vektorb 2. Rudolf Kruse Neuronale Netze 65
66 Warum nicht-lineare Aktivierungsfunktionen? Daher ergibt sich und out U2 = A 2 out U +b 2 out U3 = A 23 out U2 +b 23 für die Berechnungen zwei aufeinanderfolgender SchichtenU 2 undu 3. Diese beiden Berechnungen können kombiniert werden zu out U3 = A 3 out U +b 3, wobei A 3 = A 23 A 2 undb 3 = A 23 b 2 +b 23. Ergebnis: Mit linearen Aktivierungs- und Ausgabefunktionen können beliebige mehrschichtige Perzeptren auf zweischichtige Perzeptren reduziert werden. Rudolf Kruse Neuronale Netze 66
67 Mehrschichtige Perzeptren: Funktionsapproximation Idee der Funktionsapproximation Nähere eine gegebene Funktion durch eine Stufenfunktion an. Konstruiere ein neuronales Netz, das die Stufenfunktion berechnet. y y 3 y 4 y 2 y 0 y x x x 2 x 3 x 4 Rudolf Kruse Neuronale Netze 67
68 Mehrschichtige Perzeptren: Funktionsapproximation x... x x 2 x 3 x Ein neuronales Netz, das die Treppenfunktion von der vorherigen Folie berechnet. Es ist immer nur eine Stufe passend zum Eingabewert aktiv und die Stufenhöhe wird ausgegeben.... y y 2 y 3. id y Rudolf Kruse Neuronale Netze 68
69 Mehrschichtige Perzeptren: Funktionsapproximation Theorem: Jede Riemann-integrierbare Funktion kann mit beliebiger Genauigkeit durch ein vierschichtiges MLP berechnet werden. Aber: Fehler wird bestimmt als die Fläche zwischen Funktionen. Weitere mathematische Untersuchungen zeigen, dass sogar gilt: Mit einem dreischichtigen Perzeptron kann jede stetige Funktion mit beliebiger Genauigkeit angenähert werden (Fehlerbestimmung: maximale Differenz der Funktionswerte). Rudolf Kruse Neuronale Netze 69
70 Mehrschichtige Perzeptren: Funktionsapproximation y y 2 y 3 y 4 y y 4 y 3 x y 0 y y y 2 x x x 2 x 3 x 4 x x 2 x 3 x y 4 y 3 y 2 y Rudolf Kruse Neuronale Netze 70
71 Mehrschichtige Perzeptren: Funktionsapproximation. x. x x 2 x 3. y y 2 y 3 id y. x 4. Ein neuronales Netz, das die Treppenfunktion von der vorherigen Folie als gewichtete Summe von Sprungfunktionen berechnet. y 4. Rudolf Kruse Neuronale Netze 7
72 Mehrschichtige Perzeptren: Funktionsapproximation y y 2 y 3 y 4 y y 4 y 3 x y 0 y y y 2 x x x 2 x 3 x 4 x x 2 x 3 x y 4 y 3 y 2 y Rudolf Kruse Neuronale Netze 72
73 Mehrschichtige Perzeptren: Funktionsapproximation.. x x θ θ 2 y 2. y x id y x θ 3 y 3 x. θ 4 y 4. θ i = x i x. Ein neuronales Netz, das die stückweise lineare Funktion von der vorherigen Folie durch eine gewichtete Summe von semi-linearen Funktionen berechnet, wobei x =x i+ x i. Rudolf Kruse Neuronale Netze 73
74 Mathematischer Hintergrund: Regression Rudolf Kruse Neuronale Netze 74
75 Mathematischer Hintergrund: Lineare Regression Das Trainieren von NN ist stark verwandt mit Regression Geg: Ein Datensatz ((x,y ),...,(x n,y n )) ausndaten-tupeln und Hypothese über den funktionellen Zusammenhang, also z.b. y = g(x) = a + bx. Idee: Minimiere die Summe der quadrierten Fehler, d.h. n F(a,b) = (g(x i) y i ) 2 = n (a +bx i y i ) 2. i= i= Notwendige Bedingungen für ein Minimum: F a = n i= 2(a +bx i y i ) = 0 und F b = n i= 2(a +bx i y i )x i = 0 Rudolf Kruse Neuronale Netze 75
76 Mathematischer Hintergrund: Lineare Regression Resultat der notwendigen Bedingungen: System sogenannter Normalgleichungen, d.h. n i= x i na + a + n i= x i n i= x2 i b = n y i, i= b = n x iy i. i= Zwei lineare Gleichungen für zwei Unbekannte a und b. System kann mit Standardmethoden der linearen Algebra gelöst werden. Die Lösung ist eindeutig, falls nicht alle x-werte identisch sind. Die errechnete Gerade nennt man Regressionsgerade. Rudolf Kruse Neuronale Netze 76
77 Lineare Regression: Beispiel x y y = x y x Rudolf Kruse Neuronale Netze 77
78 Mathematischer Hintergrund: Polynomiale Regression Generalisierung auf Polynome y =p(x) =a 0 +a x a m x m Idee: Minimiere die Summe der quadrierten Fehler, d.h. F(a 0,a,...,a m ) = n i= (p(x i) y i ) 2 = n i= (a 0 +a x i a m x m i y i ) 2 Notwendige Bedingungen für ein Minimum: Alle partiellen Ableitungen verschwinden, d.h. F a 0 = 0, F a = 0,..., F a m = 0. Rudolf Kruse Neuronale Netze 78
79 Mathematischer Hintergrund: Polynomiale Regression System von Normalgleichungen für Polynome n i= x i n i= xm i na 0 + a 0 + n i= x i n i= x2 i a a n n i= xm i i= xm+ i a m = n i= y i a m = n x iy i i=.. a 0 + n i= xm+ i a n i= x2m i m + lineare Gleichungen fürm + Unbekanntea 0,...,a m. a m = n i= xm iy i, System kann mit Standardmethoden der linearen Algebra gelöst werden. Die Lösung ist eindeutig, falls nicht alle x-werte identisch sind. Rudolf Kruse Neuronale Netze 79
80 Mathematischer Hintergrund: Multilineare Regression Generalisierung auf mehr als ein Argument z =f(x,y) =a +bx +cy Idee: Minimiere die Summe der quadrierten Fehler, d.h. F(a,b,c) = n i= (f(x i,y i ) z i ) 2 = n i= (a +bx i +cy i z i ) 2 Notwendige Bedingungen für ein Minimum: Alle partiellen Ableitungen verschwinden, d.h. F a = F b F c n i= 2(a +bx i +cy i z i ) = 0, = n i= 2(a +bx i +cy i z i )x i = 0, = n i= 2(a +bx i +cy i z i )y i = 0. Rudolf Kruse Neuronale Netze 80
81 Mathematischer Hintergrund: Multilineare Regression System von Normalgleichungen für mehrere Argumente n i= x i n i= y i na + a + a + n i= x i n i= x2 i n b + b + x iy i b + i= n n i= y i c = n i= z i x iy i c = n z ix i i= i= n i= y2 i c = n z iy i i= 3 lineare Gleichungen für 3 Unbekanntea,bundc. System kann mit Standardmethoden der linearen Algebra gelöst werden. Die Lösung ist eindeutig, falls nicht allex-werte oder alley-werte identisch sind. Rudolf Kruse Neuronale Netze 8
82 Multilineare Regression Allgemeiner multilinearer Fall: y =f(x,...,x m ) =a 0 + m Idee: Minimiere die Summe der quadrierten Fehler, d.h. k= a kx k wobei F(a) = (Xa y) (Xa y), X = x... x m x n... x mn, y = y. y n, und a = a 0 a. a m Notwendige Bedingungen für ein Minimum: a F(a) = a (Xa y) (Xa y) = 0 Rudolf Kruse Neuronale Netze 82
83 Multilineare Regression a F(a) kann einfach berechnet werden mit der Überlegung, dass der Nabla- Operator a =,..., a 0 a m sich formell wie ein Vektor verhält, der mit der Summe der quadrierten Fehler multipliziert wird. Alternativ kann man die Differentiation komponentenweise beschreiben. Mit der vorherigen Methode bekommen wir für die Ableitung: a (Xa y) (Xa y) = ( a (Xa y)) (Xa y) + ((Xa y) ( a (Xa y))) = ( a (Xa y)) (Xa y) + ( a (Xa y)) (Xa y) = 2X (Xa y) = 2X Xa 2X y = 0 Rudolf Kruse Neuronale Netze 83
84 Multilineare Regression Einige Regeln für Vektor-/Matrixberechnung und Ableitungen: (A + B) = A + B (AB) = B A z Az = A z f(z)a = ( z f(z))a z (f(z)) = ( z f(z)) z f(z)g(z) = ( z f(z))g(z) +f(z)( z g(z)) Ableitung der zu minimierenden Funktion: a F(a) = a (Xa y) (Xa y) = a ((Xa) y )(Xa y) = a ((Xa) Xa (Xa) y y Xa +y y) = a (Xa) Xa a (Xa) y a y Xa + a y y = ( a (Xa) )Xa + ((Xa) ( a Xa)) 2 a (Xa) y = (( a Xa) )Xa + ( a Xa) Xa 2( a (Xa) )y = 2( a Xa) Xa 2( a Xa) y = 2X Xa 2X y Rudolf Kruse Neuronale Netze 84
85 Multilineare Regression Notwendige Bedingungen für ein Minimum also: a F(a) = a (Xa y) (Xa y) = 2X Xa 2X y =! 0 Als Ergebnis bekommen wir das System von Normalgleichungen: X Xa = X y Dieses System hat eine Lösung, falls X X nicht singulär ist. Dann ergibt sich a = (X X) X y. (X X) X heißt die (Moore-Penrose-)Pseudoinverse der Matrix X. Mit der Matrix-Vektor-Repräsentation des Regressionsproblems ist die Erweiterung auf Multipolynomiale Regression naheliegend: Addiere die gewünschten Produkte zur Matrix X. Rudolf Kruse Neuronale Netze 85
86 Mathematischer Hintergrund: Logistische Regression Generalisierung auf nicht-polynomiale Funktionen Einfaches Beispiel: y =ax b Idee: Finde Transformation zum linearen/polynomiellen Fall. Transformation z.b.: lny = lna +b lnx. Spezialfall: logistische Funktion y = Y +e a+bx y = +ea+bx Y Y y y =e a+bx. Ergebnis: Wende sogenannte Logit-Transformation an: ln Y y y =a +bx. Rudolf Kruse Neuronale Netze 86
87 Logistische Regression: Beispiel Transformiere die Daten mit x y z = ln Die transformierten Datenpunkte sind Y y y Die sich ergebende Regressionsgerade ist, Y = 6. x z z.3775x Rudolf Kruse Neuronale Netze 87
88 Logistische Regression: Beispiel z x y Y = 6 x Die logistische Regressionsfunktion kann von einem einzelnen Neuron mit Netzeingabefunktionf net (x) wx mitw.3775, Aktivierungsfunktionf act (net,θ) ( +e (net θ )) mitθ 4.33 und Ausgabefunktionf out (act) 6 act berechnet werden. Rudolf Kruse Neuronale Netze 88
89 Training von MLPs Rudolf Kruse Neuronale Netze 89
90 Training von MLPs: Gradientenabstieg Problem der logistischen Regression: Funktioniert nur für zweischichtige Perzeptren. Allgemeinerer Ansatz: Gradientenabstieg. Notwendige Bedingung: differenzierbare Aktivierungs- und Ausgabefunktionen. z (x0,y 0 ) z y 0 z x x 0 z y y 0 y x 0 Illustration des Gradienten einer reellwertigen Funktionz =f(x,y) am Punkt (x 0,y 0 ). Dabei ist z (x0,y 0 ) = ( z x x 0, y z ) y 0. Rudolf Kruse Neuronale Netze 90 x
91 Gradientenabstieg: Formaler Ansatz Grundidee: Erreiche das Minimum der Fehlerfunktion in kleinen Schritten. Fehlerfunktion: e = e (l) = l L fixed e v = v U out l L fixed Erhalte den Gradienten zur Schrittrichtungsbestimmung: wu e = e w u = e, θ u Nutze die Summe über die Trainingsmuster aus: wu e = e w u = e w up,..., w u l L fixed e (l) = e (l) v, v U out e w upn. l L fixed e (l) w u. Rudolf Kruse Neuronale Netze 9
92 Gradientenabstieg: Formaler Ansatz Einzelmusterfehler hängt nur von Gewichten durch die Netzeingabe ab: wu e (l) = e(l) = e(l) net (l) u w u net (l). u w u Da net (l) u =w u in (l) u, bekommen wir für den zweiten Faktor net (l) u w u = in (l) u. Für den ersten Faktor betrachten wir den Fehlere (l) für das Trainingsmusterl = ( ı (l),o (l)) : e (l) = e (l) u = v U out Rudolf Kruse Neuronale Netze 92 v U out d.h. die Summe der Fehler über alle Ausgabeneuronen. ( o (l) v out (l) ) 2 v,
93 Gradientenabstieg: Formaler Ansatz Daher haben wir e (l) net (l) u = v U out o (l) v out (l) v net (l) u 2 = v U out o (l) v out (l) v net (l) u 2. Da nur die eigentliche Ausgabe out (l) v eines Ausgabeneuronsv von der Netzeingabe net (l) u des Neurons u abhängt, das wir betrachten, ist e (l) net (l) u = 2 v U out ( o (l) v out (l) v ) out (l) v net (l), u } {{ } δ u (l) womit zugleich die Abkürzungδ (l) u für die im Folgenden wichtige Summe eingeführt wird. Rudolf Kruse Neuronale Netze 93
94 Gradientenabstieg: Formaler Ansatz Unterscheide zwei Fälle: Im ersten Fall haben wir Das Neuron u ist ein Ausgabeneuron. Das Neuronuist ein verstecktes Neuron. u U out : Damit ergibt sich für den Gradienten δ u (l) = ( o (l) u out (l) ) out (l) u u net (l) u u U out : wu e (l) und damit für die Gewichtsänderung = 2 ( o (l) u out (l) ) out (l) u u w u net (l) u u = e(l) u in (l) u u U out : w (l) u = η 2 w u e (l) u =η ( o (l) u out (l) ) out (l) u u net (l) u in (l) u. Rudolf Kruse Neuronale Netze 94
95 Gradientenabstieg: Formaler Ansatz Genaue Formel hängt von der Wahl der Aktivierungs- und Ausgabefunktion ab, da gilt out (l) u =f out ( act (l) u ) ( ( )) =fout fact net (l) u. Betrachte Spezialfall mit Ausgabefunktion ist die Identität, Aktivierungsfunktion ist logistisch, d.h.f act (x) = +e x. Die erste Annahme ergibt out (l) u net (l) u = act(l) u net (l) u =f act ( ) net (l) u. Rudolf Kruse Neuronale Netze 95
96 Gradientenabstieg: Formaler Ansatz Für eine logistische Aktivierungsfunktion ergibt sich und daher f act(x) = d dx ( +e x ) = +e x ( +e x ) 2 = = f act (x) ( f act (x)), = ( +e x) 2 ( e x) +e x +e x f act ( net (l) u ) ( =fact net (l) u Die sich ergebende Gewichtsänderung ist daher ) ( ( ) fact net (l) ) u = out (l) u ( ) out (l) u. w (l) u =η ( o (l) u out (l) ) u out (l) u womit die Berechnungen sehr einfach werden. ( ) out (l) u in (l) u, Rudolf Kruse Neuronale Netze 96
97 Fehlerrückpropagation engl: error backpropagation Jetzt: Das Neuronuist ein verstecktes Neuron, d.h.u U k, 0<k<r. Die Ausgabe out (l) v eines Ausgabeneuronsv hängt von der Netzeingabe net (l) u nur indirekt durch seine Nachfolgeneuronen succ(u) ={s U (u,s) C} ={s,...,s m } U k+ ab, insbesondere durch deren Netzeingaben net (l) s. Wir wenden die Kettenregel an und erhalten δ (l) u = Summentausch ergibt v U out (o (l) s succ(u) v out (l) (l) ) out v v net (l) s net (l) s net (l) u. δ (l) u = s succ(u) (o (l) v U out v out (l) v (l) ) out v net (l) s net (l) s net (l) u = s succ(u) δ (l) s net (l) s net (l). u Rudolf Kruse Neuronale Netze 97
98 Fehlerrückpropagation Betrachte die Netzeingabe net (l) s =w s in (l) s = p pred(s) w sp out (l) θ s, wobei ein Element von in (l) s die Ausgabe out (l) u des Neuronsuist. Daher ist p net (l) s net (l) u = p pred(s) out (l) p w sp net (l) u θ s net (l) u out (l) u = w su net (l), u Das Ergebnis ist die rekursive Gleichung (Fehlerrückpropagation) δ (l) u = δ sw (l) su s succ(u) out (l) u net (l). u Rudolf Kruse Neuronale Netze 98
99 Fehlerrückpropagation Die sich ergebende Formel für die Gewichtsänderung ist w (l) u = η 2 w u e (l) =ηδ (l) u in (l) u =η δ sw (l) su s succ(u) out (l) u net (l) u in (l) u. Betrachte erneut den Spezialfall mit Ausgabefunktion: Identität, Aktivierungsfunktion: logistisch. Die sich ergebende Formel für die Gewichtsänderung ist damit w (l) u =η δ (l) sw su out (l) u s succ(u) ( ) out (l) u in (l) u. Rudolf Kruse Neuronale Netze 99
100 Fehlerrückpropagation: Vorgehensweise u U in : out (l) u = ex (l) u x x 2. x n. Vorwärtspropagation:. u U hidden : δ (l) u = λ (l) u = out (l) u. u U hidden U out : out (l) u = s succ(u) δ sw (l) su λ(l) u out(l) u. + exp p pred(u) w up out (l) p. Rückwärtspropagation: Aktivierungsableitung: Gewichtsänderung: y y 2 y m u U out : δ (l) u = logistische Aktivierungsfunktion impliziter Biaswert u out (l) u o(l) Fehlerfaktor: λ(l) u w up (l) =ηδ u (l) out (l) p Rudolf Kruse Neuronale Netze 00
101 Gradientenabstieg: Beispiele Gradientenabstieg für die Negation x x w θ y x y e 2 e 2 e w θ Fehler fürx= w θ Fehler fürx = w θ Summe der Fehler Rudolf Kruse Neuronale Netze 0
102 Gradientenabstieg: Beispiele Epoche θ w Fehler Online-Training Epoche θ w Fehler Batch-Training Rudolf Kruse Neuronale Netze 02
103 Gradientenabstieg: Beispiele Visualisierung des Gradientenabstiegs für die Negation x w θ Online-Training w θ Batch-Training 2 w e θ Batch-Training Das Training ist offensichtlich erfolgreich. Der Fehler kann nicht vollständig verschwinden, bedingt durch die Eigenschaften der logistischen Funktion. Rudolf Kruse Neuronale Netze 03
104 Gradientenabstieg: Beispiele Beispielfunktion: f(x) = 5 6 x4 7x x2 8x + 6, i x i f(x i ) f (x i ) x i Gradientenabstieg mit Startwert 0.2 und Lernrate Rudolf Kruse Neuronale Netze 04
105 Gradientenabstieg: Beispiele Beispielfunktion: f(x) = 5 6 x4 7x x2 8x + 6, i x i f(x i ) f (x i ) x i start Gradientenabstieg mit Startwert.5 und Lernrate Rudolf Kruse Neuronale Netze 05
106 Gradientenabstieg: Beispiele Beispielfunktion: f(x) = 5 6 x4 7x x2 8x + 6, i x i f(x i ) f (x i ) x i Gradientenabstieg mit Startwert 2.6 und Lernrate Rudolf Kruse Neuronale Netze 06
107 Gradientenabstieg: Varianten Gewichts-Updateregel: Standard-Backpropagation: Manhattan-Training: w(t + ) =w(t) + w(t) w(t) = η 2 we(t) w(t) = η sgn( w e(t)) d.h. es wird nur die Richtung (Vorzeichen) der Änderung beachtet und eine feste Schrittweite gewählt Moment-Term: w(t) = η 2 we(t) +β w(t ), d.h. bei jedem Schritt wird noch ein gewisser Anteil des vorherigen Änderungsschritts mit berücksichtigt, was zu einer Beschleunigung führen kann Rudolf Kruse Neuronale Netze 07
108 Gradientenabstieg: Varianten Selbstadaptive Fehlerrückpropagation: η w (t) = c η w (t ), falls w e(t) w e(t )<0, c + η w (t ), falls w e(t) w e(t )>0 w e(t ) w e(t 2) 0, η w (t ), sonst. Elastische Fehlerrückpropagation: w(t) = c w(t ), falls w e(t) w e(t )<0, c + w(t ), falls w e(t) w e(t )>0 w e(t ) w e(t 2) 0, w(t ), sonst. Typische Werte:c [0.5, 0.7] undc + [.05,.2]. Rudolf Kruse Neuronale Netze 08
109 Gradientenabstieg: Varianten Quickpropagation e apex e(t ) e(t) m w(t+) w(t) w(t ) w w e w e(t ) w e(t) Die Gewichts-Updateregel kann aus den Dreiecken abgeleitet werden: w(t) = w e(t) w e(t ) w e(t) w(t ). w(t+) w(t) w(t ) 0 w Rudolf Kruse Neuronale Netze 09
110 Gradientenabstieg: Beispiele Epoche θ w Fehler ohne Momentterm Epoche θ w Fehler mit Momentterm Rudolf Kruse Neuronale Netze 0
111 Gradientenabstieg: Beispiele w θ ohne Momentterm w θ mit Momentterm 2 w e θ mit Momentterm Punkte zeigen die Position alle 20 (ohne Momentterm) oder alle zehn Epochen (mit Momentterm). Lernen mit Momentterm ist ungefähr doppelt so schnell. Rudolf Kruse Neuronale Netze
112 Gradientenabstieg: Beispiele Beispielfunktion: f(x) = 5 6 x4 7x x2 8x + 6, i x i f(x i ) f (x i ) x i Gradientenabstieg mit Momentterm(β = 0.9) Rudolf Kruse Neuronale Netze 2
113 Gradientenabstieg: Beispiele Beispielfunktion: f(x) = 5 6 x4 7x x2 8x + 6, i x i f(x i ) f (x i ) x i Gradientenabstieg mit selbstadaptierender Lernrate (c + =.2,c = 0.5). Rudolf Kruse Neuronale Netze 3
114 Andere Erweiterungen der Fehlerrückpropagation Flat Spot Elimination: w(t) = η 2 we(t) +ζ Eliminiert langsames Lernen in der Sättigungsregion der logistischen Funktion. Wirkt dem Verfall der Fehlersignale über die Schichten entgegen. Gewichtsverfall: (engl. weight decay) w(t) = η 2 we(t) ξw(t), Kann helfen, die Robustheit der Trainingsergebnisse zu verbessern. Kann aus einer erweiterten Fehlerfunktion abgeleitet werden, die große Gewichte bestraft: e =e + ξ 2 Rudolf Kruse Neuronale Netze 4 u U out U θ2 u + wup 2 hidden p pred(u).
115 Sensitivitätsanalyse Rudolf Kruse Neuronale Netze 5
116 Sensitivitätsanalyse Problem: schwer verständliches Wissen, das in einem gelernten neuronalen Netz gespeichert ist: Geometrische oder anderweitig anschauliche Deutung gelingt nur bei einfachen Netzen, versagt aber bei komplexen praktischen Problemen Versagen des Vorstellungsvermögens insbesondere bei hochdimensionalen Räumen Das neuronale Netz wird zu einer black box, die auf unergründliche Weise aus den Eingaben die Ausgaben berechnet. Idee: Bestimmung des Einflusses einzelner Eingaben auf die Ausgabe des Netzes. Sensitivitätsanalyse Rudolf Kruse Neuronale Netze 6
117 Sensitivitätsanalyse Frage: Idee: Wie wichtig sind einzelne Eingaben für das Netzwerk? Bestimme die Änderung der Ausgabe relativ zur Änderung der Eingabe. u U in : s(u) = L fixed l L fixed out v U out (l) v ex (l) u. Formale Herleitung: Wende Kettenregel an. out v ex u = out v out u out u ex u = out v net v net v out u out u ex u. Vereinfachung: Nimm an, dass die Ausgabefunktion die Identität ist. out u ex u =. Rudolf Kruse Neuronale Netze 7
118 Sensitivitätsanalyse Für den zweiten Faktor bekommen wir das allgemeine Ergebnis: net v out u = Das führt zur Rekursionsformel w vp out p = out u p pred(v) p pred(v) w vp out p out u. out v = out v net v = out v out p w vp. out u net v out u net v p pred(v) out u Aber für die erste versteckte Schicht bekommen wir net v out u =w vu, therefore out v out u = out v net v w vu. Diese Formel stellt den Beginn der Rekursion dar. Rudolf Kruse Neuronale Netze 8
119 Sensitivitätsanalyse Betrachte (wie üblich) den Spezialfall, bei dem die Ausgabefunktion die Identität ist und die Aktivierungsfunktion logistisch ist. In diesem Fall lautet die Rekursionsformel und der Anker der Rekursion ist out v out u = out v ( out v ) p pred(v) w vp out p out u out v out u = out v ( out v )w vu. Rudolf Kruse Neuronale Netze 9
120 Radiale-Basisfunktionen-Netze Rudolf Kruse Neuronale Netze 20
121 Radiale-Basisfunktionen-Netze Eigenschaften von Radiale-Basisfunktionen-Netzen (RBF-Netzen) RBF-Netze sind streng geschichtete, vorwärtsbetriebene neuronale Netze mit genau einer versteckten Schicht. Als Netzeingabe- und Aktivierungsfunktion werden radiale Basisfunktionen verwendet. Jedes Neuron erhält eine Art Einzugsgebiet. Die Gewichte der Verbindungen von der Eingabeschicht zu einem Neuron geben das Zentrum an. Rudolf Kruse Neuronale Netze 2
122 Radiale-Basisfunktionen-Netze Ein radiale-basisfunktionen-netz (RBF-Netz) ist ein neuronales Netz mit einem Graph G = (U, C), das die folgenden Bedingungen erfüllt: (i)u in U out =, (ii)c = (U in U hidden ) C, C (U hidden U out ) Die Netzeingabefunktion jedes versteckten Neurons ist eine Abstandsfunktion zwischen dem Eingabevektor und dem Gewichtsvektor, d.h. u U hidden : f (u) net (w u, in u ) =d(w u, in u ), wobeid:ir n IR n IR + 0 eine Funktion ist, die x,y,z IRn : erfüllt: (i) d(x,y) = 0 x =y, (ii) d(x,y) =d(y,x) (iii) d(x, z) d(x, y) + d(y, z) (Symmetrie), (Dreiecksungleichung). Rudolf Kruse Neuronale Netze 22
123 Abstandsfunktionen Veranschaulichung von Abstandsfunktionen d k (x,y) = Bekannte Spezialfälle dieser Familie sind: n (x i y i ) k i= k = : Manhattan-Abstand, k = 2 : Euklidischer Abstand, k : Maximum-Abstand, d.h.d (x,y) = max n i= x i y i. k = k = 2 k k (alle Punkte auf dem Kreis bzw. den Vierecken haben denselben Abstand zum Mittelpunkt, entsprechend der jeweiligen Abstandsfunktion) Rudolf Kruse Neuronale Netze 23
124 Radiale-Basisfunktionen-Netze Die Netzeingabefunktion der Ausgabeneuronen ist die gewichtete Summe ihrer Eingaben, d.h. u U out : f (u) net (w u, in u ) =w u in u = v pred (u) w uv out v. Die Aktivierungsfunktion jedes versteckten Neurons ist eine sogenannte radiale Funktion, d.h. eine monoton fallende Funktion f : IR + 0 [0, ] with f(0) = and lim f(x) = 0. x Die Aktivierungsfunktion jedes Ausgabeneurons ist eine lineare Funktion f (u) act (net u,θ u ) = net u θ u. (Die lineare Aktivierungsfunktion ist wichtig für die Initialisierung.) Rudolf Kruse Neuronale Netze 24
125 Radiale Aktivierungsfunktionen Rechteckfunktion: f act (net,σ) = 0, falls net>σ,, sonst. Dreiecksfunktion: f act (net,σ) = 0, falls net>σ, net σ, sonst. 0 σ net 0 σ net Kosinus bis Null: f act (net,σ) = 0, falls net>2σ, cos( π 2σ net )+ 2, sonst. Gaußsche Funktion: f act (net,σ) =e net 2 2σ 2 2 e 2 0 σ 2σ net e 2 0 σ 2σ net Rudolf Kruse Neuronale Netze 25
126 Radiale-Basisfunktionen-Netze: Beispiele Radiale-Basisfunktionen-Netz für die Konjunktionx x 2 x x 2 y 2 0 x x (,) ist Zentrum Referenzradius ist 2 Euklidischer Abstand Rechteckfunktion als Aktivierung Biaswert 0 im Ausgabeneuron Rudolf Kruse Neuronale Netze 26
127 Radiale-Basisfunktionen-Netze: Beispiele Radiale-Basisfunktionen-Netz für die Konjunktionx x 2 x x y x x (0,0) ist Zentrum Referenzradius ist 6 5 Euklidischer Abstand Rechteckfunktion als Aktivierung Biaswert im Ausgabeneuron Rudolf Kruse Neuronale Netze 27
128 Radiale-Basisfunktionen-Netze: Beispiele Radiale-Basisfunktionen-Netz für die Biimplikationx x 2 Idee: logische Zerlegung x x 2 (x x 2 ) (x x 2 ) x x y x x Rudolf Kruse Neuronale Netze 28
129 Radiale-Basisfunktionen-Netze: Funktionsapproximation y y 3 y 4 y y 3 y 4 y y 2 y y 2 x x x x 2 x 3 x 4 x x 2 x 3 x 4 y 0 4 y 3 0 y 2 0 y Annäherung der Originalfunktion durch Stufenfunktionen, deren Stufen durch einzelne Neuronen eines RBF-Netzes dargestellt werden können (vgl. MLPs). 0 Rudolf Kruse Neuronale Netze 29
130 Radiale-Basisfunktionen-Netze: Funktionsapproximation.. x σ. y x 2 σ y 2 x 0 y x 3 σ y 3 x 4. σ. Rudolf Kruse Neuronale Netze 30 y 4. σ = 2 x = 2 (x i+ x i ) Ein RBF-Netz, das die Treppenfunktion von der vorherigen Folie bzw. die stückweise lineare Funktion der folgenden Folie berechnet (dazu muss nur die Aktivierungsfunktion der versteckten Neuronen geändert werden).
131 Radiale-Basisfunktionen-Netze: Funktionsapproximation y y 3 y 4 y y 3 y 4 y y 2 y y 2 x x x x 2 x 3 x 4 x x 2 x 3 x 4 y 4 Darstellung einer stückweise linearen Funktion durch eine gewichtete Summe von Dreiecksfunktionen mit Zentrenx i y 3 y 2 y Rudolf Kruse Neuronale Netze 3
132 Radiale-Basisfunktionen-Netze: Funktionsapproximation 2 y 2 y x x Annäherung einer Funktion durch eine Summe von Gaußkurven mit Radius σ =. Es istw = 2,w 2 = 3 undw 3 = w w 2 w 3 Rudolf Kruse Neuronale Netze 32
133 Radiale-Basisfunktionen-Netze: Funktionsapproximation RBF-Netz für eine Summe dreier Gaußfunktionen 2 x y 6 2 Rudolf Kruse Neuronale Netze 33
134 Training von RBF-Netzen Rudolf Kruse Neuronale Netze 34
135 Radiale-Basisfunktionen-Netze: Initialisierung SeiL fixed ={l,...,l m } eine feste Lernaufgabe, bestehend ausmtrainingsbeispielenl=(ı (l),o (l) ). Einfaches RBF-Netz: Ein verstecktes Neuronv k,k=,...,m, für jedes Trainingsbeispiel k {,...,m} : w vk =ı (l k). Falls die Aktivierungsfunktion die Gaußfunktion ist, werden die Radienσ k nach einer Heuristik gewählt k {,...,m} : σ k = d max 2m, wobei d max = max d ( ı (lj),ı (l k) ). l j,l k L fixed Rudolf Kruse Neuronale Netze 35
136 Radiale-Basisfunktionen-Netze: Initialisierung Initialisieren der Verbindungen von den versteckten zu den Ausgabeneuronen u : m w uv m out (l) v m θ u =o (l) u oder (abgekürzt) A w u =o u, k= wobeio u = ( o (l ) u,...,o (l m) ) u der Vektor der gewünschten Ausgaben ist,θu = 0, und A = out (l ) v out (l ) v 2... out (l ) v m out (l 2) v out (l 2) v 2... out (l 2) v m... out (l m) v out (l m) v 2... out (l m) v m Ergebnis: Lineares Gleichungssystem, das durch Invertieren der Matrix A gelöst werden kann: w u = A o u. Rudolf Kruse Neuronale Netze 36.
137 RBF-Netz-Initialisierung: Beispiel Einfaches RBF-Netz für die Biimplikationx x 2 2 x x 2 y x x w 2 w w 3 w 4 0 y 2 Rudolf Kruse Neuronale Netze 37
138 RBF-Netz-Initialisierung: Beispiel Einfaches RBF-Netz für die Biimplikationx x 2 wobei A = e 2 e 2 e 4 e 2 e 4 e 2 e 2 e 4 e 2 e 4 e 2 e 2 A = a D b D b D c D b D a D c D b D b D c D a D b D c D b D b D a D D = 4e 4 + 6e 8 4e 2 +e a = 2e 4 +e b = e 2 + 2e 6 e c = e 4 2e 8 +e w u = A o u = D a +c 2b 2b a +c Rudolf Kruse Neuronale Netze 38
139 RBF-Netz-Initialisierung: Beispiel Einfaches RBF-Netz für die Biimplikationx x 2 act act y (,0) 2 x x 2 2 x x 2 2 x x 2 einzelne Basisfunktion alle Basisfunktionen Ausgabe Die Initialisierung führt bereits zu einer perfekten Lösung der Lernaufgabe. Weiteres Trainieren ist nicht notwendig. Rudolf Kruse Neuronale Netze 39
140 Radiale-Basisfunktionen-Netze: Initialisierung Normale Radiale-Basisfunktionen-Netze: Wähle Teilmenge von k Trainingsbeispielen als Zentren aus. A = out (l ) v out (l ) v 2... out (l ) v k out (l 2) v out (l 2) v 2... out (l 2) v k.... out (l m) v out (l m) v 2... out (l m) v k A w u =o u Berechne (Moore Penrose)-Pseudoinverse: Die Gewichte können dann durch A + = (A A) A. berechnet werden. w u = A + o u = (A A) A o u Rudolf Kruse Neuronale Netze 40
141 RBF-Netz-Initialisierung: Beispiel Normales RBF-Netz für die Biimplikationx x 2 Wähle zwei Trainingsbeispiele aus: l = (ı (l),o (l) ) = ((0, 0), ()) l 4 = (ı (l4),o (l4) ) = ((, ), ()) x x w w 2 θ y Rudolf Kruse Neuronale Netze 4
142 RBF-Netz-Initialisierung: Beispiel Normales RBF-Netz für die Biimplikationx x 2 A = e 4 e 2 e 2 e 2 e 2 e 4 A + = (A A) A = a b b a c d d e e d d c wobei a 0.80, b 0.680, c.78, d , e Gewichte: w u = θ w w 2 = A + o u Rudolf Kruse Neuronale Netze
143 RBF-Netz-Initialisierung: Beispiel Normales RBF-Netz für die Biimplikationx x 2 act act y (,0) 2 x x 2 2 x x Basisfunktion (0,0) Basisfunktion (,) Ausgabe Die Initialisierung führt bereits zu einer perfekten Lösung der Lernaufgabe. Dies ist Zufall, da das lineare Gleichungssystem wegen linear abhängiger Gleichungen nicht überbestimmt ist. Rudolf Kruse Neuronale Netze 43
144 Radiale-Basisfunktionen-Netze: Initialisierung Bestimmung passender Zentren für die RBFs Ein Ansatz: k-means-clustering Wähle k zufällig ausgewählte Trainingsbeispiele als Zentren. Weise jedem Zentrum die am nächsten liegenden Trainingsbeispiele zu. Berechne neue Zentren als Schwerpunkt der dem Zentrum zugewiesenen Trainingsbeispiele. Wiederhole diese zwei Schritte bis zur Konvergenz, d.h. bis sich die Zentren nicht mehr ändern. Nutze die sich ergebenden Zentren für die Gewichtsvektoren der versteckten Neuronen. Alternativer Ansatz: Lernende Vektorquantisierung Rudolf Kruse Neuronale Netze 44
145 Radiale-Basisfunktionen-Netze: Training Training von RBF-Netzen: Herleitung der Update-Regeln ist analog zu der für MLPs. Gewichte von den versteckten zu den Ausgabeneuronen. Gradient: Gewichtsänderungsregel: wu e (l) u = e(l) u = 2 ( o (l) u out (l) u w u ) in (l) u, w (l) u = η 3 2 w u e (l) ( u =η 3 o (l) u out (l) u ) in (l) u (Zwei weitere Lernraten sind notwendig für die Positionen der Zentren und der Radien.) Rudolf Kruse Neuronale Netze 45
146 Radiale-Basisfunktionen-Netze: Training Training von RBF-Netzen: Zentren: (Gewichte von Eingabe- zu versteckten Neuronen). Gradient: wv e (l) = e(l) w v = 2 Gewichtsänderungsregel: s succ(v) ( o (l) w (l) v = η 2 w v e (l) ( =η o (l) s succ(v) s out (l) s s out (l) ) out (l) v net (l) v wsu net (l) v w v s ) wsv out (l) v net (l) v net (l) v w v Rudolf Kruse Neuronale Netze 46
147 Radiale-Basisfunktionen-Netze: Training Training von RBF-Netzen: Zentren: (Gewichte von Eingabe- zu versteckten Neuronen). Spezialfall: Euklidischer Abstand net (l) v w v = n i= ( wvpi out (l) ) 2 2 ( p i w v in (l) Spezialfall: Gaußsche Aktivierungsfunktion v ). out (l) v net (l) v = f ( ) (l) act net v,σ v net (l) v = net (l) v e ( net (l) v ) 2 2σv 2 = net(l) v σv 2 e ( net (l) v ) 2 2σ 2 v. Rudolf Kruse Neuronale Netze 47
148 Radiale-Basisfunktionen-Netze: Training Training von RBF-Netzen: Radien der radialen Basisfunktionen. Gradient: Gewichtsänderungsregel: e (l) σ v = 2 s succ(v) σ v (l) = η 2 e (l) =η 2 2 σ v ( o (l) s succ(v) s out (l) ( o (l) Spezialfall: Gaußsche Aktivierungsfunktion s ) wsu out (l) v σ v. s out (l) s ) wsv out (l) v σ v. out (l) v σ v = e σ v ( net (l) v ) 2 2σ 2 v = net (l) v σ 3 v 2 e ( net (l) v ) 2 2σ 2 v. Rudolf Kruse Neuronale Netze 48
149 Radiale-Basisfunktionen-Netze: Verallgemeinerung Verallgemeinerung der Abstandsfunktion Idee: Benutze anisotrope (richtungsabhängige) Abstandsfunktion. Beispiel: Mahalanobis-Abstand d(x,y) = (x y) Σ (x y). Beispiel: Biimplikation x 2 x 2 2 y 3 0 Σ = x x Rudolf Kruse Neuronale Netze 49
150 Radiale-Basisfunktionen-Netze: Anwendung Vorteile einfache Feedforward-Architektur leichte Anpassbarkeit daher schnelle Optimierung und Berechnung Anwendung kontinuierlich laufende Prozesse, die schnelle Anpassung erfordern Approximierung Mustererkennung Regelungstechnik Rudolf Kruse Neuronale Netze 50
151 Lernende Vektorquantisierung (engl. Learning Vector Quantization) Rudolf Kruse Neuronale Netze 5
152 Motivation Bisher: festes Lernen, jetzt freies Lernen, d.h. es existieren keine festgelegten Klassenlabels oder Zielwerte mehr für jedes Lernbeispiel Grundidee: ähnliche Eingaben führen zu ähnlichen Ausgaben Ähnlichkeit zum Clustering: benachbarte (ähnliche) Datenpunkte im Eingaberaum liegen auch im Ausgaberaum benachbart Rudolf Kruse Neuronale Netze 52
153 Vektorquantisierung Voronoidiagramm einer Vektorquantisierung Punkte repräsentieren Vektoren, die zur Quantisierung der Fläche genutzt werden. Linien sind die Grenzen der Regionen, deren Punkte am nächsten zu dem dargestellten Vektor liegen. Rudolf Kruse Neuronale Netze 53
154 Lernende Vektorquantisierung Finden von Clustern in einer gegebenen Menge von Punkten Datenpunkte werden durch leere Kreise dargestellt ( ). Clusterzentren werden durch gefüllte Kreise dargestellt ( ). Rudolf Kruse Neuronale Netze 54
155 Lernende Vektorquantisierung, Netzwerk Ein Lernendes Vektorquantisierungsnetzwerk (LVQ) ist ein neuronales Netz mit einem Graphen G = (U, C) das die folgenden Bedingungen erfüllt: (i)u in U out =,U hidden = (ii)c =U in U out Die Netzeingabefunktion jedes Ausgabeneurons ist eine Abstandsfunktion zwischen Eingabe- und Gewichtsvektor, d.h. u U out : f (u) net (w u, in u ) =d(w u, in u ), wobeid:ir n IR n IR + 0 eine Funktion ist, die x,y,z IRn : (i) d(x,y) = 0 x =y, (ii) d(x,y) =d(y,x) (Symmetrie), (iii) d(x, z) d(x, y) + d(y, z) (Dreiecksungleichung) erfüllt. Rudolf Kruse Neuronale Netze 55
156 Abstandsfunktionen Veranschaulichung von Abstandsfunktionen Bekannte Spezialfälle: d k (x,y) = n (x i y i ) k i= k = : Manhattan- oder City-Block-Abstand, k = 2 : Euklidischer Abstand, k : Maximum-Abstand, d.h.d (x,y) = max n i= x i y i. k = k = 2 k k (alle Punkte auf dem Kreis bzw. den Vierecken haben denselben Abstand zum Mittelpunkt, entsprechend der jeweiligen Abstandsfunktion) Rudolf Kruse Neuronale Netze 56
157 Lernende Vektorquantisierung Die Aktivierungsfunktion jedes Ausgabeneurons ist eine sogenannte radiale Funktion, d.h. eine monoton fallende Funktion f : IR + 0 [0, ] with f(0) = and lim f(x) = 0. x Manchmal wird der Wertebereich auf das Intervall [0, ] beschränkt. Durch die spezielle Ausgabefunktion ist das allerdings unerheblich. Die Ausgabefunktion jedes Ausgabeneurons ist keine einfache Funktion der Aktivierung des Neurons. Sie zieht stattdessen alle Aktivierungen aller Ausgabeneuronen in Betracht: f (u) out (act u) =, falls act u = max v U out act v, 0, sonst. Sollte mehr als ein Neuron die maximale Aktivierung haben, wird ein zufällig gewähltes Neuron auf die Ausgabe gesetzt, alle anderen auf Ausgabe 0: Winner-Takes-All- Prinzip. Rudolf Kruse Neuronale Netze 57
158 Radiale Aktivierungfunktionen Rechteckfunktion: f act (net,σ) = 0, falls net>σ,, sonst. Dreiecksfunktion: f act (net,σ) = 0, falls net>σ, net σ, sonst. 0 σ net 0 σ net Kosinus bis Null: f act (net,σ) = 0, falls net>2σ, cos( π 2σ net )+ 2, sonst. Gauß-Funktion: f act (net,σ) =e net 2 2σ 2 2 e 2 0 σ 2σ net e 2 0 σ 2σ net Rudolf Kruse Neuronale Netze 58
159 Lernende Vektorquantisierung Anpassung der Referenzvektoren (Codebuch-Vektoren) Bestimme zu jedem Trainingsbeispiel den nächsten Referenzvektor. Passe nur diesen Referenzvektor an (Gewinnerneuron). Für Klassifikationsprobleme kann die Klasse genutzt werden: Jeder Referenzvektor wird einer Klasse zugeordnet. Anziehungsregel (Datenpunkt und Referenzvektor haben dieselbe Klasse) r (new) =r (old) +η ( x r (old)), Abstoßungsregel (Datenpunkt und Referenzvektor haben verschiedene Klassen) r (new) =r (old) η ( x r (old)). Rudolf Kruse Neuronale Netze 59
160 Lernende Vektorquantisierung Anpassung der Referenzvektoren r r d ηd r 2 d r 2 ηd x r 3 x r 3 Anziehungsregel Abstoßungsregel x: Datenpunkt,r i : Referenzvektor η = 0.4 (Lernrate) Rudolf Kruse Neuronale Netze 60
161 Lernende Vektorquantisierung: Beispiel Anpassung der Referenzvektoren Links: Online-Training mit Lernrate η = 0., Rechts: Batch-Training mit Lernrate η = Rudolf Kruse Neuronale Netze 6
162 Lernende Vektorquantisierung: Verfall der Lernrate Problem: feste Lernrate kann zu Oszillationen führen Lösung: zeitabhängige Lernrate η(t) =η 0 α t, 0<α<, oder η(t) =η 0 t κ, κ>0. Rudolf Kruse Neuronale Netze 62
163 Lernende Vektorquantisierung: Klassifikation Verbesserte Anpassungsregel für klassifizierte Daten Idee: Passe nicht nur den Referenzvektor an, der am nächsten zum Datenpunkt liegt (das Gewinnerneuron), sondern passe die zwei nächstliegenden Referenzvektoren. Sei x der momentan bearbeitete Datenpunkt und c seine Klasse. Seienr j undr k die zwei nächstliegenden Referenzvektoren undz j sowiez k ihre Klassen. Referenzvektoren werden nur angepasst, wennz j z k und entwederc=z j oder c =z k. (o.b.d.a. nehmen wir an:c =z j.) Die Anpassungsregeln für die zwei nächstgelegenen Referenzvektoren sind: r j (new) = r j (old) +η ( x r (old) r (new) k = r (old) k η ( x r (old) ) k, j ) and wobei alle anderen Referenzvektoren unverändert bleiben. Rudolf Kruse Neuronale Netze 63
164 Lernende Vektorquantisierung: Window Rule In praktischen Experimenten wurde beobachtet, dass LVQ in der Standardausführung die Referenzvektoren immer weiter voneinander wegtreibt. Um diesem Verhalten entgegenzuwirken, wurde die window rule eingeführt: passe nur dann an, wenn der Datenpunktxin der Nähe der Klassifikationsgrenze liegt. In der Nähe der Grenze wird formalisiert durch folgende Bedingung: min d(x,r j ) d(x,r k ),d(x,r k) d(x,r j ) >θ, wobei θ = ξ +ξ. ξ ist ein Parameter, der vom Benutzer eingestellt werden muss. Intuitiv beschreibt ξ die Größe des Fensters um die Klassifikationsgrenze, in dem der Datenpunkt liegen muss, um zu einer Anpassung zu führen. Damit wird die Divergenz vermieden, da die Anpassung eines Referenzvektors nicht mehr durchgeführt wird, wenn die Klassifikationsgrenze weit genug weg ist. Rudolf Kruse Neuronale Netze 64
165 Soft LVQ Idee: Benutze weiche Zuordnungen anstelle von winner-takes-all. Annahme: Die Daten wurden aus einer Mischung von Normalverteilungen gezogen. Jeder Referenzvektor beschreibt eine Normalverteilung. Ziel: Maximiere das Log-Wahrscheinlichkeitsverhältnis der Daten, also lnl ratio = n ln exp j= r R(c j ) Rudolf Kruse Neuronale Netze 65 (x j r) (x j r) 2σ 2 n ln exp (x j r) (x j r) j= r Q(c j ) 2σ 2. Hierbei ist σ ein Parameter, der die Größe jeder Normalverteilung angibt. R(c) ist die Menge der Referenzvektoren der Klasse c und Q(c) deren Komplement. Intuitiv: für jeden Datenpunkt sollte die Wahrscheinlichkeitsdichte für seine Klasse so groß wie möglich sein, während die Dichte für alle anderen Klassen so klein wie möglich sein sollte.
166 Soft LVQ Anpassungsregel abgeleitet aus Maximum-Log-Likelihood-Ansatz: r (new) i = r (old) i +η u ij ( u ij ( x j r (old) ), ifcj =z i, i x j r (old) ), ifcj z i, wobeiz i die dem Referenzvektorr i zugehörige Klasse ist und i u ij = u ij = ( exp 2σ 2 xj r i (old) exp r R(c j ) ( exp 2σ 2 xj r i (old) r Q(c j ) exp ) ( x j r (old) i ) 2σ 2 ( xj r (old)) ( x j r (old)) ) ( x j r (old) 2σ 2 ( xj r (old)) ( x j r (old)) i ). and R(c) ist die Menge der Referenzvektoren, die zu Klassecgehören undq(c) ist deren Komplement. Rudolf Kruse Neuronale Netze 66
167 Hard LVQ Idee: Leite ein Schema mit scharfen Zuordnungen aus der unscharfen Version ab. Ansatz: Lasse den Größenparameter σ der Gaußfunktion gegen Null streben. Die sich ergebende Anpassungsregel ist somit: wobei r (new) i = r (old) i +η u ij ( u ij ( x j r (old) ), ifcj =z i, i x j r (old) ), ifcj z i, i u ij =, fallsr i = argmind(x j,r), r R(c j ) 0, sonst, u ij = r i ist der nächstgelegene Vektor derselben Klasse Vektor einer anderen Klasse, fallsr i = argmind(x j,r), r Q(c j ) 0, sonst. r i ist der nächstgelegene Diese Anpassungsregel ist stabil, ohne dass eine window rule die Anpassung beschränken müsste. Rudolf Kruse Neuronale Netze 67
168 Lernende Vektorquantisierung: Erweiterungen Frequency Sensitive Competitive Learning Der Abstand zu einem Referenzvektor wird modifiziert, indem berücksichtigt wird, wieviele Datenpunkte diesem Referenzvektor zugewiesen sind. Fuzzy LVQ Nutzt die enge Verwandschaft zum Fuzzy-Clustering aus. Kann als Online-Version des Fuzzy-Clustering angesehen werden. Führt zu schnellerem Clustering. Größen- und Formparameter Weise jedem Referenzvektor einen Clusterradius zu. Passe diesen Radius in Abhängigkeit von der Nähe der Datenpunkte an. Weise jedem Referenzvektor eine Kovarianzmatrix zu. Passe diese Matrix abhängig von der Verteilung der Datenpunkte an. Rudolf Kruse Neuronale Netze 68
169 Selbstorganisierende Karten (engl. Self-Organizing Maps (SOMs)) Rudolf Kruse Neuronale Netze 69
170 Selbstorganisierende Karten Eine selbstorganisierende Karte oder Kohonen-Merkmalskarte ist ein neuronales Netz mit einem Graphen G = (U, C) das folgende Bedingungen erfüllt: (i)u hidden =,U in U out =, (ii)c =U in U out. Die Netzeingabefunktion jedes Ausgabeneurons ist eine Abstandsfunktion zwischen Eingabe- und Gewichtsvektor. Die Aktivierungsfunktion jedes Ausgabeneurons ist eine radiale Funktion, d.h. eine monoton fallende Funktion f : IR + 0 [0, ] with f(0) = and lim f(x) = 0. x Die Ausgabefunktion jedes Ausgabeneurons ist die Identität. Die Ausgabe wird oft per winner takes all -Prinzip diskretisiert. Auf den Ausgabeneuronen ist eine Nachbarschaftsbeziehung definiert: d neurons :U out U out IR + 0. Rudolf Kruse Neuronale Netze 70
171 Selbstorganisierende Karten: Nachbarschaft Nachbarschaft der Ausgabeneuronen: Neuronen bilden ein Gitter quadratisches Gitter hexagonales Gitter Dünne schwarze Linien: Zeigen nächste Nachbarn eines Neurons. Dicke graue Linien: Zeigen Regionen, die einem Neuron zugewiesen sind. Rudolf Kruse Neuronale Netze 7
172 Selbstorganisierende Karten: Nachbarschaft Nachbarschaft des Gewinnerneurons Der Nachbarschaftsradius wird im Laufe des Lernens kleiner. Rudolf Kruse Neuronale Netze 72
173 Selbstorganisierende Karten: Struktur Die Karte stellt die Ausgabeneuronen mit deren Nachbarschaften dar. Rudolf Kruse Neuronale Netze 73
174 Selbstorganisierende Karten: Struktur Ablauf des SOM-Lernens. Initialisierung der Gewichtsvektoren der Karte 2. zufällige Wahl des Eingabevektors aus der Trainingsmenge 3. Bestimmung des Gewinnerneurons über Abstandsfunktion 4. Bestimmung des zeitabhängigen Radius und der im Radius liegenden Nachbarschaftsneuronen des Gewinners 5. Zeitabhängige Anpassung dieser Nachbarschaftsneuronen, weiter bei 2. Rudolf Kruse Neuronale Netze 74
175 Topologieerhaltende Abbildung Abbildungen von Punkten, die im Originalraum nah beieinander sind, sollen im Bildraum ebenfalls nah beieinander sein. Beispiel: Robinson-Projektion der Oberfläche einer Kugel Die Robinson-Projektion wird häufig für Weltkarten genutzt. eine SOM realisiert eine topologieerhaltende Abbildung. Rudolf Kruse Neuronale Netze 75
176 Selbstorganisierende Karten: Nachbarschaft Finde topologieerhaltende Abbildung durch Beachtung der Nachbarschaft Anpassungsregel für Referenzvektor: r (new) u =r (old) u +η(t) f nb ( dneurons (u,u ), (t) ) ( x r u (old) u ist das Gewinnerneuron (Referenzvektor am nächsten zum Datenpunkt). Die Funktionf nb ist eine radiale Funktion. Zeitabhängige Lernrate η(t) =η 0 α t η, 0<α η <, or η(t) =η 0 t κ η, κ η > 0. Zeitabhängiger Nachbarschaftsradius ), (t) = 0α t, 0<α <, or (t) = 0t κ, κ >0. Rudolf Kruse Neuronale Netze 76
177 Selbstorganisierende Karten: Beispiele Beispiel: Entfalten einer zweidimensionalen SOM Rudolf Kruse Neuronale Netze 77
178 Selbstorganisierende Karten: Beispiele Beispiel: Entfalten einer zweidimensionalen SOM (Erläuterungen) Entfaltung einer 0x0-Karte, die mit zufälligen Mustern aus [, ] [, ] trainiert wird Initialisierung mit Referenzvektoren aus [ 0.5, 0.5] Linien verbinden direkte Nachbarn (Gitter/Grid) Lernrateη(t) = 0.6 t Gaußsche Nachbarschaftsfunktionf nb Radiusρ(t) = 2.5 t 0. Rudolf Kruse Neuronale Netze 78
179 Selbstorganisierende Karten: Beispiele Beispiel: Entfalten einer zweidimensionalen SOM Einfärbungen der Trainingsstufen der SOM von der vorherigen Folie für das Eingabemuster ( 0.5, 0.5) unter Verwendung einer Gaußschen Aktivierungsfunktion. Rudolf Kruse Neuronale Netze 79
180 Selbstorganisierende Karten: Beispiele Beispiel: Entfalten einer zweidimensionalen SOM Das Trainieren einer SOM kann u.a. fehlschlagen, falls die Initialisierung ungünstig ist oder die (anfängliche) Lernrate zu klein gewählt ist oder die (anfängliche) Nachbarschaft zu klein gewählt ist. Rudolf Kruse Neuronale Netze 80
181 Selbstorganisierende Karten: Beispiele Beispiel: Entfalten einer zweidimensionalen SOM, Dimensionsreduktion (a) (b) (c) Als Lernstichprobe werden zufällige Punkte der Oberfläche einer Rotationsparabel (bzw. kubische Funktion, Kugel) gewählt, also drei Eingabeneuronen (x,y,z- Koordinaten). Eine Karte mit 0 0 Ausgabeneuronen wird trainiert. Die 3D-Referenzvektoren der Ausgabeneuronen (mit Gitter) werden dargestellt. Wegen 2D-Fläche (gekrümmt) klappt die Anpassung sehr gut. In diesen Fällen haben Originalraum und Bildraum unterschiedliche Dimensionen. Selbstorganisierende Karten können zur Dimensionsreduktion genutzt werden. Rudolf Kruse Neuronale Netze 8
182 SOM, Beispiel Clustering von Feldbearbeitungsstrategien Links: selbstorganisierende Karte mit eingezeichneten Klassenlabels Rechts: eine der zum Lernen der Karte verwendeten Variablen mit Farbskala, dargestellt auf der gelernten Karte Rudolf Kruse Neuronale Netze 82
183 SOM, Phonemkarte des Finnischen Rudolf Kruse Neuronale Netze 83
184 SOM, Websom Rudolf Kruse Neuronale Netze 84
185 SOM, Websom Rudolf Kruse Neuronale Netze 85
186 SOM, MusicMiner Rudolf Kruse Neuronale Netze 86
187 SOM, Gesichtsfeldausfall Rudolf Kruse Neuronale Netze 87
188 SOM, Gesichtsfeldausfall Rudolf Kruse Neuronale Netze 88
189 SOM, Gesichtsfeldausfall Rudolf Kruse Neuronale Netze 89
190 SOM, Gesichtsfeldausfall Rudolf Kruse Neuronale Netze 90
191 SOM, Gesichtsfeldausfall Rudolf Kruse Neuronale Netze 9
192 Hopfield-Netze Rudolf Kruse Neuronale Netze 92
193 Hopfield-Netze Ein Hopfield-Netz ist ein neuronales Netz mit einem Graphen G = (U, C), das die folgenden Bedingungen erfüllt: (i)u hidden =,U in =U out =U, (ii)c =U U {(u,u) u U}. In einem Hopfield-Netz sind alle Neuronen sowohl Eingabe- als auch Ausgabeneuronen. Es gibt keine versteckten Neuronen. Jedes Neuron erhält seine Eingaben von allen anderen Neuronen. Ein Neuron ist nicht mit sich selbst verbunden. Die Verbindungsgewichte sind symmetrisch, d.h. u,v U,u v : w uv =w vu. Rudolf Kruse Neuronale Netze 93
194 Hopfield-Netze Die Netzeingabefunktion jedes Neurons ist die gewichtete Summe der Ausgaben aller anderen Neuronen, d.h. u U : f (u) net (w u, in u ) =w u in u = v U {u} w uv out v. Die Aktivierungsfunktion jedes Neurons ist eine Sprungfunktion, d.h. u U : f (u) act (net u,θ u ) =, falls net u θ u,, sonst. Die Ausgabefunktion jedes Neurons ist die Identität, d.h. u U : f (u) out (act u) = act u. Rudolf Kruse Neuronale Netze 94
195 Hopfield-Netze Alternative Aktivierungsfunktion u U : f (u) act (net u,θ u, act u ) =, falls net u >θ,, falls net u <θ, act u, falls net u =θ. Diese Aktivierungsfunktion bietet einige Vorteile bei der späteren physikalischen Interpretation eines Hopfield-Netzes. Diese wird allerdings in der Vorlesung nicht weiter genutzt. Allgemeine Gewichtsmatrix eines Hopfield-Netzes W = 0 w u u 2... w u u n w u u w u2 u n... w u u n w u u n... 0 Rudolf Kruse Neuronale Netze 95
196 Hopfield-Netze: Beispiele Sehr einfaches Hopfield-Netz u x 0 y W = 0 0 x 2 0 y 2 u 2 Das Verhalten eines Hopfield-Netzes kann von der Update-Reihenfolge abhängen. Die Berechnungen können oszillieren, wenn Neuronen synchron aktualisiert werden. Die Berechnung konvergiert immer, wenn die Neuronen asynchron in fester Reihenfolge aktualisiert werden. Rudolf Kruse Neuronale Netze 96
197 Hopfield-Netze: Beispiele Parallele Aktualisierung der Neuronenaktivierungen u u 2 Eingabephase Arbeitsphase Die Berechnungen oszillieren, kein stabiler Zustand wird erreicht. Die Ausgabe hängt davon ab, wann die Berechnung abgebrochen wird. Rudolf Kruse Neuronale Netze 97
198 Hopfield-Netze: Beispiele Sequentielle Aktualisierung der Neuronenaktivierungen u u 2 Eingabephase Arbeitsphase u u 2 Eingabephase Arbeitsphase Aktivierungsreihenfolgeu,u 2,u,... bzw.u 2,u,u,... Unabhängig von der Reihenfolge wird ein stabiler Zustand erreicht. Welcher Zustand stabil ist, hängt von der Reihenfolge ab. Rudolf Kruse Neuronale Netze 98
199 Hopfield-Netze: Beispiele Vereinfachte Darstellung eines Hopfield-Netzes x 0 y x y 2 u u u 2 W = x 3 0 y 3 Symmetrische Verbindungen zwischen Neuronen werden kombiniert. Eingaben und Ausgaben werden nicht explizit dargestellt. Rudolf Kruse Neuronale Netze 99
200 Hopfield-Netze: Zustandsgraph Graph der Aktivierungen und Übergänge +++ u u 2 u 3 u 2 u u 2 u u 3 u 2 u u 2 u u 3 ++ u 3 u u 3 u u u 2 u 3 (Zustandsgraph zum Netz auf der vorherigen Folie, Erläuterung nächste Folie) u u 2 u 3 Rudolf Kruse Neuronale Netze 200
201 Hopfield-Netze: Zustandsgraph Graph der Aktivierungen und Übergänge +/-: Aktivierung der Neuronen (+ entspricht +, entspricht ) Pfeile: geben die Neuronen an, deren Aktualisierung zu dem jeweiligen Zustandsübergang führt grau unterlegte Zustände: stabile Zustände beliebige Aktualisierungsreihenfolgen ablesbar Rudolf Kruse Neuronale Netze 20
202 Hopfield-Netze: Konvergenz der Berechnungen Konvergenztheorem: Wenn die Aktivierungen der Neuronen eines Hopfield-Netzes asynchron (sequentiell) durchgeführt werden, wird ein stabiler Zustand nach einer endlichen Anzahl von Schritten erreicht. Wenn die Neuronen zyklisch in einer beliebigen, aber festen Reihenfolge durchlaufen werden, sind höchstensn 2 n Schritte (Aktualisierungen einzelner Neuronen) notwendig, wobeindie Anzahl der Neuronen im Netz ist. Der Beweis erfolgt mit Hilfe einer Energiefunktion. Die Energiefunktion eines Hopfield-Netzes mitnneuronenu,...,u n ist E = 2 act Wact +θ T act = 2 w uv act u act v + θ u act u. u,v U,u v u U Rudolf Kruse Neuronale Netze 202
203 Hopfield-Netze: Konvergenz Man betrachte die Energieänderung die aus einer aktivierungsändernden Aktualisierung entsteht: E =E (new) E (old) = v U {u} v U {u} = ( act (old) u act (new) u w uv act (new) u act v +θ u act (new) u w uv act (old) u act v +θ u act (old) u ) v U {u} w uv act v }{{} = net u net u <θ u : Zweiter Faktor kleiner als 0. act (new) u = and act (old) u =, daher erster Faktor größer als 0. Ergebnis: E< 0. net u θ u : Zweiter Faktor größer als oder gleich 0. act (new) u = und act (old) u =, daher erster Faktor kleiner als 0. Ergebnis: E 0. θ u. Rudolf Kruse Neuronale Netze 203
204 Hopfield-Netze: Konvergenz Höchstensn 2 n Schritte bis zur Konvergenz: die beliebige, aber feste Reihenfolge sorgt dafür, dass alle Neuronen zyklisch durchlaufen und neuberechnet werden a) es ändert sich keine Aktivierung ein stabiler Zustand wurde erreicht b) es ändert sich mindestens eine Aktivierung: dann wurde damit mindestens einer der 2 n möglichen Aktivierungszustände ausgeschlossen. Ein einmal verlassener Zustand kann nicht wieder erreicht werden (siehe vorherige Folien). D.h. nach spätestens 2 n Durchläufen durch dienneuronen ist ein stabiler Zustand erreicht. Rudolf Kruse Neuronale Netze 204
205 Hopfield-Netze: Beispiele Ordne die Zustände im Graphen entsprechend ihrer Energie E Energiefunktion für das Beispiel-Hopfield-Netz: E = act u act u2 2 act u act u3 act u2 act u3. Rudolf Kruse Neuronale Netze 205
206 Hopfield-Netze: Beispiele Der Zustandsgraph muss nicht symmetrisch sein 5 E u u u Rudolf Kruse Neuronale Netze 206
207 Hopfield-Netze: Physikalische Interpretation Physikalische Interpretation: Magnetismus Ein Hopfield-Netz kann als (mikroskopisches) Modell von Magnetismus gesehen werden (sogenanntes Ising-Modell, [Ising 925]). physikalisch Atom Magnetisches Moment (Spin) Stärke des äußeren Magnetfeldes Magnetische Kopplung der Atome Hamilton-Operator des Magnetfeldes neuronal Neuron Aktivierungszustand Schwellenwert Verbindungsgewichte Energiefunktion Rudolf Kruse Neuronale Netze 207
208 Hopfield-Netze: Assoziativspeicher Idee: Nutze stabile Zustände, um Muster zu speichern Zuerst: Speichere nur ein Musterx=(act (l) u,...,act (l) u n ) {, } n,n 2, d.h. finde Gewichte, so dass der Zustand ein stabiler Zustand wird. Notwendige und hinreichende Bedingung: wobei S(Wx θ ) =x, mit S : IR n {, } n, x y i {,...,n} : y i =, fallsx i 0,, sonst. Rudolf Kruse Neuronale Netze 208
209 Hopfield-Netze: Assoziativspeicher Fallsθ = 0, dann kann eine passende Matrix W leicht berechnet werden. Es reicht eine Matrix W zu finden mit Wx =cx mitc IR +. Algebraisch: Finde eine Matrix W die einen positiven Eigenwert in Bezug auf x hat. Wähle W =xx T E wobeixx T das sogenannte äußere Produkt vonxmit sich selbst ist. Mit dieser Matrix erhalten wir Wx = (xx T )x Ex }{{} =x = nx x = (n )x. ( ) = x (x T x ) x }{{} = x 2 =n Rudolf Kruse Neuronale Netze 209
210 Hopfield-Netze: Assoziativspeicher Hebb sche Lernregel [Hebb 949] In einzelnen Gewichten aufgeschrieben lautet die Berechnung der Gewichtsmatrix wie folgt: w uv = 0, fallsu=v,, fallsu v, act (p) u = act u (v),, sonst. Ursprünglich von biologischer Analogie abgeleitet. Verstärkt Verbindungen zwischen Neuronen, die zur selben Zeit aktiv sind. Diese Lernregel speichert auch das Komplement des Musters: Mit Wx = (n )x ist daher auch W( x ) = (n )( x ). Rudolf Kruse Neuronale Netze 20
211 Hopfield-Netze: Assoziativspeicher Speichern mehrerer Muster Wähle Wx j = m i= W ix j = Wenn die Muster orthogonal sind, gilt und daher x T i x j = = m i= (x ix T m i= x i(x T i )x j ix j ) 0, falls i j, n, falls i =j, m Ex j }{{} =x j mx j Wx j = (n m)x j. Rudolf Kruse Neuronale Netze 2
212 Hopfield-Netze: Assoziativspeicher Speichern mehrerer Muster Ergebnis: So langem<n, istx j ein stabiler Zustand des Hopfield-Netzes. Man beachte, dass die Komplemente der Muster ebenfalls gespeichert werden. Mit Wx j = (n m)x j ist daher auch W( x j ) = (n m)( x j ). Aber: die Speicherkapazität ist verglichen mit der Anzahl möglicher Zustände sehr klein (2 n ). Rudolf Kruse Neuronale Netze 22
213 Hopfield-Netze: Assoziativspeicher Nicht-orthogonale Muster: Wx j = (n m)x j + m i= i j x i (x T ix j ) }{{} Störterm p j kann trotzdem stabil sein, wennn m 0 gilt und der Störterm hinreichend klein ist. Dieser Fall tritt ein, wenn die Muster annähernd orthogonal sind. Je größer die Zahl der zu speichernden Muster ist, desto kleiner muß der Störterm sein. Die theoretische Maximalkapazität eines Hopfield-Netzes wird praktisch nie erreicht.. Rudolf Kruse Neuronale Netze 23
214 Assoziativspeicher: Beispiel Beispiel: Speichere Musterx = (+, +,, ) undx 2 = (, +,, +). wobei W = W = W + W 2 =x x T +x 2 x T 2 2E , W 2 = Die vollständige Gewichtsmatrix ist: W = Daher ist Wx = (+2, +2, 2, 2) und Wx = ( 2, +2, 2, +2). Rudolf Kruse Neuronale Netze 24
215 Assoziativspeicher: Beispiele Beispiel: Speichere Bitmaps von Zahlen Links: Bitmaps, die im Hopfield-Netz gespeichert sind. Rechts: Rekonstruktion eines Musters aus einer zufälligen Eingabe. Rudolf Kruse Neuronale Netze 25
216 Hopfield-Netze: Assoziativspeicher Trainieren eines Hopfield-Netzes mit der Delta-Regel Notwendige Bedingung, dass ein Muster x einem stabilen Zustand entspricht: s(0 +w u u 2 act (p) u w u u n act (p) u n θ u ) = act (p) u, s(w u2 u act (p) u w u2 u n act (p) u n θ u2 ) = act (p) u 2,..... s(w un u act (p) u +w un u 2 act (p) u mit der standardmäßigen Schwellenwertfunktion θ un ) = act (p) u n. s(x) =, falls x 0,, sonst. Rudolf Kruse Neuronale Netze 26
217 Hopfield-Netze: Assoziativspeicher Trainieren eines Hopfield-Netzes mit der Delta-Regel Überführe Gewichtsmatrix in einen Gewichtsvektor: w = ( w u u 2, w u u 3,..., w u u n, w u2 u 3,..., w u2 u n,.... w un u n, θ u, θ u2,..., θ un ). Konstruiere Eingabevektoren für ein Schwellenwertelement z 2 = (act (p) u, 0,...,0, }{{} n 2 Nullen act (p) u 3,...,act (p) u n,...0,, 0,...,0 ). }{{} n 2 Nullen Wende die Deltaregel auf diesen Gewichtsvektor und die Eingabevektoren an, bis sich Konvergenz einstellt. Rudolf Kruse Neuronale Netze 27
218 Hopfield-Netze: Lösen von Optimierungsproblemen Nutze Energieminimierung, um Optimierungsprobleme zu lösen Allgemeine Vorgehensweise: Transformiere die zu optimierende Funktion in eine zu minimierende. Transformiere Funktion in die Form einer Energiefunktion eines Hopfield-Netzes. Lies die Gewichte und Schwellenwerte der Energiefunktion ab. Konstruiere das zugehörige Hopfield-Netz. Initialisiere das Hopfield-Netz zufällig und aktualisiere es solange, bis sich Konvergenz einstellt. Lies die Lösung aus dem erreichten stabilen Zustand ab. Wiederhole mehrmals und nutze die beste gefundene Lösung. Rudolf Kruse Neuronale Netze 28
219 Hopfield-Netze: Aktivierungstransformation Ein Hopfield-Netz kann entweder mit Aktivierungen und oder mit Aktivierungen 0 and definiert werden. Die Netze können ineinander umgewandelt werden. Von act u {, } in act u {0, }: wuv 0 = 2wuv θu 0 = θu + und wuv v U {u} Von act u {0, } in act u {, }: w uv = 2 w0 uv θ u = θ 0 u 2 und wuv. 0 v U {u} Rudolf Kruse Neuronale Netze 29
220 Hopfield-Netze: Lösen von Optimierungsproblemen Kombinationslemma: Gegeben seien zwei Hopfield-Netze auf derselben Menge U Neuronen mit Gewichtenw uv, (i) Schwellenwertenθ u (i) und Energiefunktionen E i = 2 u U v U {u} w (i) uv act u act v + u U θ(i) u act u, i =, 2. Weiterhin seia,b IR. Dann iste =ae +be 2 die Energiefunktion des Hopfield-Netzes auf den Neuronen inu das die Gewichtew uv =aw uv () +bw uv (2) und die Schwellenwerteθ u =aθ u () +bθ u (2) hat. Beweis: Einfach Berechnungen durchführen. Idee: Zusätzliche Bedingungen können separat formuliert und später mit einbezogen werden. Rudolf Kruse Neuronale Netze 220
221 Hopfield-Netze: Lösen von Optimierungsproblemen Beispiel: Problem des Handlungsreisenden (TSP Traveling Salesman Problem) Idee: Stelle Tour durch Matrix dar Stadt Schritt Ein Elementm ij der Matrix ist wenn diei-te Stadt imj-ten Schritt besucht wird und 0 sonst. Jeder Matrixeintrag wird durch ein Neuron repräsentiert. Rudolf Kruse Neuronale Netze 22
222 Hopfield-Netze: Lösen von Optimierungsproblemen Minimierung der Tourlänge E = n n n j =j 2 = i= d j j 2 m ij m (i modn)+,j2. Doppelsumme über die benötigten Schritte (Index i): wobei E = (i,j ) {,...,n} 2 (i 2,j 2 ) {,...,n} 2d j j 2 δ (i modn)+,i 2 m i j m i2 j 2, δ ab = Symmetrische Version der Energiefunktion:, falls a =b, 0, sonst. E = 2 (i,j ) {,...,n} 2 (i 2,j 2 ) {,...,n} 2 d j j 2 (δ (i modn)+,i 2 +δ i,(i 2 modn)+ ) m i j m i2 j 2. Rudolf Kruse Neuronale Netze 222
223 Hopfield-Netze: Lösen von Optimierungsproblemen Zusätzliche Bedingungen, die erfüllt werden müssen: Jede Stadt wird in genau einem Schritt der Tour besucht: j {,...,n} : n i= m ij =, d.h. jede Spalte der Matrix enthält genau eine. In jedem Schritt der Tour wird genau eine Stadt besucht: i {,...,n} : n j= m ij =, d.h. jede Zeile der Matrix enthält genau eine. Diese Bedingungen werden erfüllt durch zusätzlich zu optimierende Funktionen. Rudolf Kruse Neuronale Netze 223
224 Hopfield-Netze: Lösen von Optimierungsproblemen Formalisierung der ersten Bedingung als Minimierungsproblem: E 2 = n j= = n j= = n j= n i= m ij n i = m i j n i = n 2 n 2 m ij + i= n i 2 = m i 2 j i 2 = m i jm i2 j 2 n 2 n m ij + i= j= n i= m ij +n. Doppelsumme über benötigte Städte (Index i): E 2 = (i,j ) {,...,n} 2 (i 2,j 2 ) {,...,n} 2δ j j 2 m i j m i2 j 2 2 (i,j) {,...,n} 2m ij. Rudolf Kruse Neuronale Netze 224
225 Hopfield-Netze: Lösen von Optimierungsproblemen Sich ergebende Energiefunktion: E 2 = 2 2δ jj2 m ij m i2j (i,j ) {,...,n} (i 2,j 2 ) {,...,n} 2 (i,j) {,...,n} 2 2m ij Die zweite zusätzliche Bedingung wird analog gehandhabt: E 3 = 2 2δ ii2 m ij m i2j (i,j ) {,...,n} (i 2,j 2 ) {,...,n} 2 (i,j) {,...,n} 2 2m ij. Kombinieren der Energiefunktionen: E =ae +be 2 +ce 3 wobei b a =c a > 2 max (j,j 2 ) {,...,n} 2d j j 2. Rudolf Kruse Neuronale Netze 225
226 Hopfield-Netze: Lösen von Optimierungsproblemen Aus der resultierenden Energiefunktionen können wir die Gewichte w (i,j )(i 2,j 2 ) = ad j j 2 (δ (i modn)+,i 2 +δ i,(i 2 modn)+ ) 2bδ j j }{{} 2 2cδ i i }{{}}{{ 2 } vone vone 2 vone 3 und die Schwellenwerte: ablesen. θ (i,j) = 0a }{{} vone 2b }{{} vone 2 2c = 2(b +c) }{{} vone 3 Problem: die zufällige Initialisierung und die Aktualisierung bis zur Konvergenz führen nicht immer zu einer Matrix, die tatsächlich eine Tour repräsentiert, geschweige denn eine optimale Tour. Rudolf Kruse Neuronale Netze 226
227 Rekurrente Neuronale Netze Rudolf Kruse Neuronale Netze 227
228 Rekurrente Netze: Abkühlungsgesetz Ein Körper der Temperaturϑ 0 wird in eine Umgebung der Temperaturϑ A eingebracht. Die Abkühlung/Aufheizung des Körpers kann beschrieben werden durch das Newtonsche Abkühlungsgesetz: Exakte analytische Lösung: dϑ dt = ϑ = k(ϑ ϑ A ). ϑ(t) =ϑ A + (ϑ 0 ϑ A )e k(t t 0) Ungefähre Lösung mit Hilfe des Euler-Cauchyschen Polygonzuges: ϑ =ϑ(t ) =ϑ(t 0 ) + ϑ(t 0 ) t =ϑ 0 k(ϑ 0 ϑ A ) t. ϑ 2 =ϑ(t 2 ) =ϑ(t ) + ϑ(t ) t =ϑ k(ϑ ϑ A ) t. Allgemeine rekursive Gleichung: ϑ i =ϑ(t i ) =ϑ(t i ) + ϑ(t i ) t =ϑ i k(ϑ i ϑ A ) t Rudolf Kruse Neuronale Netze 228
229 Rekurrente Netze: Abkühlungsgesetz Euler Cauchy-Polygonzüge für verschiedene Schrittweiten: ϑ 0 ϑ t = 4 ϑ t = 2 ϑ t = ϑ 0 ϑ 0 ϑ A t ϑ A t ϑ A t Die dünne Kurve ist die genaue analytische Lösung. Rekurrentes neuronales Netz: ϑ(t 0 ) k t kϑ A t ϑ(t) Rudolf Kruse Neuronale Netze 229
230 Rekurrente Netze: Abkühlungsgesetz Formale Herleitung der rekursiven Gleichung: Ersetze Differentialquotient durch Differenzenquotient dϑ(t) dt ϑ(t) t = ϑ(t + t) ϑ(t) t mit hinreichend kleinem t. Dann ist ϑ(t + t) ϑ(t) = ϑ(t) k(ϑ(t) ϑ A ) t, und daher ϑ(t + t) ϑ(t) = ϑ(t) k tϑ(t) +kϑ A t ϑ i ϑ i k tϑ i +kϑ A t. Rudolf Kruse Neuronale Netze 230
231 Rekurrente Netze: Masse an einer Feder x 0 m Zugrundeliegende physikalische Gesetze: Hooke sches Gesetz: F = c l = cx (c ist eine federabhängige Konstante) Zweites Newton sches Gesetz: F = ma = mẍ (Kraft bewirkt eine Beschleunigung) Resultierende Differentialgleichung: mẍ = cx oder ẍ = c m x. Rudolf Kruse Neuronale Netze 23
232 Rekurrente Netze: Masse an einer Feder Allgemeine analytische Lösung der Differentialgleichung: mit den Parametern x(t) =a sin(ωt) +b cos(ωt) ω = c m, a =x(t 0 ) sin(ωt 0 ) +v(t 0 ) cos(ωt 0 ), b =x(t 0 ) cos(ωt 0 ) v(t 0 ) sin(ωt 0 ). Mit gegebenen Initialwertenx(t 0 ) =x 0 undv(t 0 ) = 0 und der zusätzlichen Annahmet 0 = 0 bekommen wir den einfachen Ausdruck x(t) =x 0 cos Rudolf Kruse Neuronale Netze 232 c m t.
233 Rekurrente Netze: Masse an einer Feder Wandle Differentialgleichung in zwei gekoppelte Gleichungen um: ẋ =v and v = c m x. Approximiere Differentialquotient durch Differenzenquotient: x t =x(t + t) x(t) t =v and v t =v(t + t) v(t) t = c m x Resultierende rekursive Gleichungen: x(t i ) = x(t i ) + x(t i ) = x(t i ) + t v(t i ) und v(t i ) = v(t i ) + v(t i ) = v(t i ) c m t x(t i ). Rudolf Kruse Neuronale Netze 233
234 Rekurrente Netze: Masse an einer Feder x(t 0 ) u 0 x(t) c m t t v(t 0 ) 0 u 2 v(t) Neuronu : f (u ) net (v,w u u 2 ) =w u u 2 v = c tv und m f (u ) act (act u, net u,θ u ) = act u + net u θ u, Neuronu 2 : f (u 2) net (x,w u 2 u ) =w u2 u x = tx und f (u 2) act (act u 2, net u2,θ u2 ) = act u2 + net u2 θ u2. Rudolf Kruse Neuronale Netze 234
235 Rekurrente Netze: Masse an einer Feder Einige Berechnungsschritte des neuronalen Netzes: t v x x t Die resultierende Kurve ist nah an der analytischen Lösung. Die Annäherung wird mit kleinerer Schrittweite besser. Rudolf Kruse Neuronale Netze 235
236 Rekurrente Netze: Differentialgleichungen Allgemeine Darstellung expliziter Differentialgleichungen n-ten Grades: Einführung von n Zwischengrößen Gleichungssystem x (n) =f(t,x,ẋ,ẍ,...,x (n ) ) y =ẋ, y 2 =ẍ,... y n =x (n ) ẋ = y, ẏ = y 2,. ẏ n 2 = y n, ẏ n = f(t,x,y,y 2,...,y n ) von n gekoppelten Differentialgleichungen ersten Grades. Rudolf Kruse Neuronale Netze 236
237 Rekurrente Netze: Differential Equations Ersetze Differentialquotient durch Differenzenquotient, um die folgenden rekursiven Gleichungen zu erhalten: x(t i ) = x(t i ) + t y (t i ), y (t i ) = y (t i ) + t y 2 (t i ),. y n 2 (t i ) = y n 2 (t i ) + t y n 3 (t i ), y n (t i ) = y n (t i ) +f(t i,x(t i ),y (t i ),...,y n (t i )) Jede dieser Gleichungen beschreibt die Aktualisierung eines Neurons. Das letzte Neuron benötigt eine spezielle Aktivierungsfunktion. Rudolf Kruse Neuronale Netze 237
238 Rekurrente Netze: Differentialgleichungen x 0 ẋ 0 ẍ 0. x (n ) 0 0 t 0 t 0 t. t θ x(t) t 0 t Rudolf Kruse Neuronale Netze 238
239 Rekurrente Netze: Schräger Wurf y v 0 cosϕ y 0 ϕ v 0 sinϕ x Schräger Wurf eines Körpers. x 0 Zwei Differentialgleichungen (eine für jede Koordinatenrichtung): wobeig= 9.8 ms 2. ẍ = 0 und ÿ = g, Anfangsbedingungenx(t 0 ) =x 0,y(t 0 ) =y 0,ẋ(t 0 ) =v 0 cosϕ undẏ(t 0 ) =v 0 sinϕ. Rudolf Kruse Neuronale Netze 239
240 Rekurrente Netze: Schräger Wurf Führe Zwischenbedingungen ein: v x =ẋ und v y =ẏ um das System der folgenden Differentialgleichungen zu erhalten: ẋ =v x, v x = 0, ẏ =v y, v y = g, aus dem wir das System rekursiver Anpassungsformeln erhalten x(t i ) =x(t i ) + tv x (t i ), v x (t i ) =v x (t i ), y(t i ) =y(t i ) + tv y (t i ), v y (t i ) =v y (t i ) tg. Rudolf Kruse Neuronale Netze 240
241 Rekurrente Netze: Schräger Wurf Bessere Beschreibung: Benutze Vektoren als Eingaben und Ausgaben r = ge y, wobeie y = (0, ). Anfangsbedingungen sindr(t 0 ) =r 0 = (x 0,y 0 ) undṙ(t 0 ) =v 0 = (v 0 cosϕ,v 0 sinϕ). Führe eine vektorielle Zwischengröße v = ṙ ein, um zu erhalten. ṙ =v, v = ge y Das führt zu den rekursiven Anpassungsregeln r(t i ) = r(t i ) + tv(t i ), v(t i ) = v(t i ) tge y Rudolf Kruse Neuronale Netze 24
242 Rekurrente Netze: Schräger Wurf Die Vorteile vektorieller Netze werden offensichtlich, wenn Reibung mit in Betracht gezogen wird: a = βv = βṙ β ist eine Konstante, die von Größe und Form des Körpers abhängt. Dies führt zur Differentialgleichung Führe die Zwischengrößev=ṙ ein, um r = βṙ ge y. ṙ =v, v = βv ge y, zu erhalten, woraus wir die folgenden rekursiven Anpassungsformeln bekommen: r(t i ) = r(t i ) + tv(t i ), v(t i ) = v(t i ) tβv(t i ) tge y. Rudolf Kruse Neuronale Netze 242
243 Rekurrente Netze: Schräger Wurf Sich ergebendes rekurrentes neuronales Netz: y r 0 t 0 r(t) 2 3 x v 0 tge y tβ Es gibt keine seltsamen Kopplungen wie in einem nicht-vektoriellen Netz. Man beachte die Abweichung von der Parabel, die durch die Reibung bewirkt wird. Rudolf Kruse Neuronale Netze 243
244 Rekurrente Netze: Umlaufbahnen der Planeten r = γm r r 3 ṙ =v v = γm r r 3 Rekursive Anpassungsregeln: r(t i ) = r(t i ) + tv(t i ) v(t i ) = v(t i ) tγm r(t i ) r(t i ) 3 y r 0 γm t v t x(t) v(t) x Rudolf Kruse Neuronale Netze 244
245 Rekurrente Netze: Backpropagation über die Zeit Idee: Entfalte das Netzwerk zwischen Trainingsmustern, d.h. lege ein Neuron für jeden Zeitpunkt an. Beispiel: Newton sches Abkühlungsgesetz k t k t k t k t ϑ(t 0 ) θ θ θ θ ϑ(t) Entfalten in vier Schritten. Es istθ= kϑ A t. Training: Standard-Backpropagation im entfalteten Netzwerk. Alle Anpassungen beziehen sich auf dasselbe Gewicht. Anpassungen werden ausgeführt, wenn das erste Neuron erreicht wird. Rudolf Kruse Neuronale Netze 245
246 Überwachtes Lernen / Support Vector Machines Rudolf Kruse Neuronale Netze 246
247 Überwachtes Lernen, Diagnosesystem für Krankheiten Trainingsdaten: Expressionsprofile von Patienten mit bekannter Diagnose Durch die bekannte Diagnose ist eine Struktur in den Daten vorgegeben, die wir auf zukünftige Daten verallgemeinern wollen. Lernen/Trainieren: Leite aus den Trainingsdaten eine Entscheidungsregel ab, die die beiden Klassen voneinander trennt. Generalisierungsfähigkeit: wie gut ist die Entscheidungsregel darin, zukünftige Patienten zu diagnostizieren? Ziel: finde eine Entscheidungsregel mit hoher Generalisierungsfähigkeit! Rudolf Kruse Neuronale Netze 247
248 Lernen von Beispielen Gegeben:X ={x i,y i } n i=, Trainingsdaten von Patienten mit bekannter Diagnose bestehend aus: x i R g (Punkte, Expressionsprofile) y i {+, } (Klassen, 2 Arten von Krebs) Entscheidungsfunktion: f X : R g {+, } Diagnose =f X (neuer Patient) Rudolf Kruse Neuronale Netze 248
249 Underfitting / Overfitting Rudolf Kruse Neuronale Netze 249
250 Lineare Trennung der Trainingsdaten Wir fangen mit linearer Trennung an und vergrößern die Komplexität in einem zweiten Schritt durch Kernel-Funktionen. Eine trennende Hyperebene ist definiert durch den Normalenvektor w und die Verschiebung b: HyperebeneH={x w,x +b = 0}, nennt man inneres Produkt oder Skalarprodukt Rudolf Kruse Neuronale Netze 250
251 Vorhersage der Klasse eines neuen Punktes Training: Wählew undbso, daß die Hyperebene die Trainingsdaten trennt. Vorhersage: Auf welcher Seite der Hyperebene liegt der neue Punkt? Punkte in Richtung des Normalenvektors diagnostizieren wir als POSITIV. Punkte auf der anderen Seite diagnostizieren wir als NEGATIV. Rudolf Kruse Neuronale Netze 25
252 Motivation Ursprung in statistischer Lerntheorie; Klasse optimaler Klassifikatoren Zentrales Problem der statistischen Lerntheorie: Generalisierungsfähigkeit: Wann führt ein niedriger Trainingsfehler zu einem niedrigen echten Fehler? Zweiklassenproblem: Klassifikationsvorgang Zuordnungsfunktion f(x, u) : x y {+, } x: Muster aus einer der beiden Klassen u: Parametervektor des Klassifikators Lernstichprobe mitlbeobachtungenx,x 2,...,x l mit entsprechender Klassenzugehörigkeity,y 2,...,y l das empirische Risiko (Fehlerrate) für gegebenen Trainingsdatensatz: R emp (u) = 2l l i= y i f(x i,u) [0, ] Viele Klassifikatoren, z.b. neuronale Netze, minimieren das empirische Risiko Rudolf Kruse Neuronale Netze 252
253 Motivation Erwartungswert des Zuordnungsfehlers (expected risk): R(u) = E{R test (u)} = E{ 2 y f(x,u) } = 2 y f(x,u) p(x,y)dxdy p(x,y): Verteilungsdichte aller möglichen Samplesxmit entsprechender Klassenzugehörigkeit y (Dieser Ausdruck nicht direkt auswertbar, da p(x, y) nicht zur Verfügung steht) Optimale Musterklassifikation: Deterministische Zuordnungsfunktion f(x, u) : x y {+, } gesucht, so dass das Expected Risk minimiert wird Zentrale Frage der Musterklassifikation: Wie nah ist man nach l Trainingsbeispielen am echten Fehler? Wie gut kann aus dem empirischen RisikoR emp (u) das echte RisikoR(u) abgeschätzt werden? (Structural Risk Minimization statt Empirical Risk Minimization) Antwort durch Lerntheorie von Vapnik-Chervonenkis SVM Rudolf Kruse Neuronale Netze 253
254 SVM für linear trennbare Klassen Bisherige Lösung: Allgemeine Hyperebene: wx + b = 0 Klassifikation: sgn(wx + b) Training z.b. mittels Perzeptron-Algorithmus (iteratives Lernen, Korrektur nach jeder Fehlklassifikation; keine Eindeuigkeit der Lösung) Rudolf Kruse Neuronale Netze 254
255 Welche Hyperebene ist die beste? Und warum? Rudolf Kruse Neuronale Netze 255
256 Keine scharfe Trennung, sondern eine... Rudolf Kruse Neuronale Netze 256
257 Trenne die Trainingsdaten mit maximaler Trennspanne Rudolf Kruse Neuronale Netze 257
258 Trenne die Trainingsdaten mit maximaler Trennspanne Versuche eine lineare Trennung, aber lasse Fehler zu: Strafe für Fehler: Abstand zur Hyperebene multipliziert mit Fehlergewicht C Rudolf Kruse Neuronale Netze 258
259 SVM für linear trennbare Klassen Bei SVM wird eine trennende Hyperebene mit maximalem Rand gesucht. Optimal: diejenige mit größtem 2δ von allen möglichen Trennebenen. Anschaulich sinnvoll (Bei konstanter Intraklassenstreuung wächst Klassifikationssicherheit mit wachsendem Interklassenabstand) Theoretisch sind SVM durch statistische Lerntheorie begründet Rudolf Kruse Neuronale Netze 259
260 SVM für linear trennbare Klassen Large-Margin Klassifikator: Trennlinie 2 besser als Trennlinie Rudolf Kruse Neuronale Netze 260
261 SVM für linear trennbare Klassen wx +b = + wx +b = x δ δ wx +b = 0 x 2 Trainingsdaten werden korrekt klassifiziert, falls: y i (wx i +b)>0 Invarianz dieses Ausdrucks gegenüber einer positiven Skalierung führt zu: y i (wx i +b) mit den kanonischen Hyperebenen: wx i +b = +; (Klasse mity i = +) wx i +b = ; (Klasse mity i = ) Der Abstand zwischen den kanonischen Hyperebenen ergibt sich durch Projektion von x x 2 auf den Einheitsnormalenvektor w w : 2δ = 2 w ; d.h.δ = w Maximierung vonδ Minimierung von w 2 Rudolf Kruse Neuronale Netze 26
262 SVM für linear trennbare Klassen Optimale Trennebene durch Minimierung einer quadratischen Funktion unter linearen Nebenbedingungen: Primales Optimierungsproblem: minimiere:j(w,b) = 2 w 2 unter Nebenbedingungen i [y i (wx i +b) ],i =, 2,...,l Einführung einer Lagrange-Funktion: L(w,b,α) = 2 w 2 l α i[y i (wx i +b) ]; α i 0 i= führt zum dualen Problem: maximiere L(w, b, α) bezüglich α, unter den Nebenbedingungen: L(w,b,α) w = 0 = w = l α iy i x i i= L(w,b,α) b = 0 = l α iy i = 0 i= Rudolf Kruse Neuronale Netze 262
263 SVM für linear trennbare Klassen Einsetzen dieser Terme in L(w, b, α): L(w,b,α) = 2 w 2 l = 2 w w w l i= α i[y i (wx i +b) ] i= α iy i x i b = 2 w w w w + l i= α i = 2 w w + l i= α i = 2 l i= l j= y iy j α i α j x i x j + l i= α i l i= α iy i + l i= α i Rudolf Kruse Neuronale Netze 263
264 SVM für linear trennbare Klassen Duales Optimierungsproblem: maximiere:l (α) = l i= α i 2 l i= unter Nebenbedingungenα i 0 und l l j= y iy j α i α j x i x j i= y iα i = 0 Dieses Optimierungsproblem kann mithilfe der konvexen quadratischen Programmierung numerisch gelöst werden Rudolf Kruse Neuronale Netze 264
265 SVM für linear trennbare Klassen Lösung des Optimierungsproblems: w = l i= α iy i x i = b = 2 w (x p +x m ) x i SV α iy i x i für beliebigesx p SV,y p = +, undx m SV,y m = wobei SV = {x i α i > 0,i =, 2,...,l} die Menge aller Support-Vektoren darstellt Klassifikationsregel: sgn(w x +b ) = sgn[( α iy i x i )x +b ] x i SV Die Klassifikation hängt nur von den Support-Vektoren ab! Rudolf Kruse Neuronale Netze 265
266 SVM für linear trennbare Klassen Beispiel: Support-Vektoren Rudolf Kruse Neuronale Netze 266
267 SVM für linear trennbare Klassen Beispiel: Klasse + enthältx = (0, 0) undx 2 = (, 0); Klasse - enthältx 3 = (2, 0) undx 4 = (0, 2) 2 2 Rudolf Kruse Neuronale Netze 267
268 SVM für linear trennbare Klassen Das duale Optimierungsproblem lautet: maximiere:l (α) = (α +α 2 +α 3 +α 4 ) 2 (α2 2 4α 2 α 3 + 4α α 2 4) unter Nebenbedingungenα i 0 undα +α 2 α 3 α 4 = 0 Lösung: Optimale Trennlinie:x +y = 3 2 α = 0, α 2 =, α 3 = 3 4, α 4 = 4 SV = {(, 0), (2, 0), (0, 2)} w = (, 0) 3 4 (2, 0) 4 (0, 2) = ( 2, 2 ) b = 2 ( 2, 2 ) ((, 0) + (2, 0)) = 3 4 Rudolf Kruse Neuronale Netze 268
269 SVM für linear trennbare Klassen Beobachtungen: Für die Support-Vektoren gilt:α i > 0 Für alle Trainingsdaten außerhalb des Randes gilt:α i = 0 Support-Vektoren bilden eine sparse Darstellung der Stichprobe und sind ausreichend für die Klassifikation Die Lösung entspricht dem globalen Optimum und ist eindeutig Der Optimierungsvorgang benötigt nur Skalarproduktex i x j Rudolf Kruse Neuronale Netze 269
270 SVM für nicht linear separierbare Klassen In diesem Beispiel existiert keine Trennlinie so dass i [y i (wx i +b) ] ξ < ξ = 0 ξ > y = y = 0 ξ = 0 y = Alle drei Fälle können interpretiert werden als:y i (wx i +b) ξ i A)ξ i = 0 B) 0<ξ i C)ξ i > Drei mögliche Fälle: A) Vektoren außerhalb des Bandes, die korrekt klassifiziert werden, d.h. y i (wx i +b) B) Vektoren innerhalb des Bandes, die korrekt klassifiziert werden, d.h. 0 y i (wx i +b) < C) Vektoren, die falsch klassifiziert werden, d.h. y i (wx i +b) < 0 Rudolf Kruse Neuronale Netze 270
271 SVM für nicht linear separierbare Klassen Motivation für Verallgemeinerung: Keine Lösung mit bisherigem Ansatz für nicht trennbare Klassen Verbesserung der Generalisierung bei Ausreißern in der Randzone Soft-Margin SVM: Einführung von slack -Variablen ξ i ξ j Rudolf Kruse Neuronale Netze 27
272 SVM für nicht linear separierbare Klassen Bestrafen von Randverletzungen via slack -Variablen Primales Optimierungsproblem: minimiere:j(w,b,ξ) = 2 w 2 +C l i= ξ i unter Nebenbedingungen i [y i (wx i +b) ξ i,ξ i 0] Duales Optimierungsproblem: maximiere:l (α) = l i= α i 2 l i= l j= y iy j α i α j x i x j unter Nebenbedingungen 0 α i C und l y iα i = 0 i= (Weder die slack-variablen noch deren Lagrange-Multiplier tauchen im dualen Optimierungsproblem auf!) Einziger Unterschied zum linear trennbaren Fall: Konstante C in den Nebenbedingungen Rudolf Kruse Neuronale Netze 272
273 SVM für nicht linear separierbare Klassen Lösung des Optimierungsproblems: wobei l w = α iy i x i = α iy i x i i= x i SV b = y k ( ξ k ) w x k ; k = arg max i SV = {x i α i > 0,i =, 2,...,l} die Menge aller Support-Vektoren darstellt α i Rudolf Kruse Neuronale Netze 273
274 SVM für nicht linear separierbare Klassen Beispiel: nicht linear trennbare Klassen Rudolf Kruse Neuronale Netze 274
275 Nichtlineare SVM Nichtlineare Klassengrenzen: Hyperebene keine hohe Genauigkeit Beispiel: Transformation Ψ(x) = (x,x 2 ) C undc 2 linear trennbar = Idee: Merkmalex R n durch Ψ : R n R m in einen höherdimensionalen RaumR m, m>n, transformieren und inr m eine optimale lineare Trennebene finden Transformation Ψ steigert die lineare Trennbarkeit! Trennende Hyperebene inr m nichtlineare Trennfläche inr n Rudolf Kruse Neuronale Netze 275
276 Nichtlineare SVM Problem: Sehr hohe Dimension des MerkmalsraumsR m Z.B. Polynomep-ten Grades überr n R m,m=o(n p ) Trick mit Kernelfunktionen: Ursprünglich inr n : nur Skalarproduktex i x j erforderlich neu inr m : nur Skalarprodukte Ψ(x i )Ψ(x j ) erforderlich Lösung: Ψ(x i )Ψ(x j ) müssen nicht explizit ausgerechnet werden, sondern können mit reduzierter Komplexität mit Kernelfunktionen ausgedrückt werden K(x i,x j ) = Ψ(x i )Ψ(x j ) Rudolf Kruse Neuronale Netze 276
277 Nichtlineare SVM Beispiel: Für die Transformation Ψ : R 2 R 6 Ψ((y,y 2 )) = (y 2,y 2 2, 2y, 2y 2, 2y y 2, ) berechnet die Kernelfunktion K(x i,x j ) = (x i x j + ) 2 = ((y i,y i2 ) (y j,y j2 ) + ) 2 = (y i y j +y i2 y j2 + ) 2 = (y 2 i,y 2 i2, 2y i, 2y i2, 2y i y i2, ) (y 2 j,y 2 j2, 2y j, 2y j2, 2y j y j2, ) = Ψ(x i )Ψ(x j ) das Skalarprodukt im neuen MerkmalsraumR 6 Rudolf Kruse Neuronale Netze 277
278 Nichtlineare SVM Beispiel: Ψ : R 2 R 3 Ψ((y,y 2 )) = (y 2, 2y y 2,y 2 2) Die Kernelfunktion K(x i,x j ) = (x i x j ) 2 = Ψ(x i )Ψ(x j ) berechnet das Skalarprodukt im neuen MerkmalsraumR 3. Wir können also das Skalarprodukt zwischen Ψ(x i ) und Ψ(x j ) ausrechnen, ohne die Funktion Ψ anzuwenden. Rudolf Kruse Neuronale Netze 278
279 Nichtlineare SVM Häufig verwendete Kernfunktionen: Polynom-Kernel: K(x i,x j ) = (x i x j ) d Gauß-Kernel: K(x i,x j ) = e x i x j 2 c Sigmoid-Kernel: K(x i,x j ) = tanh(β x i x j +β 2 ) Lineare Kombinationen von gültigen Kernels neue Kernelfunktionen Wir müssen nicht wissen, wie der neue MerkmalsraumR m aussieht. Wir brauchen nur die Kernel-Funktion als ein Maß der Ähnlichkeit. Rudolf Kruse Neuronale Netze 279
280 Nichtlineare SVM Beispiel: Gauß-Kernel (c = ). Die Support-Vektoren sind durch einen extra Kreis gekennzeichnet. Rudolf Kruse Neuronale Netze 280
281 Nichtlineare SVM Beispiel: Gauß-Kernel (c = ) für Soft-Margin SVM. Rudolf Kruse Neuronale Netze 28
282 Schlußbemerkungen Stärken von SVM: SVM liefert nach derzeitigen Erkenntnissen sehr gute Klassifikationsergebnisse; bei einer Reihe von Aufgaben gilt sie als der Top-Performer Sparse-Darstellung der Lösung über Support-Vektoren Leicht anwendbar: wenig Parameter, kein a-priori-wissen erforderlich Geometrisch anschauliche Funktionsweise Theoretische Aussagen über Ergebnisse: globales Optimum, Generalisierungsfähigkeit Schwächen von SVM: Langsames speicherintensives Lernen Tuning SVMs remains a black art: selecting a specific kernel and parameters is usually done in a try-and-see manner Rudolf Kruse Neuronale Netze 282
283 Schlußbemerkungen Liste von SVM-Implementierungen unter LIBSVM ist die gängigste: Rudolf Kruse Neuronale Netze 283
284 Neuro-Fuzzy-Systeme Rudolf Kruse Neuronale Netze 284
285 Neuro-Fuzzy-Systeme Nachteil neuronaler Netze: Ergebnisse sind schlecht interpretierbar (black box) Vorwissen kann schlecht dargestellt werden Ausweg: hybrides System, bei dem NN mit einem regelbasierten System gekoppelt sind ein mögliches Verfahren: Neuro-Fuzzy-Systeme Rudolf Kruse Neuronale Netze 285
286 Kurzeinführung in die Fuzzy-Theorie Klassische Logik: nur Wahrheitswerte wahr und falsch Klassische Mengenlehre: entweder ist Element oder nicht Zweiwertigkeit dieser Theorien: oft unangemessen Beispiel: Sorites-Paradoxon (griech. sorites: Haufen) wahr: Eine Milliarde Sandkörner sind ein Sandhaufen. wahr: Wenn man von einem Sandhaufen ein Sandkorn entfernt, bleibt ein Sandhaufen übrig. wahr: Sandkörner sind ein Sandhaufen. mehrfache Wiederholung des gleichen Schlusses: falsch: Sandkorn ist ein Sandhaufen. Frage: Bei welcher Anzahl Sandkörner ist Schluss nicht wahrheitsbewahrend? Rudolf Kruse Neuronale Netze 286
287 Kurzeinführung in die Fuzzy-Theorie Offenbar: keine genau bestimmte Anzahl Sandkörner, bei der der Schluss auf nächstkleinere Anzahl falsch ist Problem: Begriffe der natürlichen Sprache (z.b. Sandhaufen, kahlköpfig, warm, schnell, hoher Druck, leicht etc.) sind vage beachte: vage Begriffe sind unexakt, aber nicht unbrauchbar auch für vage Begriffe: Situationen/Objekte, auf die sie sicher anwendbar sind und solche, auf die sie sicher nicht anwendbar sind dazwischen: Penumbra (lat. für Halbschatten) von Situationen, in denen es unklar ist, ob die Begriffe anwendbar sind, oder in denen sie nur mit Einschränkungen anwendbar sind ( kleiner Sandhaufen ). Fuzzy-Theorie: mathematische Modellierung der Penumbra Rudolf Kruse Neuronale Netze 287
288 Fuzzy-Logik Erweiterung der klassischen Logik um Zwischenwerte zwischen wahr und falsch Wahrheitswert: jeder Wert aus [0, ], wobei 0 = falsch und = wahr Erweiterung der logischen Operatoren Klassische Logik Fuzzy-Logik Operation Notation Operation Notation Beispiel Negation a Fuzzy-Negation a a Konjunktion a b t-norm (a, b) min(a, b) Disjunktion a b t-konorm (a, b) max(a, b) Prinzipien der Erweiterung: für Extremwerte 0 und sollen sich Operationen genauso verhalten wie ihre klassischen Vorbilder (Rand-/Eckbedingungen) für Zwischenwerte soll ihr Verhalten monoton sein Gesetze der klassischen Logik sollen (fast alle) erhalten werden Rudolf Kruse Neuronale Netze 288
289 Fuzzy-Mengenlehre klassische Mengenlehre basiert auf Begriff ist Element von ( ) alternativ: Zugehörigkeit zu Menge mit Indikatorfunktion beschreibbar: sei X eine Menge, dann heißt, fallsx X, I M :X {0, }, I M (x) = 0, sonst, Indikatorfunktion der Menge M bzgl. Grundmenge X in Fuzzy-Mengenlehre: ersetze Indikatorfunktion durch Zugehörigkeitsfunktion: sei X (klassische/scharfe) Menge, dann heißt µ M :X [0, ], µ M (x) = Zugehörigkeitsgrad vonxzum, Zugehörigkeitsfunktion (membership function) der Fuzzy-MengeM bzgl. der Grundmenge X Fuzzy-Menge: definiert über ihre Zugehörigkeitsfunktion Rudolf Kruse Neuronale Netze 289
290 Formale Definition einer Fuzzy-Menge. Eine Fuzzy-Mengeµ X ist eine Funktion, die aus der ReferenzmengeX in das Einheitsintervall abbildet, d.h. µ : X [0, ]. 2.F(X) stellt die Menge aller Fuzzy-Mengen vonx dar, d.h.f(x) def ={µ µ:x [0, ]}. Rudolf Kruse Neuronale Netze 290
291 Fuzzy-Partitionen und Linguistische Variablen um Wertebereich durch sprachliche (linguistische) Ausdrücke beschreiben zu können, wird er mithilfe von Fuzzy-Mengen fuzzy-partitioniert jeder Fuzzy-Menge der Partitionierung ist ein linguistischer Term zugeordnet übliche Bedingung: an jedem Punkt müssen sich Zugehörigkeitsgrade aller Fuzzy- Mengen zu addieren Beispiel: Fuzzy-Partitionierung für Temperaturen Linguistische Variable mit den Werten kalt, lau, warm und heiß. kalt lau warm heiß T/C Rudolf Kruse Neuronale Netze 29
292 Subjektive Definition einer Fuzzymenge Beispiel X Menge der Magdeburger Einwohner im Alter zwischen 0 und 00 Jahren Y={,...,00} j(y) Anzahl der Einwohner diey alt sind, die sich als jung bezeichnen n(y) Gesamtzahl der Einwohner im Altery µ :Y [0, ], µ(y) = j(y) n(y) ify> 0 ify Rudolf Kruse Neuronale Netze 292
293 Operationen wie beim Übergang von klassischer Logik zur Fuzzy-Logik: hier auch Erweiterung der Operationen nötig dieser Erweiterung: greife auf logische Definition der Operationen zurück elementweise Anwendung der logischen Operatoren (Fuzzy-)MengenAundB über GrundmengeX Komplement klassisch A ={x X x/ A} fuzzy x X : µ A (x) = µ A (x) Schnitt klassisch A B ={x X x A x B} fuzzy x X : µ A B (x) = (µ A (x),µ B (x)) Vereinigung klassisch A B ={x X x A x B} fuzzy x X : µ A B (x) = (µ A (x),µ B (x)) Rudolf Kruse Neuronale Netze 293
294 Fuzzy-Schnitt und Fuzzy-Vereinigung Beispiele für Schnitt und Vereinigung Fuzzy-Schnitt (min) Fuzzy-Vereinigung (max) Rudolf Kruse Neuronale Netze 294
295 Architektur eines Fuzzy-Reglers Wissensbasis fuzzy fuzzy Fuzzifizierungsschnittstelle Entscheidungslogik Defuzzifizierungsschnittstelle nicht fuzzy Meßwerte geregeltes System Reglerausgabe nicht fuzzy Wissensbasis enthält Fuzzy-Regeln für Steuerung und Fuzzy-Partitionen der Wertebereiche der Variablen Fuzzy-Regel: ifx isa () i and... andx n isa (n) i n theny isb. X,...,X n sind Messgrößen undy ist Stellgröße A i (k) k,b: linguistische Terme (mit Fuzzy-Mengen assoziiert) Rudolf Kruse Neuronale Netze 295
296 Fuzzy-Regelung nach Mamdani-Assilian 0.3 positive small θ positive medium 0.6 θ approx. zero 0.5 approx. zero θ θ min min positive small F positive medium F max Regelauswertung in Mamdani Assilian-Regler. Eingabetupel (25, 4) führt zur rechts gezeigten unscharfen Ausgabe. Aus dieser Fuzzy-Menge wird entsprechender Ausgabewert durch Defuzzifizierung bestimmt, z.b. durch die Schwerpunktmethode (COG) F Rudolf Kruse Neuronale Netze 296
297 Neuro-Fuzzy-Systeme Der Aufbau eines Fuzzy-Systems benötigt: Vorwissen (Fuzzy-Regeln, Fuzzy-Mengen) Manuelle Anpassungen, die zeitaufwendig und fehlerträchtig sind Unterstütze diesen Prozess durch Lernverfahren: Erlernen von Fuzzy-Regeln (Struktur-Lernen) Erlernen von Fuzzy-Mengen (Parameter-Lernen) Ansatz mit künstlichen neuronalen Netzen kann genutzt werden Rudolf Kruse Neuronale Netze 297
298 Fallstudie: Aktienkursvorhersage Prognose der täglichen relativen Änderungen des DAX, aufbauend auf Zeitreihen von Börsen-Indizes im Zeitraum von 986 bis 997 DAX German 3 months interest rate German Morgan-Stanley index DM / US-$ gold price European Morgan-Stanley-Index Composite-DAX Return Germany Dow Jones industrial index US treasure bonds Japanese Nikkei-Index Price earning ratio Rudolf Kruse Neuronale Netze 298
299 Fuzzy-Regeln im Finanzbereich trend rule IF DAX = decreasing AND US-$ = decreasing THEN DAX prediction = decreasing WITH high certainty turning point rule IF DAX = decreasing AND US-$ = increasing THEN DAX prediction = increasing WITH low certainty delay rule IF DAX = stable AND US-$ = decreasing THEN DAX prognosis = decreasing WITH very high certainty in general IF x isµ ANDx 2 isµ 2 AND... ANDx n isµ n THEN y =η WITH weight k Rudolf Kruse Neuronale Netze 299
300 Neuro-Fuzzy-Architektur Ausschnitt eines NF- Systems. Rudolf Kruse Neuronale Netze 300
301 Von Regeln zu Neuronalen Netzen. Bewertung von Zugehörigkeitsgraden 2. Bewertung von Regeln (Regelaktivität) µ l = IR n [0, ] r, x D l l= w l j= µ(j) c,s(x i ) 3. Akkumulation von Regeleingaben, Normalisierung NF : IR n IR, x r k l µ l (x) r j= k j µ j (x) Rudolf Kruse Neuronale Netze 30
302 Dimensionsreduktion des Gewichtsraums. Zugehörigkeitsfunktionen verschiedener Eingaben teilen ihre Parameter untereinander, z.b. µ stabil DAX =µ stabil C-DAX 2. Zugehörigkeitsfunktionen derselben Eingabevariable dürfen nicht einander passieren, sondern müssen ihre Originalreihenfolge beibehalten, d.h. µ decreasing <µ stable <µ increasing Vorteile: Die optimierte Regelbasis ist immer noch interpretierbar. Die Anzahl freier Parameter wurde reduziert. Rudolf Kruse Neuronale Netze 302
303 Lernen des NFS Die Parameter der Fuzzy-Mengen, die Gewichte und die Regelwichtigkeiten werden durch ein Backpropagation-Verfahren ermittelt. Es werden Pruning-Verfahren genutzt. Rudolf Kruse Neuronale Netze 303
304 Gewinnkurven verschiedene Modelle Validierungsdaten: März 994 bis April 997 Rudolf Kruse Neuronale Netze 304
305 Fallstudie: medizinische Diagnose nach NEFCLASS-Einführung Ergebnisse von Patienten, die auf Brustkrebs getestet wurden (Wisconsin Breast Cancer Data) Entscheidungsunterstützung: liegt ein gutartiger oder bösartiger Fall vor? Ein Chirurg muß die Klassifikation auf ihre Plausibilität hin überprüfen können. Es wird nach einem einfachen und interpretierbaren Klassifikator gesucht Wissensentdeckung Rudolf Kruse Neuronale Netze 305
306 Fallstudie: WBC-Daten 699 Fälle (6 Fälle mit fehlenden Werten) 2 Klassen: gutartig(458), bösartig (24) 9 Attribute mit Werten in{,...,0} (ordinale Skala, aber normalerweise numerisch interpretiert) Experiment:x 3 undx 6 werden als nominale Attribute interpretiert x 3 undx 6 werden oft als wichtige Attribute angesehen Rudolf Kruse Neuronale Netze 306
307 Anwendung von NEFCLASS-J Werkzeug zur Entwicklung von NF-Klassifikatoren Java-Implementierung frei verfügbar zu Forschungszwecken Projekt in unserer Gruppe gestartet Rudolf Kruse Neuronale Netze 307
308 NEFCLASS: Neuro-Fuzzy-Klassifikator Ausgabevariablen ungewichtete Verbindungen Fuzzy-Regeln Fuzzy-Mengen (Antezedens) Eingabeattribute (Variablen) Rudolf Kruse Neuronale Netze 308
309 NEFCLASS: Merkmale automatische Erstellung der Fuzzy-Regelbasis aus Daten Trainieren verschiedener Formen von Fuzzy-Mengen Verarbeiten von numerischen und symbolischen Attributen Behandlung von fehlenden Werten (kein Entfernen) automatische Beschneidungsstrategien Verschmelzen von Expertenwissen und Daten Rudolf Kruse Neuronale Netze 309
310 Darstellung von Fuzzy-Regeln Beispiel: 2 Regeln R : ifxis large andy is small, then class isc R 2 : ifxis large andy is large, then class isc 2 Verbindungenx R undx R 2 sind verbunden Fuzzymenge large teilt Gewicht auf d.h. large hat immer dieselbe Bedeutung in beiden Regeln Rudolf Kruse Neuronale Netze 30
311 . Trainieren: Initialisierung Spezifiziere anfängliche Fuzzy-Partitionen für alle Eingabevariablen Rudolf Kruse Neuronale Netze 3
312 . Trainieren: Regelbasis for each patternp{ find antecedent A s.t. A(p) is maximal ifa/ L{ addatol } } for each antecedenta L{ find best consequentc fora create rule base candidater=(a,c) determine performance of R addrtob } return one rule base from B Fuzzy-Regel-Basen können auch aus Vorwissen, Fuzzy-Cluster-Analyse, Fuzzy-Entscheidungsbäumen, Evolutionären Algorithmen etc. gewonnen werden Rudolf Kruse Neuronale Netze 32
313 Auswahl einer Regelbasis Effizienz einer Regel: mit c = P r = N i= N( )c R r (x i ) 0 falls class(x i ) = con(r r ), sonst sortiere Regeln nach Effizienz wähle entweder die bestenrregeln oder die bestenr/m Regeln pro Klasse aus r ist entweder gegeben oder wird automatisch so bestimmt, dass alle Muster abgedeckt werden Rudolf Kruse Neuronale Netze 33
314 Induktion der Regelbasis NEFCLASS benutzt eine angepasste Wang-Mendel-Prozedur Rudolf Kruse Neuronale Netze 34
315 Berechnung des Fehlersignals Fuzzy-Fehler (j-te Ausgabe): E j = sgn(d)( γ(d)) mitd=t j o j und γ : IR [0, ],γ(d) = exp ( a d d max) 2 (t: korrekte Ausgabe, o: aktuelle Ausgabe) Regel-Fehler: E r = (τ r ( τ r ) +ε)e con(rr ) mit 0<ε Rudolf Kruse Neuronale Netze 35
316 3. Trainingsschritt: Fuzzy-Mengen z.b. dreieckige Zugehörigkeitsfunktion µ a,b,c : IR [0, ], µ a,b,c (x) = x a b a ifx [a,b), c x c b fallsx [b,c], 0 sonst Parameteranpassungen für eine Antezedens-Fuzzymenge: f = σµ(x) fallse< 0, σ( µ(x)) sonst b =f E (c a) sgn(x b) a = f E (b a) + b c =f E (c b) + b Rudolf Kruse Neuronale Netze 36
317 Trainieren von Fuzzy-Mengen Heuristik: die Fuzzy-Menge wird vonxweg (aufxzu) bewegt und ihr support wird reduziert (vergrößert) um den Zugehörigkeitsgrad von x zu reduzieren (erhöhen) Rudolf Kruse Neuronale Netze 37
318 Trainieren von Fuzzy-Mengen do{ for each pattern{ accumulate parameter updates accumulate error } modify parameters } while change in error Varianten: Adaptive Lernrate Online-/Batch-Lernen Optimistisches Lernen (n Schritte in die Zukunft blickend ) Rudolf Kruse Neuronale Netze 38
319 Einschränkungen beim Trainieren von Fuzzy-Mengen gültige Parameterwerte nicht-leere Schnitte benachbarter Fuzzy-Mengen Beibehalten relativer Positionen Erhalt der Symmetrie Komplette Abdeckung (Zugehörigkeitsgrade für jedes Element summieren sich zu ) Rudolf Kruse Neuronale Netze 39
320 4. Trainingsschritt: Stutzen Ziel: Entferne Variablen, Regeln und Fuzzy-Mengen, um die Interpretierbarkeit und Generalisierungsfähigkeit zu verbessern Rudolf Kruse Neuronale Netze 320
321 Stutzen: Methoden do{ select pruning method do{ execute pruning step train fuzzy sets if no improvement{ undo step } } while there is improvement } while there is further method. Entferne Variablen (Korrelationen, Information Gain, etc.) 2. Entferne Regeln (Effizienz einer Regel) 3. Entferne Terme (Erfüllungsgrad einer Regel) 4. Entferne Fuzzy-Mengen Rudolf Kruse Neuronale Netze 32
322 WBC- Ergebnisse: Fuzzy-Regeln R : if uniformity of cell size is small and bare nuclei is fuzzy0 then benign R 2 : if uniformity of cell size is large then malignant Rudolf Kruse Neuronale Netze 322
323 WBC-Ergebnisse: Klassifikation vorhergesagte Klasse bösartig gutartig bösartig 228 (32.62%) 3 (.86%) 24 (34.99%) gutartig 5 (2.5%) 443 (63.38%) 458 (65.0%) 243 (34.76) 456 (65.24) 699 (00.00%) Geschätzte Vorhersageleistung auf unbekannten Daten (Kreuzvalidierung): NEFCLASS-J: 95.42% NEFCLASS-J (numerisch): 94.4% Discriminant Analysis: 96.05% Multilayer Perceptron: 94.82% C 4.5: 95.0% C 4.5 Rules: 95.40% Rudolf Kruse Neuronale Netze 323
324 WBC-Ergebnisse: Fuzzy-Mengen Rudolf Kruse Neuronale Netze 324
325 NEFCLASS-J Rudolf Kruse Neuronale Netze 325
326 Fallstudie: Linienerkennung Extraktion von Kantensegmenten (Burns operator) weitere Schritte: Kanten Linien lange Linien parallele Linien Landebahnen Rudolf Kruse Neuronale Netze 326
327 Fallstudie: Linienerkennung Probleme: sehr viele Linien wegen verzerrter Bilder Lange Ausführungszeiten der Erstellungs-Schritte (bis Landebahnen) Rudolf Kruse Neuronale Netze 327
328 Fallstudie: Linienerkennung nur wenige Linien für Landebahnen genutzt Ansatz: extrahiere Textureigenschaften der Linien identifiziere und verwirf überflüssige Linien Rudolf Kruse Neuronale Netze 328
329 Fallstudie: Linienerkennung mehrere Klassifikatoren: minimum distance, k-nn, C 4.5, NEFCLASS Probleme: Klassen überlappen und sind extrem unbalanciert obiges Ergebnis durch modifiziertes NEFCLASS erhalten: alle Landebahnlinien gefunden, Reduktion auf 8.7% der Kantensegmente Rudolf Kruse Neuronale Netze 329
330 Zusammenfassung Neuro-Fuzzy-Systeme können nützlich zur Wissensentdeckung sein Interpretierbarkeit ermöglicht die Plausibilitätskontrolle und erhöht die Akzeptanz NFS nutzen Toleranzen aus, um zu beinahe optimalen Lösungen zu kommen NFS-Lernalgorithmen müssen mit Einschränkungen umgehen können, um die Semantik des ursprünglichen Modells nicht zu verletzen keine automatische Modellerstellung Benutzer muß mit dem Werkzeug umgehen Einfache Lerntechniken unterstützen die explorative Datenanalyse. Rudolf Kruse Neuronale Netze 330
331 Fallstudie: Qualitätskontrolle Heutiges Verfahren Oberflächenkontrolle: manuell durchgeführt erfahrener Arbeiter bearbeitet Oberfläche mit Schleifstein Experten klassifizieren Abweichungen durch sprachliche Beschreibungen umständlich, subjektiv, fehleranfällig, zeitaufwendig vorgeschlagener Ansatz: Digitalisierung der Oberfläche mit optischen Mess-Systemen Charakterisierung der Formabweichungen durch mathematische Eigenschaften (nahe der subjektiven Merkmale) Rudolf Kruse Neuronale Netze 33
332 Topometrisches 3D Mess-System Rudolf Kruse Neuronale Netze 332
333 Datenverarbeitung Rudolf Kruse Neuronale Netze 333
334 Farbkodierte Darstellung Rudolf Kruse Neuronale Netze 334
335 3D-Darstellung lokaler Oberflächendefekte unebene Oberfläche mehrere Einfallsstellen in Serie/benachbart Walzenmarkierung lokale Glättung der Oberfläche Einfallstelle leichte flach basierte Senke einwärts Wellplatte mehrere schwerere Faltungen in Serie Rudolf Kruse Neuronale Netze 335
336 Charakteristik der Daten 9 Meisterstücke mit insgesamt 99 Defekten analysiert für jeden Defekt, 42 Merkmale berechnet Typen sind eher unbalanciert seltene Klassen verworfen einige extrem korrelierte Merkmale verworfen (3 übrig) Rangfolge der 3 Merkmale nach Wichtigkeit geschichtete 4-fache Kreuzvalidierung fürs Experiment Rudolf Kruse Neuronale Netze 336
337 Anwendung und Ergebnisse Regelbasis für NEFCLASS: Klassifikationsgenauigkeit: NBC DTree NN NEFCLASS DC Trainingsmenge 89.0% 94.7% 90% 8.6% 46.8% Testmenge 75.6% 75.6% 85.5% 79.9% 46.8% Rudolf Kruse Neuronale Netze 337
Schwellenwertelemente. Rudolf Kruse Neuronale Netze 8
Schwellenwertelemente Rudolf Kruse Neuronale Netze 8 Schwellenwertelemente Ein Schwellenwertelement (Threshold Logic Unit, TLU) ist eine Verarbeitungseinheit für Zahlen mitneingängenx,...,x n und einem
MehrAllgemeine (Künstliche) Neuronale Netze. Rudolf Kruse Neuronale Netze 40
Allgemeine (Künstliche) Neuronale Netze Rudolf Kruse Neuronale Netze 40 Allgemeine Neuronale Netze Graphentheoretische Grundlagen Ein (gerichteter) Graph ist ein Tupel G = (V, E), bestehend aus einer (endlichen)
MehrNeuronale Netze. Prof. Dr. Rudolf Kruse
Neuronale Netze Prof. Dr. Rudolf Kruse Computational Intelligence Institut für Intelligente Kooperierende Systeme Fakultät für Informatik rudolf.kruse@ovgu.de Rudolf Kruse, Alexander Dockhorn Neuronale
MehrRadiale-Basisfunktionen-Netze. Rudolf Kruse Neuronale Netze 120
Radiale-Basisfunktionen-Netze Rudolf Kruse Neuronale Netze 2 Radiale-Basisfunktionen-Netze Eigenschaften von Radiale-Basisfunktionen-Netzen (RBF-Netzen) RBF-Netze sind streng geschichtete, vorwärtsbetriebene
MehrNeuronale Netze. Prof. Dr. Rudolf Kruse
Neuronale Netze Prof. Dr. Rudolf Kruse Computational Intelligence Institut für Intelligente Kooperierende Systeme Fakultät für Informatik rudolf.kruse@ovgu.de Rudolf Kruse, Christoph Doell Neuronale Netze
MehrTraining von RBF-Netzen. Rudolf Kruse Neuronale Netze 134
Training von RBF-Netzen Rudolf Kruse Neuronale Netze 34 Radiale-Basisfunktionen-Netze: Initialisierung SeiL fixed ={l,...,l m } eine feste Lernaufgabe, bestehend ausmtrainingsbeispielenl=ı l,o l. Einfaches
MehrKünstliche Neuronale Netze
Inhalt (Biologische) Neuronale Netze Schwellenwertelemente Allgemein Neuronale Netze Mehrschichtiges Perzeptron Weitere Arten Neuronaler Netze 2 Neuronale Netze Bestehend aus vielen Neuronen(menschliches
MehrLernende Vektorquantisierung
Lernende Vektorquantisierung (engl. Learning Vector Quantization) Rudolf Kruse Neuronale Netze 5 Motivation Bisher: festes Lernen, jetzt freies Lernen, d.h. es existieren keine festgelegten Klassenlabels
MehrComputational Intelligence 1 / 20. Computational Intelligence Künstliche Neuronale Netze Perzeptron 3 / 20
Gliederung / Künstliche Neuronale Netze Perzeptron Einschränkungen Netze von Perzeptonen Perzeptron-Lernen Perzeptron Künstliche Neuronale Netze Perzeptron 3 / Der Psychologe und Informatiker Frank Rosenblatt
MehrHopfield-Netze. Rudolf Kruse Neuronale Netze 192
Hopfield-Netze Rudolf Kruse Neuronale Netze 192 Hopfield-Netze Ein Hopfield-Netz ist ein neuronales Netz mit einem Graphen G = (U, C), das die folgenden Bedingungen erfüllt: (i)u hidden =,U in =U out =U,
MehrIntelligente Systeme. Einführung. Christian Moewes
Intelligente Systeme Einführung Prof. Dr. Rudolf Kruse Christian Moewes Georg Ruß {kruse,russ,cmoewes}@iws.cs.uni-magdeburg.de Arbeitsgruppe Computational Intelligence Institut für Wissens- und Sprachverarbeitung
MehrIntelligente Systeme
Intelligente Systeme Neuronale Netze Prof. Dr. R. Kruse C. Braune {rudolf.kruse,christian.braune}@ovgu.de Institut für Intelligente Kooperierende Systeme Fakultät für Informatik Otto-von-Guericke-Universität
MehrNeuronale Netze. Prof. Dr. Rudolf Kruse Christoph Doell, M.Sc.
Neuronale Netze Prof. Dr. Rudolf Kruse Christoph Doell, M.Sc. Computational Intelligence Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik kruse@iws.cs.uni-magdeburg.de Rudolf Kruse
MehrThema 3: Radiale Basisfunktionen und RBF- Netze
Proseminar: Machine Learning 10 Juli 2006 Thema 3: Radiale Basisfunktionen und RBF- Netze Barbara Rakitsch Zusammenfassung: Aufgabe dieses Vortrags war es, die Grundlagen der RBF-Netze darzustellen 1 Einführung
MehrDer Backpropagation-Algorithmus als Beispiel für Lernalgorithmen künstlicher neuronaler Netze Reinhard Eck 1
Der Backpropagation-Algorithmus als Beispiel für Lernalgorithmen künstlicher neuronaler Netze 2.04.2006 Reinhard Eck Was reizt Informatiker an neuronalen Netzen? Wie funktionieren Gehirne höherer Lebewesen?
MehrPraktische Optimierung
Wintersemester 27/8 Praktische Optimierung (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl für Algorithm Engineering Metamodellierung Inhalt Multilayer-Perceptron (MLP) Radiale Basisfunktionsnetze
MehrNeuronale Netze. Prof. Dr. Rudolf Kruse
Neuronale Netze Prof. Dr. Rudolf Kruse Computational Intelligence Institut für Intelligente Kooperierende Systeme Fakultät für Informatik rudolf.kruse@ovgu.de Rudolf Kruse Neuronale Netze 1 Lernende Vektorquantisierung
MehrWir haben in den vorherigen Kapiteln verschiedene Verfahren zur Regression und Klassifikation kennengelernt (z.b. lineare Regression, SVMs)
6. Neuronale Netze Motivation Wir haben in den vorherigen Kapiteln verschiedene Verfahren zur Regression und Klassifikation kennengelernt (z.b. lineare Regression, SVMs) Abstrakt betrachtet sind alle diese
MehrNeuronale Netze in der Phonetik: Feed-Forward Netze. Pfitzinger, Reichel IPSK, LMU München {hpt 14.
Neuronale Netze in der Phonetik: Feed-Forward Netze Pfitzinger, Reichel IPSK, LMU München {hpt reichelu}@phonetik.uni-muenchen.de 14. Juli 2006 Inhalt Typisierung nach Aktivierungsfunktion Lernen in einschichtigen
MehrHannah Wester Juan Jose Gonzalez
Neuronale Netze Supervised Learning Proseminar Kognitive Robotik (SS12) Hannah Wester Juan Jose Gonzalez Kurze Einführung Warum braucht man Neuronale Netze und insbesondere Supervised Learning? Das Perzeptron
MehrAufbau und Beschreibung Neuronaler Netzwerke
Aufbau und Beschreibung r 1 Inhalt Biologisches Vorbild Mathematisches Modell Grundmodelle 2 Biologisches Vorbild Das Neuron Grundkomponenten: Zellkörper (Soma) Zellkern (Nukleus) Dendriten Nervenfaser
MehrKünstliche neuronale Netze
Künstliche neuronale Netze Eigenschaften neuronaler Netze: hohe Arbeitsgeschwindigkeit durch Parallelität, Funktionsfähigkeit auch nach Ausfall von Teilen des Netzes, Lernfähigkeit, Möglichkeit zur Generalisierung
MehrSelbstorganisierende Karten
Selbstorganisierende Karten (engl. Self-Organizing Maps (SOMs)) Rudolf Kruse Neuronale Netze 169 Selbstorganisierende Karten Eine selbstorganisierende Karte oder Kohonen-Merkmalskarte ist ein neuronales
Mehr6.4 Neuronale Netze zur Verarbeitung von Zeitreihen
6.4 Neuronale Netze zur Verarbeitung von Zeitreihen Aufgabe: Erlernen einer Zeitreihe x(t + 1) = f(x(t), x(t 1), x(t 2),...) Idee: Verzögerungskette am Eingang eines neuronalen Netzwerks, z.b. eines m-h-1
MehrProseminar Machine Learning. Neuronale Netze: mehrschichtige Perzeptrone. Christina Schmiedl Betreuer: Christian Spieth, Andreas Dräger
Proseminar Machine Learning Neuronale Netze: mehrschichtige Perzeptrone Christina Schmiedl Betreuer: Christian Spieth, Andreas Dräger 27.Mai 2006 Inhaltsverzeichnis 1 Biologische Motivation 2 2 Neuronale
MehrÜbungsaufgaben zu den mathematischen Grundlagen von KM
TUM, Institut für Informatik WS 2003/2004 Prof Dr Thomas Huckle Andreas Krahnke, MSc Dipl-Inf Markus Pögl Übungsaufgaben zu den mathematischen Grundlagen von KM 1 Bestimmen Sie die Darstellung von 1 4
MehrPerzeptronen. Katrin Dust, Felix Oppermann Universität Oldenburg, FK II - Department für Informatik Vortrag im Rahmen des Proseminars 2004
Perzeptronen Katrin Dust, Felix Oppermann Universität Oldenburg, FK II - Department für Informatik Vortrag im Rahmen des Proseminars 2004 1/25 Gliederung Vorbilder Neuron McCulloch-Pitts-Netze Perzeptron
MehrNeuronale Netze. Anna Wallner. 15. Mai 2007
5. Mai 2007 Inhalt : Motivation Grundlagen Beispiel: XOR Netze mit einer verdeckten Schicht Anpassung des Netzes mit Backpropagation Probleme Beispiel: Klassifikation handgeschriebener Ziffern Rekurrente
MehrIntelligente Systeme
Intelligente Systeme Neuronale Netze Prof. Dr. R. Kruse C. Braune {kruse,cbraune}@iws.cs.uni-magdeburg.de Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität
MehrWas bisher geschah Künstliche Neuronen: Mathematisches Modell und Funktionen: Eingabe-, Aktivierungs- Ausgabefunktion Boolesche oder reelle Ein-und
Was bisher geschah Künstliche Neuronen: Mathematisches Modell und Funktionen: Eingabe-, Aktivierungs- Ausgabefunktion Boolesche oder reelle Ein-und Ausgaben Aktivierungsfunktionen: Schwellwertfunktion
MehrKonzepte der AI Neuronale Netze
Konzepte der AI Neuronale Netze Franz Wotawa Institut für Informationssysteme, Database and Artificial Intelligence Group, Technische Universität Wien Email: wotawa@dbai.tuwien.ac.at Was sind Neuronale
MehrKlassifikationsverfahren und Neuronale Netze
Klassifikationsverfahren und Neuronale Netze Hauptseminar - Methoden der experimentellen Teilchenphysik Thomas Keck 9.12.2011 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
MehrNichtlineare Klassifikatoren
Nichtlineare Klassifikatoren Mustererkennung und Klassifikation, Vorlesung No. 11 1 M. O. Franz 12.01.2008 1 falls nicht anders vermerkt, sind die Abbildungen entnommen aus Duda et al., 2001. Übersicht
MehrTechnische Universität Berlin Fakultät IV Elektrotechnik und Informatik. 8. Aufgabenblatt
Technische Universität Berlin Fakultät IV Elektrotechnik und Informatik Künstliche Intelligenz: Grundlagen und Anwendungen Albayrak, Fricke (AOT) Oer, Thiel (KI) Wintersemester 2014 / 2015 8. Aufgabenblatt
MehrIntelligente Systeme
Intelligente Systeme Neuronale Netze Prof. Dr. R. Kruse C. Braune C. Moewes {kruse,cbraune,cmoewes}@iws.cs.uni-magdeburg.de Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke
MehrWenn man den Kreis mit Radius 1 um (0, 0) beschreiben möchte, dann ist. (x, y) ; x 2 + y 2 = 1 }
A Analsis, Woche Implizite Funktionen A Implizite Funktionen in D A3 Wenn man den Kreis mit Radius um, beschreiben möchte, dann ist { x, ; x + = } eine Möglichkeit Oft ist es bequemer, so eine Figur oder
MehrNeuronale Netze. Prof. Dr. Rudolf Kruse
Neuronale Netze Prof. Dr. Rudolf Kruse Computational Intelligence Institut für Intelligente Kooperierende Systeme Fakultät für Informatik rudolf.kruse@ovgu.de Rudolf Kruse Neuronale Netze 1 Hopfield-Netze
MehrPerzeptronen. Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg
Perzeptronen Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg (Lehrstuhl Informatik 8) Perzeptronen 1 / 22 Gliederung 1 Schwellwert-Logik (MCCULLOCH-PITTS-Neuron)
MehrMathematische Grundlagen für die Vorlesung. Differentialgeometrie
Mathematische Grundlagen für die Vorlesung Differentialgeometrie Dr. Gabriele Link 13.10.2010 In diesem Text sammeln wir die nötigen mathematischen Grundlagen, die wir in der Vorlesung Differentialgeometrie
MehrInhalt. Mathematik für Chemiker II Lineare Algebra. Vorlesung im Sommersemester Kurt Frischmuth. Rostock, April Juli 2015
Inhalt Mathematik für Chemiker II Lineare Algebra Vorlesung im Sommersemester 5 Rostock, April Juli 5 Vektoren und Matrizen Abbildungen 3 Gleichungssysteme 4 Eigenwerte 5 Funktionen mehrerer Variabler
MehrDifferential- und Integralrechnung
Brückenkurs Mathematik TU Dresden 2016 Differential- und Integralrechnung Schwerpunkte: Differentiation Integration Eigenschaften und Anwendungen Prof. Dr. F. Schuricht TU Dresden, Fachbereich Mathematik
Mehrf(x, y) = 0 Anschaulich bedeutet das, dass der im Rechteck I J = {(x, y) x I, y J}
9 Der Satz über implizite Funktionen 41 9 Der Satz über implizite Funktionen Wir haben bisher Funktionen g( von einer reellen Variablen immer durch Formelausdrücke g( dargestellt Der Zusammenhang zwischen
MehrMaschinelles Lernen: Neuronale Netze. Ideen der Informatik
Maschinelles Lernen: Neuronale Netze Ideen der Informatik Kurt Mehlhorn Adrian Neumann 16. Januar 2014 Übersicht Biologische Inspiration Stand der Kunst in Objekterkennung auf Bildern Künstliche Neuronale
Mehrkurze Wiederholung der letzten Stunde: Neuronale Netze Dipl.-Inform. Martin Lösch (0721) Dipl.-Inform.
kurze Wiederholung der letzten Stunde: Neuronale Netze martin.loesch@kit.edu (0721) 608 45944 Labor Wissensrepräsentation Aufgaben der letzten Stunde Übersicht Neuronale Netze Motivation Perzeptron Multilayer
MehrWas bisher geschah. Lernen: überwachtes Lernen. biologisches Vorbild neuronaler Netze: unüberwachtes Lernen
Was bisher geschah Lernen: überwachtes Lernen korrigierendes Lernen bestärkendes Lernen unüberwachtes Lernen biologisches Vorbild neuronaler Netze: Neuron (Zellkörper, Synapsen, Axon) und Funktionsweise
Mehr10.6. Implizite ebene Kurven und Tangenten
0.6. Implizite ebene Kurven und Tangenten Im Gegensatz zu expliziten Darstellungen sind weder implizite noch Parameterdarstellungen einer Kurve eindeutig. Der Übergang von impliziten zu expliziten Darstellungen
MehrNeuronale Netze mit mehreren Schichten
Neuronale Netze mit mehreren Schichten Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg (Lehrstuhl Informatik 8) Neuronale Netze mit mehreren
Mehr11. Neuronale Netze 1
11. Neuronale Netze 1 Einführung (1) Ein künstliches neuronales Netz ist vom Konzept her eine Realisierung von miteinander verschalteten Grundbausteinen, sogenannter Neuronen, welche in rudimentärer Form
MehrLinear nichtseparable Probleme
Linear nichtseparable Probleme Mustererkennung und Klassifikation, Vorlesung No. 10 1 M. O. Franz 20.12.2007 1 falls nicht anders vermerkt, sind die Abbildungen entnommen aus Duda et al., 2001. Übersicht
MehrAnhang B. Regression
Anhang B Regression Dieser Anhang rekapituliert die in der Analysis und Statistik wohlbekannte Methode der kleinsten Quadrate, auch Regression genannt, zur Bestimmung von Ausgleichsgeraden Regressionsgeraden
MehrProbeklausur zur Analysis 2, SoSe 2017
BERGISCHE UNIVERSITÄT WUPPERTAL 21717 Fakultät 4 - Mathematik und Naturwissenschaften Prof N V Shcherbina Dr T P Pawlaschyk wwwkanauni-wuppertalde Probeklausur zur Analysis 2, SoSe 217 Hinweis Die Lösungen
MehrTheoretische Physik 1, Mechanik
Theoretische Physik 1, Mechanik Harald Friedrich, Technische Universität München Sommersemester 2009 Mathematische Ergänzungen Vektoren und Tensoren Partielle Ableitungen, Nabla-Operator Physikalische
Mehr(a), für i = 1,..., n.
.4 Extremwerte Definition Sei M R n eine Teilmenge, f : M R stetig, a M ein Punkt. f hat in a auf M ein relatives (oder lokales) Maximum bzw. ein relatives (oder lokales) Minimum, wenn es eine offene Umgebung
MehrEinführung. Ablesen von einander zugeordneten Werten
Einführung Zusammenhänge zwischen Größen wie Temperatur, Geschwindigkeit, Lautstärke, Fahrstrecke, Preis, Einkommen, Steuer etc. werden mit beschrieben. Eine Zuordnung f, die jedem x A genau ein y B zuweist,
MehrGrundlagen neuronaler Netzwerke
AUFBAU DES NEURONALEN NETZWERKS Enrico Biermann enrico@cs.tu-berlin.de) WS 00/03 Timo Glaser timog@cs.tu-berlin.de) 0.. 003 Marco Kunze makunze@cs.tu-berlin.de) Sebastian Nowozin nowozin@cs.tu-berlin.de)
MehrProf. Dr. Stefan Luckhaus WS 2013/14. Übungsserie 1. Mathematik für Wirtschaftswissenschaftler
Prof. Dr. Stefan Luckhaus WS 203/4 Übungsserie Aufgabe. Seien f : R R, g : R R Funktionen, die wie folgt definiert sind: fx) =, gx) = x +. + x2 Stellen Sie die Funktionen als Quotienten von Polynomen dar.
MehrWissensentdeckung in Datenbanken
Wissensentdeckung in Datenbanken Deep Learning Nico Piatkowski und Uwe Ligges Informatik Künstliche Intelligenz 20.07.2017 1 von 11 Überblick Künstliche Neuronale Netze Motivation Formales Modell Aktivierungsfunktionen
MehrAusgleichsproblem. Definition (1.0.3)
Ausgleichsproblem Definition (1.0.3) Gegeben sind n Wertepaare (x i, y i ), i = 1,..., n mit x i x j für i j. Gesucht ist eine stetige Funktion f, die die Wertepaare bestmöglich annähert, d.h. dass möglichst
MehrAnwendungen der Differentialrechnung
KAPITEL 3 Anwendungen der Differentialrechnung 3.1 Lokale Maxima und Minima Definition 16: Sei f : D R eine Funktion von n Veränderlichen. Ein Punkt x heißt lokale oder relative Maximalstelle bzw. Minimalstelle
MehrNachklausur zur Analysis 2, SoSe 2017
BERGISCHE UNIVERSITÄT WUPPERTAL 18.9.17 Fakultät 4 - Mathematik und Naturwissenschaften Prof. N. V. Shcherbina Dr. T. P. Pawlaschyk www.kana.uni-wuppertal.de Nachklausur zur Analysis 2, SoSe 217 Aufgabe
MehrMATHEMATIK 2 FÜR DIE STUDIENGÄNGE CHE- MIE UND LEBENSMITTELCHEMIE
Mathematik und Naturwissenschaften Fachrichtung Mathematik, Institut für Numerische Mathematik MATHEMATIK 2 FÜR DIE STUDIENGÄNGE CHE- MIE UND LEBENSMITTELCHEMIE Differentialrechnung für Funktionen mehrerer
MehrKlassifikation linear separierbarer Probleme
Klassifikation linear separierbarer Probleme Lehrstuhl für Künstliche Intelligenz Institut für Informatik Friedrich-Alexander-Universität Erlangen-Nürnberg (Lehrstuhl Informatik 8) Klassifikation linear
MehrTeil III: Wissensrepräsentation und Inferenz. Kap.5: Neuronale Netze
Vorlesung Künstliche Intelligenz Wintersemester 2008/09 Teil III: Wissensrepräsentation und Inferenz Kap.5: Neuronale Netze Dieses Kapitel basiert auf Material von Andreas Hotho Mehr Details sind in der
Mehrf(x 0 ) = lim f(b k ) 0 0 ) = 0
5.10 Zwischenwertsatz. Es sei [a, b] ein Intervall, a < b und f : [a, b] R stetig. Ist f(a) < 0 und f(b) > 0, so existiert ein x 0 ]a, b[ mit f(x 0 ) = 0. Wichtig: Intervall, reellwertig, stetig Beweis.
Mehr7 Integralrechnung für Funktionen einer Variablen
7 Integralrechnung für Funktionen einer Variablen In diesem Kapitel sei stets D R, und I R ein Intervall. 7. Das unbestimmte Integral (Stammfunktion) Es sei f : I R eine Funktion. Eine differenzierbare
MehrMaschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn
Maschinelles Lernen: Neuronale Netze Ideen der Informatik Kurt Mehlhorn 16. Januar 2014, überarbeitet am 20. Januar 2017 Übersicht Stand der Kunst: Bilderverstehen, Go spielen Was ist ein Bild in Rohform?
Mehr5. Numerische Differentiation. und Integration
5. Numerische Differentiation und Integration 1 Numerische Differentiation Problemstellung: Gegeben ist eine differenzierbare Funktion f : [a,b] R und x (a,b). Gesucht sind Näherungen für die Ableitungen
Mehrkurze Wiederholung der letzten Stunde: Neuronale Netze Dipl.-Inform. Martin Lösch (0721) Dipl.-Inform.
kurze Wiederholung der letzten Stunde: Neuronale Netze martin.loesch@kit.edu (0721) 608 45944 Labor Wissensrepräsentation Neuronale Netze Motivation Perzeptron Übersicht Multilayer Neural Networks Grundlagen
MehrKapitel 6. Differenzialrechnung für Funktionen von mehreren Variablen
Kapitel 6. Differenzialrechnung für Funktionen von mehreren Variablen 6.1 Funktionen von mehreren Variablen Eine Abbildung f : D R, D R n, ordnet jedem n-tupel x = (x 1, x 2,...,x n ) D (eindeutig) eine
MehrKlausur Numerische Mathematik (für Elektrotechniker), 24. Februar 2016
Verständnisfragen-Teil ( Punkte) Jeder der Verständnisfragenblöcke besteht aus Verständnisfragen. Werden alle Fragen in einem Verständnisfragenblock richtig beantwortet, so gibt es für diesen Block Punkte.
MehrMathematik für Studierende der Biologie Wintersemester 2018/19. Grundlagentutorium 4 Lösungen
Mathematik für Studierende der Biologie Wintersemester 2018/19 Grundlagentutorium Lösungen Sebastian Groß Termin Mittwochs 15:5 17:5 Großer Hörsaal Biozentrum (B00.019) E-Mail gross@bio.lmu.de Sprechzeiten
MehrNeural Networks: Architectures and Applications for NLP
Neural Networks: Architectures and Applications for NLP Session 02 Julia Kreutzer 8. November 2016 Institut für Computerlinguistik, Heidelberg 1 Overview 1. Recap 2. Backpropagation 3. Ausblick 2 Recap
MehrD-MAVT/D-MATL Analysis I HS 2017 Dr. Andreas Steiger. Lösung - Serie 5. x 1 2x 3 = lim 6x
D-MAVT/D-MATL Analysis I HS 07 Dr. Andreas Steiger Lösung - Serie 5. MC-Aufgaben Online-Abgabe. Durch zweifache Anwendung der Regel von Bernoulli-de l Hôpital folgt Stimmt diese Überlegung? lim x x 3 +
MehrLineare Algebra. Mathematik II für Chemiker. Daniel Gerth
Lineare Algebra Mathematik II für Chemiker Daniel Gerth Überblick Lineare Algebra Dieses Kapitel erklärt: Was man unter Vektoren versteht Wie man einfache geometrische Sachverhalte beschreibt Was man unter
MehrMathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016
und Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016 5. Juni 2016 Definition 5.21 Ist a R, a > 0 und a 1, so bezeichnet man die Umkehrfunktion der Exponentialfunktion x a x als
MehrOptimal-trennende Hyperebenen und die Support Vector Machine. Volker Tresp
Optimal-trennende Hyperebenen und die Support Vector Machine Volker Tresp 1 (Vapnik s) Optimal-trennende Hyperebenen (Optimal Separating Hyperplanes) Wir betrachten wieder einen linearen Klassifikator
Mehr5 Differenzialrechnung für Funktionen einer Variablen
5 Differenzialrechnung für Funktionen einer Variablen Ist f eine ökonomische Funktion, so ist oft wichtig zu wissen, wie sich die Funktion bei kleinen Änderungen verhält. Beschreibt etwa f einen Wachstumsprozess,
Mehr(hoffentlich kurze) Einführung: Neuronale Netze. Dipl.-Inform. Martin Lösch. (0721) Dipl.-Inform.
(hoffentlich kurze) Einführung: martin.loesch@kit.edu (0721) 608 45944 Überblick Einführung Perzeptron Multi-layer Feedforward Neural Network MLNN in der Anwendung 2 EINFÜHRUNG 3 Gehirn des Menschen Vorbild
Mehr5. Lernregeln für neuronale Netze
5. Lernregeln für neuronale Netze 1. Allgemeine Lokale Lernregeln 2. Lernregeln aus Zielfunktionen: Optimierung durch Gradientenverfahren 3. Beispiel: Überwachtes Lernen im Einschicht-Netz Schwenker NI1
MehrAdaptive Systeme. Mehrere Neuronen, Assoziative Speicher und Mustererkennung. Prof. Dr. rer. nat. Nikolaus Wulff
Adaptive Systeme Mehrere Neuronen, Assoziative Speicher und Mustererkennung Prof. Dr. rer. nat. Nikolaus Wulff Modell eines Neuron x x 2 x 3. y y= k = n w k x k x n Die n binären Eingangssignale x k {,}
MehrGrundlagen Kondition Demo. Numerisches Rechnen. (für Informatiker) M. Grepl P. Esser & G. Welper & L. Zhang
Numerisches Rechnen (für Informatiker) M. Grepl P. Esser & G. Welper & L. Zhang Institut für Geometrie und Praktische Mathematik RWTH Aachen Wintersemester 2011/12 IGPM, RWTH Aachen Numerisches Rechnen
MehrAM3: Differenzial- und Integralrechnung im R n. 1 Begriffe. 2 Norm, Konvergenz und Stetigkeit. x 1. x 2. f : x n. aus Platzgründen schreibt man:
AM3: Differenzial- und Integralrechnung im R n 1 Begriffe f : x 1 f 1 x 1, x 2,..., x n ) x 2... f 2 x 1, x 2,..., x n )... x n f m x 1, x 2,..., x n ) }{{}}{{} R n R m aus Platzgründen schreibt man: f
MehrAnalysis II 14. Übungsblatt
Jun.-Prof. PD Dr. D. Mugnolo Wintersemester 01/13 F. Stoffers 04. Februar 013 Analysis II 14. Übungsblatt 1. Aufgabe (8 Punkte Man beweise: Die Gleichung z 3 + z + xy = 1 besitzt für jedes (x, y R genau
MehrVF-2: 2. Es seien x = 1 3 und y = π Bei der Berechnung von sin(x) sin(y) in M(10, 12, 99, 99) tritt. Auslöschung auf.
IGPM RWTH Aachen Verständnisfragen-Teil NumaMB H11 (24 Punkte) Es gibt zu jeder der 12 Aufgaben vier Teilaufgaben. Diese sind mit wahr bzw. falsch zu kennzeichnen (hinschreiben). Es müssen mindestens zwei
MehrImplizite Funktionen. Ist für eine stetig differenzierbare Funktion f : R n R m R n. so lässt sich das Gleichungssystem
Implizite Funktionen Ist für eine stetig differenzierbare Funktion f : R n R m R n f (x, y ) = (0,..., 0) t, det f x (x, y ) 0, so lässt sich das Gleichungssystem f k (x 1,..., x n, y 1,..., y m ) = 0,
MehrMathematik. für das Ingenieurstudium. 10 Funktionen mit mehreren Variablen. Jürgen Koch Martin Stämpfle.
10 Funktionen mit mehreren Variablen www.mathematik-fuer-ingenieure.de 2010 und, Esslingen Dieses Werk ist urheberrechtlich geschützt. Alle Rechte, auch die der Übersetzung, des Nachdruckes und der Vervielfältigung
MehrAnalysis II. Aufgaben zum Stoff der Analysis I und II Lösungsvorschlag
Prof Dr H Garcke, D Depner SS 9 NWF I - Mathematik 1979 Universität Regensburg Aufgabe 1 Analysis II Aufgaben zum Stoff der Analysis I und II Lösungsvorschlag i Erinnern Sie sich an die Konvergenzkriterien
MehrKommentierte Musterlösung zur Klausur HM I für Naturwissenschaftler
Kommentierte Musterlösung zur Klausur HM I für Naturwissenschaftler Wintersemester 26/7 (2.3.27). (a) Bestimmen Sie die kartesische Form von z = 5i 2i und z 2 = ( ) 9 3 2 2 i. (b) Bestimmen Sie sämtliche
MehrMathematik I Herbstsemester 2018 Kapitel 5: Integralrechnung
Mathematik I Herbstsemester 208 Prof. Dr. Erich Walter Farkas http://www.math.ethz.ch/ farkas / 70 5. Integralrechnung Grundbegriffe Das bestimmte Integral als Flächeninhalt Der Fundamentalsatz Partielle
MehrKlausur Mathematik I
Klausur Mathematik I E-Techniker/Mechatroniker/Informatiker/W-Ingenieure). März 007 Hans-Georg Rück) Aufgabe 6 Punkte): a) Berechnen Sie alle komplexen Zahlen z mit der Eigenschaft z z = und z ) z ) =.
Mehr1 Umkehrfunktionen und implizite Funktionen
Mathematik für Physiker III WS 2012/2013 Freitag 211 $Id: implizittexv 18 2012/11/01 20:18:36 hk Exp $ $Id: lagrangetexv 13 2012/11/01 1:24:3 hk Exp hk $ 1 Umkehrfunktionen und implizite Funktionen 13
MehrMULTILAYER-PERZEPTRON
Einleitung MULTILAYER-PERZEPTRON Die Ausarbeitung befasst sich mit den Grundlagen von Multilayer-Perzeptronen, gibt ein Beispiel für deren Anwendung und zeigt eine Möglichkeit auf, sie zu trainieren. Dabei
MehrMustererkennung: Neuronale Netze. D. Schlesinger ()Mustererkennung: Neuronale Netze 1 / 12
Mustererkennung: Neuronale Netze D. Schlesinger ()Mustererkennung: Neuronale Netze 1 / 12 Feed-Forward Netze y 1 y 2 y m...... x 1 x 2 x n Output Schicht i max... Zwischenschicht i... Zwischenschicht 1
MehrÜbungen zur Vorlesung MATHEMATIK II
Fachbereich Mathematik und Informatik der Philipps-Universität Marburg Übungen zur Vorlesung MATHEMATIK II Prof. Dr. C. Portenier unter Mitarbeit von Michael Koch Marburg, Sommersemester 2005 Fassung vom
MehrAnalysis III. Teil I. Rückblick auf das letzte Semester. Themen aus dem SS Inhalt der letzten Vorlesung aus dem SS.
Analysis III für Studierende der Ingenieurwissenschaften Technische Universität Hamburg-Harburg Reiner Lauterbach Teil I Rückblick auf das letzte Semester Fakultät für Mathematik, Informatik und Naturwissenschaften
Mehr7.4. Gradient, Niveau und Tangentialebenen
7.4. Gradient Niveau und Tangentialebenen Wieder sei f eine differenzierbare Funktion von einer Teilmenge A der Ebene R -dimensionalen Raumes R n ) nach R. (oder des n Der Anstieg von f in einem Punkt
MehrFolgen, Reihen, Grenzwerte u. Stetigkeit
Folgen, Reihen, Grenzwerte u. Stetigkeit Josef F. Bürgler Abt. Informatik HTA Luzern, FH Zentralschweiz HTA.MA+INF Josef F. Bürgler (HTA Luzern) Einf. Infinitesimalrechnung HTA.MA+INF 1 / 33 Inhalt 1 Folgen
MehrHTWD, FB Informatik/Mathematik. Mathematik für Bauingenieure. Wiederholungsaufgaben: Mathematik I
HTWD, FB Informatik/Mathematik Prof. Dr. M. Voigt Mathematik I Wiederholung Mathematik für Bauingenieure Wiederholungsaufgaben: Mathematik I Aufgabe : Für die Aussagenverbindung T = (A B) ( A) gebe man
Mehr