Neuronale Netze. Prof. Dr. Rudolf Kruse

Größe: px
Ab Seite anzeigen:

Download "Neuronale Netze. Prof. Dr. Rudolf Kruse"

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 Rudolf Kruse Neuronale Netze 8 Schwellenwertelemente Ein Schwellenwertelement (Threshold Logic Unit, TLU) ist eine Verarbeitungseinheit für Zahlen mitneingängenx,...,x n und einem

Mehr

Allgemeine (Künstliche) Neuronale Netze. Rudolf Kruse Neuronale Netze 40

Allgemeine (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)

Mehr

Neuronale Netze. Prof. Dr. Rudolf Kruse

Neuronale 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

Mehr

Radiale-Basisfunktionen-Netze. Rudolf Kruse Neuronale Netze 120

Radiale-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

Mehr

Neuronale Netze. Prof. Dr. Rudolf Kruse

Neuronale 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

Mehr

Training von RBF-Netzen. Rudolf Kruse Neuronale Netze 134

Training 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

Mehr

Künstliche Neuronale Netze

Kü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

Mehr

Lernende Vektorquantisierung

Lernende 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

Mehr

Computational Intelligence 1 / 20. Computational Intelligence Künstliche Neuronale Netze Perzeptron 3 / 20

Computational 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

Mehr

Hopfield-Netze. Rudolf Kruse Neuronale Netze 192

Hopfield-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,

Mehr

Intelligente Systeme. Einführung. Christian Moewes

Intelligente 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

Mehr

Intelligente Systeme

Intelligente 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

Mehr

Neuronale Netze. Prof. Dr. Rudolf Kruse Christoph Doell, M.Sc.

Neuronale 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

Mehr

Thema 3: Radiale Basisfunktionen und RBF- Netze

Thema 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

Mehr

Der 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 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?

Mehr

Praktische Optimierung

Praktische 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

Mehr

Neuronale Netze. Prof. Dr. Rudolf Kruse

Neuronale 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

Mehr

Wir haben in den vorherigen Kapiteln verschiedene Verfahren zur Regression und Klassifikation kennengelernt (z.b. lineare Regression, SVMs)

Wir 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

Mehr

Neuronale 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 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

Mehr

Hannah Wester Juan Jose Gonzalez

Hannah 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

Mehr

Aufbau und Beschreibung Neuronaler Netzwerke

Aufbau 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

Mehr

Künstliche neuronale Netze

Kü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

Mehr

Selbstorganisierende Karten

Selbstorganisierende Karten Selbstorganisierende Karten (engl. Self-Organizing Maps (SOMs)) Rudolf Kruse Neuronale Netze 169 Selbstorganisierende Karten Eine selbstorganisierende Karte oder Kohonen-Merkmalskarte ist ein neuronales

Mehr

6.4 Neuronale Netze zur Verarbeitung von Zeitreihen

6.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

Mehr

Proseminar 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 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

Ü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

Mehr

Perzeptronen. 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 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

Mehr

Neuronale Netze. Anna Wallner. 15. Mai 2007

Neuronale 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

Mehr

Intelligente Systeme

Intelligente 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

Mehr

Was 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 Was bisher geschah Künstliche Neuronen: Mathematisches Modell und Funktionen: Eingabe-, Aktivierungs- Ausgabefunktion Boolesche oder reelle Ein-und Ausgaben Aktivierungsfunktionen: Schwellwertfunktion

Mehr

Konzepte der AI Neuronale Netze

Konzepte 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

Mehr

Klassifikationsverfahren und Neuronale Netze

Klassifikationsverfahren 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

Mehr

Nichtlineare Klassifikatoren

Nichtlineare 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

Mehr

Technische Universität Berlin Fakultät IV Elektrotechnik und Informatik. 8. Aufgabenblatt

Technische 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

Mehr

Intelligente Systeme

Intelligente 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

Mehr

Wenn man den Kreis mit Radius 1 um (0, 0) beschreiben möchte, dann ist. (x, y) ; x 2 + y 2 = 1 }

Wenn 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

Mehr

Neuronale Netze. Prof. Dr. Rudolf Kruse

Neuronale 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

Mehr

Perzeptronen. 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 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)

Mehr

Mathematische Grundlagen für die Vorlesung. Differentialgeometrie

Mathematische 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

Mehr

Inhalt. 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 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

Mehr

Differential- und Integralrechnung

Differential- 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

Mehr

f(x, y) = 0 Anschaulich bedeutet das, dass der im Rechteck I J = {(x, y) x I, y J}

f(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

Mehr

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik

Maschinelles 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

Mehr

kurze Wiederholung der letzten Stunde: Neuronale Netze Dipl.-Inform. Martin Lösch (0721) Dipl.-Inform.

kurze 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

Mehr

Was bisher geschah. Lernen: überwachtes Lernen. biologisches Vorbild neuronaler Netze: unüberwachtes Lernen

Was 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

Mehr

10.6. Implizite ebene Kurven und Tangenten

10.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

Mehr

Neuronale Netze mit mehreren Schichten

Neuronale 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

Mehr

11. Neuronale Netze 1

11. 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

Mehr

Linear nichtseparable Probleme

Linear 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

Mehr

Anhang B. Regression

Anhang 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

Mehr

Probeklausur zur Analysis 2, SoSe 2017

Probeklausur 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

Mehr

Theoretische Physik 1, Mechanik

Theoretische 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.

(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

Mehr

Einführung. Ablesen von einander zugeordneten Werten

Einfü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,

Mehr

Grundlagen neuronaler Netzwerke

Grundlagen 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)

Mehr

Prof. Dr. Stefan Luckhaus WS 2013/14. Übungsserie 1. Mathematik für Wirtschaftswissenschaftler

Prof. 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.

Mehr

Wissensentdeckung in Datenbanken

Wissensentdeckung 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

Mehr

Ausgleichsproblem. Definition (1.0.3)

Ausgleichsproblem. 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

Mehr

Anwendungen der Differentialrechnung

Anwendungen 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

Mehr

Nachklausur zur Analysis 2, SoSe 2017

Nachklausur 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

Mehr

MATHEMATIK 2 FÜR DIE STUDIENGÄNGE CHE- MIE UND LEBENSMITTELCHEMIE

MATHEMATIK 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

Mehr

Klassifikation linear separierbarer Probleme

Klassifikation 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

Mehr

Teil III: Wissensrepräsentation und Inferenz. Kap.5: Neuronale Netze

Teil 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

Mehr

f(x 0 ) = lim f(b k ) 0 0 ) = 0

f(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.

Mehr

7 Integralrechnung für Funktionen einer Variablen

7 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

Mehr

Maschinelles Lernen: Neuronale Netze. Ideen der Informatik Kurt Mehlhorn

Maschinelles 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?

Mehr

5. Numerische Differentiation. und Integration

5. 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

Mehr

kurze Wiederholung der letzten Stunde: Neuronale Netze Dipl.-Inform. Martin Lösch (0721) Dipl.-Inform.

kurze 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

Mehr

Kapitel 6. Differenzialrechnung für Funktionen von mehreren Variablen

Kapitel 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

Mehr

Klausur Numerische Mathematik (für Elektrotechniker), 24. Februar 2016

Klausur 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.

Mehr

Mathematik für Studierende der Biologie Wintersemester 2018/19. Grundlagentutorium 4 Lösungen

Mathematik 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

Mehr

Neural Networks: Architectures and Applications for NLP

Neural 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

Mehr

D-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 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 +

Mehr

Lineare Algebra. Mathematik II für Chemiker. Daniel Gerth

Lineare 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

Mehr

Mathematik II für Studierende der Informatik. Wirtschaftsinformatik (Analysis und lineare Algebra) im Sommersemester 2016

Mathematik 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

Mehr

Optimal-trennende Hyperebenen und die Support Vector Machine. Volker Tresp

Optimal-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

Mehr

5 Differenzialrechnung für Funktionen einer Variablen

5 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: 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

Mehr

5. Lernregeln für neuronale Netze

5. 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

Mehr

Adaptive 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 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 {,}

Mehr

Grundlagen Kondition Demo. Numerisches Rechnen. (für Informatiker) M. Grepl P. Esser & G. Welper & L. Zhang

Grundlagen 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

Mehr

AM3: 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. 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

Mehr

Analysis II 14. Übungsblatt

Analysis 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

Mehr

VF-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.

VF-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

Mehr

Implizite 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. 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,

Mehr

Mathematik. für das Ingenieurstudium. 10 Funktionen mit mehreren Variablen. Jürgen Koch Martin Stämpfle.

Mathematik. 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

Mehr

Analysis II. Aufgaben zum Stoff der Analysis I und II Lösungsvorschlag

Analysis 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

Mehr

Kommentierte Musterlösung zur Klausur HM I für Naturwissenschaftler

Kommentierte 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

Mehr

Mathematik I Herbstsemester 2018 Kapitel 5: Integralrechnung

Mathematik 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

Mehr

Klausur Mathematik I

Klausur 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 ) =.

Mehr

1 Umkehrfunktionen und implizite Funktionen

1 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

Mehr

MULTILAYER-PERZEPTRON

MULTILAYER-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

Mehr

Mustererkennung: Neuronale Netze. D. Schlesinger ()Mustererkennung: Neuronale Netze 1 / 12

Mustererkennung: 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

Ü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

Mehr

Analysis III. Teil I. Rückblick auf das letzte Semester. Themen aus dem SS Inhalt der letzten Vorlesung aus dem SS.

Analysis 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

Mehr

7.4. Gradient, Niveau und Tangentialebenen

7.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

Mehr

Folgen, Reihen, Grenzwerte u. Stetigkeit

Folgen, 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

Mehr

HTWD, FB Informatik/Mathematik. Mathematik für Bauingenieure. Wiederholungsaufgaben: Mathematik I

HTWD, 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