Lernen und Klassifizieren AS2-2

Slides:



Advertisements
Ähnliche Präsentationen
Christian Scheideler SS 2009
Advertisements

Perceptrons and the perceptron learning rule
Knapsack & Bin Packing Sebastian Stober
Adaptive Systeme Prof. Rüdiger Brause WS 2011.
Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Falls Algorithmen sich selbst rekursiv aufrufen, so kann ihr Laufzeitverhalten bzw. ihr Speicherplatzbedarf in der Regel durch eine Rekursionsformel (recurrence,
Stochastik und Markovketten
Polynomial Root Isolation
Simulation komplexer technischer Anlagen
Schnelle Matrizenoperationen von Christian Büttner
TECHNISCHE UNIVERSITÄT DARMSTADT Naive Bayes for Ranking
Maschinelles Lernen   Präsenzübung.
3. Kapitel: Komplexität und Komplexitätsklassen
Marvin Minsky und das Perceptron
Adaptive Systeme Prof. Rüdiger Brause WS 2009.
Konkurrentes Lernen AS-1
Lernen und Klassifizieren AS-2
Adaptive lineare Transformationen AS-2
Lernen und Klassifizieren AS-1
2. Univariate Regressionsanalyse 2.1 Das statische Regressionsmodell
Wiederholung und Beispiele
Neuronale Netze (Mitchell Kap. 4)
Machine Learning KNN und andere (Kap. 8).
Maschinelles Lernen und automatische Textklassifikation
Maschinelles Lernen Bayessche Verfahren (Mitchell Kap. 6), Teil 1.
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Universität Stuttgart Wissensverarbeitung und Numerik I nstitut für K ernenergetik und E nergiesysteme Numerik partieller Differentialgleichungen, SS 01Teil.
Ausgleichungsrechnung I
Ausgleichungsrechnung II
Adaptive Systeme Prof. Rüdiger Brause WS 2013.
Adaptive lineare Transformationen AS2-3 Rüdiger Brause: Adaptive Systeme, Institut für Informatik, WS Lineare Schichten Sequenz linearer Schichten.
Radiale Basis-funktionen AS1-5
Lernen und Klassifizieren AS1-2 Rüdiger Brause: Adaptive Systeme AS-1, WS 2011 Lernen in Multilayer-Netzen Assoziatives Lernen Lernen linearer Klassifikation.
Lernen und Klassifizieren AS1-2
Adaptive Systeme-2 Grundlagen
Adaptive Systeme-2 Prof. Rüdiger Brause WS 2011 Organisation Einführung in adaptive Systeme B-AS-1, M-AS-1 Vorlesung Dienstags Uhr, SR9 Übungen.
Adaptive lineare Transformationen AS-2
Lernen und Klassifizieren AS2-2
Effiziente Algorithmen
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/ /23.1.
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Neuronale Netze.
Neuronale Netze Nachtrag Perzeptron
Praktische Optimierung
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.

Radiale Basis-funktionen
Theorie psychometrischer Tests, II
Begriff der Zufallsgröße
Statistik – Regression - Korrelation
Variogramme und Kriging
setzt Linearität des Zusammenhangs voraus
Institut für Informationssysteme Technische Universität Braunschweig Institut für Informationssysteme Technische Universität Braunschweig Verdrängung von.
Geoinformationssysteme
PCA Principal Component Analysis. Gliederung PCA – Warum eigentlich? PCA – Was ist zu tun? Was passiert eigentlich? Anwendungen Zusammenfassung.
Spärliche Kodierung von Videos natürlicher Szenen Vortragender: Christian Fischer.
Independent Component Analysis: Analyse natürlicher Bilder Friedrich Rau.
 Präsentation transkript:

Lernen und Klassifizieren AS2-2

Stochast. Klassifikation Assoziativspeicher Lineare Klassifikation Lernen linearer Klassifikation Lernen und Zielfunktion Stochast. Klassifikation Lernen in Multilayer-Netzen Backpropagation-Lernen Rüdiger Brause: Adaptive Systeme AS-2 WS 2013

Neuro-Modell des Assoziativspeichers Funktion: Jede Komp.ist lin. Summe zi = wix Nichtlin. Ausgabe: yi = SB(zi) = Lernen von W ? Rüdiger Brause: Adaptive Systeme AS-2 WS 2013 - 3 -

Lernen im Assoziativspeicher Speichern aller N Muster mit Hebbscher Regel Auslesen eines Musters r y = Wxr = z = r Lr(xr)Txr + assoziierte Antwort + Übersprechen von anderen Mustern Orthogonale Muster xr: Übersprechen = 0, exakte Reproduktion. Nicht-orthogonale Muster: Schwellwerte nötig zum Unterdrücken des Übersprechens. Rüdiger Brause: Adaptive Systeme AS-2 WS 2013 - 4 -

Trennung mehrerer Klassen Erinnerung: Lineare Separierung 1 Neuron: 1 Trennlinie (Ebene) x2 xr (1,1) 2 Neurone: 2 Trennlinien (Ebenen) xq xp (0,1) Bereiche trennbar (1,0) (0,0) xk x1 Rüdiger Brause: Adaptive Systeme AS-2 WS 2013 - 5 -

Trennung mehrerer Klassen Problem: Klassenentscheidung über Korrelationsgröße Entscheidung über x: Klasse p: xxp > xxq Klasse q: xxp < xxq xp xq x2 x1 Frage: x = xp: In welche Klasse? Antwort: in Klasse q ! Lösung (x-y)2 = x2 -2xy +y2 ist minimal  xy ist maximal genau dann, wenn Konstante Länge c = |x|=|y| (normierte Musteraktivität) Rüdiger Brause: Adaptive Systeme AS-2 WS 2013 - 6 -

Trennung mehrerer Klassen Erweiterung der Mustertupel x  X‘ = (x0 , x1, x2, ..., xn) mit |x‘| = const weil x20 = c2 – |( x1, x2, ..., xn)|2 > 0 (!)  Einbettung in den Hyperraum Beispiel: 2-dim  3-dim x3 c Entscheidung durch cos (a) = = c–2 xTxr cos(a) monoton fallend  Winkel als Distanzmaß min a  max Korrelation xr x xp a x2 xq xk x1 Rüdiger Brause: Adaptive Systeme AS-2 WS 2013 - 7 -

Assoziativspeicher: Speicherkapazität M Tupel (x,y) gegeben: Wie viele können zuverlässig gespeichert werden? x1= x2 =...= xM: nur ein Muster speicherbar. y1= y2 =...= yM: beliebig viele Muster speicherbar, da Antwort y immer richtig. Problem der Kodierung der Muster ! Sei |x| = a. Maximaler Musterabstand max d(xp,xq) = min xpxq = 0 bei orthogonalen Mustern Reelle Komponenten: n Dimensionen  n orthogonale Basisvektoren Binäre Komponenten: Mmax = z.B. n=100, a=10, also max M=10 Mittlere Abstand maximal  z.B. n = 100 max M  2n/n-0.5 1029 Die Abschätzung der Binomialformel n!/(n-a)!a! erfolgt über die Stirlingsche Formel der Fakultät n! = (2n)-0.5nne-n Rüdiger Brause: Adaptive Systeme AS-2 WS 2013 - 8 - 8

Assoziativspeicher: Binärspeicher Spärliche Kodierung Binäre Muster Speichern: wij = Vp yipxjp = maxp yipxjp Kapazität: HB = ln 2 = 0,693 Bit pro Speicherzelle Palm 1980 vergleichbar mit CAM-Speicher Kodierung k = ax = ld m j = ay = O(log n) Konstante Zahl von 1 durch eine Leitung pro Eingabecode CAM vs. Ass.matrix Rüdiger Brause: Adaptive Systeme AS-2 WS 2013 - 9 -

Stochast. Klassifikation Assoziativspeicher Lineare Klassifikation Lernen linearer Klassifikation Lernen und Zielfunktion Stochast. Klassifikation Lernen in Multilayer-Netzen Backpropagation-Lernen Rüdiger Brause: Adaptive Systeme AS-2 WS 2013

Klassenbildung heute Objekte werden durch Merkmale beschrieben z.B. qualitativ Mensch = (groß, braune Augen, dunkle Haare, nett, ...) quantitativ Mensch = (Größe=1,80m, Augenfarbe=2, Haarfarbe=7, ...) Idee = Form = „Klassenprototyp“ Muster eines Objekts  (Breite, Höhe) = x Breite c 2 Höhe 1 Trennung von Klassen Blütensorte 1 Blütensorte 2 Klassenprototyp Klassifizierung = Ermitteln der Geradengleichung bzw Parameter c1,c2. Rüdiger Brause: Adaptive Systeme AS-2 WS 2013 - 11 -

Klassentrennung Klassentrennung durch Trenngerade mit f(x1) = x2= w1x1+w3 z<0 z=0 bzw. z = w1x1+w2x2+w3x3 = 0 z>0 mit x3 := 1 Breite x1 c 2 Höhe x2 1 Mit z = = wTx Klassenentscheidung y = S(z) = Rüdiger Brause: Adaptive Systeme AS-2 WS 2013

Klassentrennung durch formales Neuron Klassentrennung durch binäres Neuron x1 x2 x3 xn-1 ... 1 SB(z) y = 0: Klasse 1 y = 1: Klasse 2 z = wTx Klassenentscheidung y = SB(z) = z = = wTx

Trennung mehrerer Klassen DEF Lineare Separierung Seien Muster x und Parameter w gegeben. Zwei Klassen 1 und 2 des Musterraums  = 12 mit 12 =  heißen linear separierbar, falls eine Hyperebene {x*} existiert mit g(x*) = wTx* = 0, so daß für alle x1 gilt g(x)<0 und für alle x2 gilt g(x)>0. 12 =  muss gelten damit eine Grenze die Klassen trennen kann. (notwendig). Allerdings reicht dies nicht aus wenn eine Gerade verwendet wird. Beispiel: 4 Punkte. Rüdiger Brause: Adaptive Systeme AS-2 WS 2013

Lernen ! ? WIE erhalten wir die richtigen Gewichte, ALSO : WIE erhalten wir die richtigen Gewichte, d.h. die richtige Klassifizierung ? Lernen ! Rüdiger Brause: Adaptive Systeme AS-2 WS 2013

Stochast. Klassifikation Assoziativspeicher Lineare Klassifikation Lernen linearer Klassifikation Lernen und Zielfunktion Stochast. Klassifikation Lernen in Multilayer-Netzen Backpropagation-Lernen Rüdiger Brause: Adaptive Systeme AS-2 WS 2013

Das Perzeptron Rüdiger Brause: Adaptive Systeme AS-2 WS 2013

R S A y Das Perzeptron j Idee: Reize wiedererkennen Rosenblatt 1958 Künstliche Retina Assoziations-Schicht Response-Schicht j X · · · · y · · A R S Verbindungen zu A fix (zufällig): x = (x1,...,xn)T = (1(S),...,n(S))T Stärke der Verbindungen zu R veränderbar: w = (w1,...,wn)T Rüdiger Brause: Adaptive Systeme AS-2 WS 2013

Das Perzeptron Entscheiden DEF Log. Prädikat := {x} alle Muster,  = 1 + 2 1 : Menge aller x aus Klasse 1 2 : Menge aller x aus Klasse 2 Schwelle DEF Log. Prädikat Mit den Erweiterungen x = (x1,...,xn,1)T w = (w1,...,wn,s)T wird Rüdiger Brause: Adaptive Systeme AS-2 WS 2013

Das Perzeptron: Pseudo-code 3 DEF numerische Werte PERCEPT3: Wähle zufällige Gewichte w zum Zeitpunkt t:=0. REPEAT t:= t+1; w(t) = w(t–1) +  (L(x) – y(x)) x(t) Fehler-Lernregel UNTIL (alle x richtig klassifiziert) Sogar ohne Umdefinition der Muster aus 2!

Das Perzeptron: Konvergenz Perzeptron - Konvergenztheorem (Minsky Papert 1988) Wenn die Mustermenge i linear separierbar ist, so konvergiert der Algorithmus bei t   Problem: Wenn Klassen sich überlappen, so wird die Grenzlinie bei g = 1 immer hin und her geschoben

Gradientenabstieg Rüdiger Brause: Adaptive Systeme AS-2 WS 2013

Lernen durch Iteration Gradientenabstieg einer Zielfunktion R(w) R ( w ) - ¶ R ( w ) ¶ W w ) w * ( t w ( t - 1 ) w w := (w(t-1) – w(t)) ~ – wR(w(t–1)) w(t) = w(t–1) – (t) wR(w(t–1)) Rüdiger Brause: Adaptive Systeme AS-2 WS 2013 Rüdiger Brause: Adaptive Systeme AS-1, WS 2009 - 23 - 23

Das Perzeptron: Zielfunktion Ziel: Verallgemeinerung der Lernregel Hier: Minimierung aller Fehlentscheidungen mit L=1 DEF Perzeptron-Zielfunktion „Energie“ Neuformulierung erwartetes Lernen: Gradient d.h. Stochast. Lernen

Perzeptronleistungen Rüdiger Brause: Adaptive Systeme AS-2 WS 2013

Was kann ein Perzeptron ? Erwartung: „Intelligente Leistungen“ durch Wahl von (S) Abbildung der Merkmale auf linear separierbare Mustermengen Perzeptronarten diameter-limited perceptrons nur Bildpunkte aus einem begrenzten Radius order-restricted perceptrons von maximal n (beliebigen) Bildpunkten abhängig random perceptrons eine zufällige Auswahl aller Bildpunkte

Was kann ein Perzeptron ? Topologische Prädikate, z.B. „X ist ein Kreis“ ? „X ist eine konvexe Figur“ ? „X ist eine zusammenhängende Figur“ ? ... Tatsache: keine korrekte Klassifizierung von Punktmengen X (Bildpixeln) dieser Arten Tatsache: keine korrekte Klassifizierung von Punktmengen X (Bildpixeln) dieser Arten Nur „X hat Eulerzahl E“ E(X) : = K(X) – Anzahl der Löcher Nur „X hat Eulerzahl E“ E(X) : = K(X) – Anzahl der Löcher

Was kann ein Perzeptron ? Eulerzahl E E(X) : = K(X) – Anzahl der Löcher K(X) : = zusammenhängende Komponenten Loch := zusamm. Komponente der komplementären Menge K(x) = 2, Löcher = 1  E(x) = 1

Was kann ein Perzeptron ? Beispiel: keine korrekte Klassifizierung von Punktmengen X (Bildpixeln) für Prädikat „X ist Typ A“ möglich mit „diameter-limited“ Perzeptron Typ A Muster 1 Muster 2 Nicht Typ A Muster 4 Muster 3

Was kann ein Perzeptron ? Beweis: offen: Typ A Nicht Typ A

Adaline Rüdiger Brause: Adaptive Systeme AS-2 WS 2013

Adaline: Aktivität Schwellwert - regler w Quantisierer S(z) Ausgabe y Quantisierer S(z) Ausgabe y Regler Summierer Fehleranzeige d Schalterfeld für Eingabemuster Lehrer - Schalter für gewünschte Ausgabe Rüdiger Brause: Adaptive Systeme AS-1, WS 2013

Adaline: Aktivität Verlauf des Klassifizierungsfehlers für „Klasse T liegt vor“ bei Präsentationen von T,G,F und sofortiger Nachregelung

Adaline: Lernalgorithmus Minimierung des erwarteten quadratischen Fehlers R(w,L) := (z(x) – L(x))2x= (wTx – L(x))2x durch Anpassung der Parameter w(t) = w(t–1) – (t) R(w(t–1)) w(t) = w(t-1) – (t)(wTx–L(x))x stochastische Approximation w(t) = w(t–1) – (t)(wTx–L(x)) Widrow-Hoff Lernregel

Übersicht: Lernen Assoziativspeicher 1. Muster xk eingespeichert wi(1) = Lik xk (Hebb‘sche Regel) Perzeptron wi(t) = wi(t-1) + (Li(x)-yi)x (Fehler-Lernregel) wi(1) = (Li(xk)-yi)xk = Lik xk bei wi(0) = 0  yik(0) = 0. Adaline wi(t) = wi(t-1) + (t)(L(x)-zi)x (Gradientenabstieg) wi(1) = (Li(xk)-zi)xk = Lik xk bei wi(0) = 0  zik(0) = 0. Assoziativspeicher = Grundfunktion von Netzen

Stochast. Klassifikation Assoziativspeicher Lineare Klassifikation Lernen linearer Klassifikation Lernen und Zielfunktion Stochast. Klassifikation Lernen in Multilayer-Netzen Backpropagation-Lernen Rüdiger Brause: Adaptive Systeme AS-2 WS 2013

Übersicht Lernarten Beispiel-basiertes Lernen (example based learning, feedback learning) Gegeben: ( Eingabe x, gewünschte Ausgabe L) Ziel: Differenz zwischen y und L im Laufe des Lernens klein machen. Erklärungs-basiertes Lernen (explanation based learning EBL) Gegeben: Beispielpaare, Ziel sowie Regeln, es zu erreichen. Lernen: Generalisierung der Beispiele. (regelbasierte Systeme, nicht bei neuronalen Netzen) Score-basiertes Lernen (reinforcement learning) Gegeben: skalares Gütemaß ("gut", "schlecht", mit Abstufungen dazwischen) für Lernleistung. Lernen: ?? Der Lernende muss daraus selbst sehen, was an der Ausgabe zu ändern ist. Unüberwachtes Lernen (observation based learning, emotion based learning, similarity learning) Gegeben: keine explizite Rückmeldung über die Güte seines Lernens Lernen: Vergleich gewünschte Auswirkungen mit beobachteten Auswirkungen. Folgerung für geeignete Verhaltensänderung.

Lernen durch Iteration Modifikationen Gradientenabstieg Taylorentwicklung f(x+Dx) = f(x) + Dx + (Dx)2 + ... R(w+w) – R(w) = wR(w)T w + ½wTR w + ... mit R = Hesse-Matrix Conjugate gradient R(w+w) – R(w) = (wR(w)T + ½wTR) w = 0 löse n-dim Gleichungssystem für w Statt nach dem 1. Glied (Gradientenabstieg) kann man auch nach dem 2. Glied abbrechen. Dies erhöht aber den Rechenaufwand.

Lernen durch Iteration Newton-Iteration F(w) f(w) f’(w ) t f’(wt) = f(w ) t w y = w w* w w t+1 wt+1 = wt – Newton-Verfahren wt+1 = wt –

Lernen durch Iteration Konvergenz des Gradientenverfahrens Es ist R(t) = Ljapunov-Funktion mit Konvergenz, wenn R(t+1) < R(t) bzw. < 0 monoton fallend Ex. endliches R0 < R(t) für jedes t Ljapunov-Bedingung Also: Wenn dann Konvergenz Hinreichend dafür: = – w R(w) mit  > 0 weil = – (w R(w))2 < 0 Mit  und t = 1 ist w(t) – w(t-1) = – w R(w) Gradientenabstieg (w(t)) = w R(w) < 0

Stochastische Approximation Gesucht: Nullstelle einer stochast. Funktion f(x,w) = r‘(x,w) F ( w ) a | - * + b f x , Methode 1: Alle Ereignisse x abwarten und dann F(w) = f(x,w)x bilden w(t) = w(t-1) – (t) F(w(t-1)) Methode 2: Einfach f(x,w) verwenden Robbins, Monro 1951 w(t) = w(t-1) – (t) f(w(t-1),x(t)) stochastische Approximation

Stochastisches Lernen Lernen mit Zielfunktion R(w) = r(w,x)x w(t) = w(t-1) - (t) w R(w(t-1)) wird ersetzt durch Lernen mit stochast. Zielfunktion r(w,x) w(t) = w(t-1) - (t) w r(w(t-1),x(t)) stochastisches Lernen

Stochastische Approximation Voraussetzungen das klein Gedruckte... die Funktion F(w) := f(x,w)x ist zentriert, d.h. F(w*) = 0 F(w) ist ansteigend, d.h. F(w<w*) < 0, F(w>w*) > 0 F(w) ist beschränkt mit |F(w)| < a|w-w*|+b <  a,b > 0 f(x,w) hat endliche Varianz, d.h. 2(w) = (F(w) - f(x,w))2x <  (t) verschwindet, (t)  0 (t) wird nicht zu schnell klein =  (t) wird nicht zu groß 2 <  Dann ex. (w(t) – w*)2 = 0 mittl. quadr. Konv. Robbins-Monro P( w(t) = w*) = 1 Blum

Stochastische Iteration: Konvergenz Beispiel Sei die Zufallsvariable x gegeben, geschätzt durch w. Abweichung bei der Schätzung ist R(w) = r(w,x)x = (w-x)2x mean squared error w(t) = w(t-1) - (t) wr(w(t-1),x(t)) stoch. Gradient w(t) = w(t-1) - (t)(w(t-1)-x(t)) Zeitabhängigkeit R(w)  R(w*) bei w  w* stoch. und erwarteter Verlauf?

Stochastische Iteration: Konvergenz w(t) = w(t-1) - (t)(w(t-1)-x(t)) Behauptung Bei (t) := 1/ t ist immer w(t) = xx Beweis durch vollständige Induktion w(0)  0 Kap.2.3.2 w(t=1) = 0 - (t)(0-x) = x = xx Induktionsverankerung Mit w(t-1) = xt-1 = Induktionsvoraussetzung gilt w(t) = ... = xt Induktionsschritt q.e.d.

Konvergenzverlauf x = 1

Erwarteter Konvergenzverlauf Rechnung Anhang D.4 mittl. quadrat. Abweichung Erwartungswert aller Verläufe Abweichung durch Standardabweichung beschreibbar  |w* - w(t)|  = t = x / t

Konvergenzverlauf Abweichung w*(t) w* = 1, x = 0,288

Probleme Stochastisches Lernen Beispiel Klassentrennung wi(t) = wi(t-1) - (t)(wi(t-1)-x(t)) Behauptung Trotz (t) := 1/ t ist der Klassenprototyp wi(t) ≠ xx Warum ? Problem: xx ist abhängig von der Klassenentscheidung für x

Stochast. Klassifikation Assoziativspeicher Lineare Klassifikation Lernen linearer Klassifikation Lernen und Zielfunktion Stochast. Klassifikation Lernen in Multilayer-Netzen Backpropagation-Lernen Rüdiger Brause: Adaptive Systeme AS-2 WS 2013

Stochastische Musterklassifikation Grundsituation der Erkennung w M 1 2 P ( i ) . P ( X | w i ) mit P(x) empfangen Muster x w 1 P ( i | X ) 2 . M Empfänger a posteriori Quelle, Sender a priori Notation: Mustermenge  = {x}, unterteilt in Klassen i k = " Klasse k liegt vor "  Klassifikation k: P(k|x) = maxj P(j|x) Bayes-Klassifikation Wie erhalten wir P(j|x) ? Rüdiger Brause: Adaptive Systeme AS-2 WS 2013 - 51 - 51

Stochastische Klassifikation P(j|x) = ? Bekannte Quellen Sei a-priori P(j), P(x|j), P(x) bekannt und P(x, j) = P(j|x)P(x) = P(x|j)P(j) so ist P(j|x) = P(x|j)P(j) / P(x) mit P(x) = j P(x|j)P(j) Aufgabe ! Unbekannte Quellen A-posteriori P(j|x) lernen ! Zielfunktion: Messung der Klassifikationsleistung ? Rüdiger Brause: Adaptive Systeme AS-2 WS 2013 - 52 - 52

Klassifikationsleistung Diagnose-Situation (Diagnose, Realität) Name Wahrscheinlichkeit (D(x) =  | ) Sensitivität TP PK= P(D(x) = | ) (D(x) = | ) Ignoranz FP PI = P(D(x) = | ) (D(x) = | ) Fehlalarm FN PA= P(D(x) = | ) (D(x) = | ) Spezifität FP PL= P(D(x) = | ) PK + PI = 1 FP = FRR false rejection rate PA + PL= 1 FN = FAR false acceptance rate Seien die Wahrscheinlichkeiten dieser Ereignisse mit PA = P(Fehlalarm) = 1–PL und PI = P(Ignoranz) = 1–PK notiert. Im Idealfall sind die Wahrscheinlichkeiten der Sensitivität und Spezifität, PL und PK, eins, und die beiden Wahrscheinlichkeiten PA und PI sind null. Leider ist dies aber nicht möglich: Alle Diagnosesysteme machen Fehler. Meist kann man eine der beiden Wahrscheinlichkeiten (PL bzw. PK) immer nur auf Kosten der anderen minimieren.

Klassifikationsleistung Diagnose-Situation („confusion matrix“)   D(x) =  Sensitivität P(D(x) = | ) true positive Fehlalarm P(D(x) = | ) false negative D(x) =  Ignoranz P(D(x) = | ) false positive Spezifität P(D(x) = | ) true negative Seien die Wahrscheinlichkeiten dieser Ereignisse mit PA = P(Fehlalarm) = 1–PL und PI = P(Ignoranz) = 1–PK notiert. Im Idealfall sind die Wahrscheinlichkeiten der Sensitivität und Spezifität, PL und PK, eins, und die beiden Wahrscheinlichkeiten PA und PI sind null. Leider ist dies aber nicht möglich: Alle Diagnosesysteme machen Fehler. Meist kann man eine der beiden Wahrscheinlichkeiten (PL bzw. PK) immer nur auf Kosten der anderen minimieren.

ROC -Kurven von Diagnosesystemen Wechselseit. Abhängigkeit Sensitivität / Spezifität Beispiel med. Diagnose Leistung eines Diagnosesystems Receiver Operating Characteristic (ROC) Spezifität PL= f(PK) EER Eingezeichnet ist auch eine reine Zufallsentscheidung, eine Gerade mit 45°. Jede ROC-Kurve, die bei gegebener Sensitivität PK eine höhere Spezifität aufweist, ist an dieser Stelle besser. Da dies aber an anderer Stelle schlechter sein kann, wird üblicherweise die Güte des Diagnosesystems durch die Gesamtkurve mittels der Fläche unter der ROC-Kurve (area under curve AUC) charakterisiert. Die AUC ist in schraffiert dargestellt. Man beachte bei dieser Modellierung, daß die ROC- Kurve von einem realen System meist nur als statistische Näherung, also als „verrauschte“ Kurve, gemessen werden kann und deshalb in der Praxis nur näherungsweise in Optimierungsversuche eingehen kann. Ein Beispiel dafür ist rechts zu sehen. Dabei ist die Diagnosewahrscheinlichkeiten „Spezifität“ und „Sensistivität“ auf verschiedenen Datenbasen (Trainingsdaten) und für verschiedene Parameterwerte, die Entscheidungsschwellen , gemessen worden und das Ergebnis (PK, PL) als Punkt im Diagramm eingezeichnet. Die mittlere ROC-Kurve erhält man dann durch Mittelwertbildung über alle Punkte. Sensitivität Area Under Curve (AUC)

Diagnosegüte AUC area under curve Medizin: ab 80% interessant EER equal error rate bei Sensitivität = Spezifität Mittl. korrekte Diagnose (Sensitivität+Spezifität)/2 F-Maß 2*Sensitivität*Spezifität/(Sensitivität+Spezifität) …. ABER: NIEMALS nur die Sensitivität (Trefferquote) Precision = Recall =

ROC -Kurven von Diagnosesystemen Aufgabe: Ex. ein Diagnosesystem mit D(x) > c Klasse A liegt vor D(x) < c Klasse A liegt nicht vor Frage: Wie wird ROC und AUC davon gemessen? Antwort: Für festes c über alle x die Leistung (Pk ,PL ) messen, einen Punkt der Grafik einzeichnen c variieren, und jeweils Punkt zeichnen ROC in die Punkte einpassen, AUC davon berechnen

Stochast. Klassifikation Assoziativspeicher Lineare Klassifikation Lernen linearer Klassifikation Lernen und Zielfunktion Stochast. Klassifikation Lernen in Multilayer-Netzen Backpropagation-Lernen Rüdiger Brause: Adaptive Systeme AS-2 WS 2013

0 = { } = {(0,0), (1,1)} 1 = { } Das XOR-Problem Aufgabe Trennung zweier Klassen durch eine Gerade – wie ? x1 x2 x1 x2 0 0 0 1 1 1 0 1 1 x 0 = { } = {(0,0), (1,1)} 2 1 1 = { } = {(1,0), (0,1)} Klassen nicht linear separierbar! 1 x 1

Das XOR-Problem Lösung Trennung durch zwei Schichten y := x x y := x y 0 0 0 1 1 1 0 1 1 x y = (x1 x2) negiertes XOR = (x1ORx2) AND (x1OR x2) 2 1 y 1 := x OR 2 _ x y 2 := 1 _ x OR x 1 x 1 y XOR := y 1 AND y 2 z.B. formale binäre Neuronen S(z>s) = 1, S(z<s) = 0 Þ w 1 = w 4 5 6 = 1/3 2 3 = - 1/3 s1=s2=0, s = 1/2

Multilayer-Klassifikation Separierung von Klassen 1.Neuron 2.Neuron 3.Neuron

Fähigkeiten der Multilayer-Netzwerke Approximationsnetze Interpolation anhand von Beispielen (Stützstellen) Typ. Netz Linearkombinationen von Basisfunktionen S(.) Sigma-Funktion F: wobei { z | z(x) = w(1)Tx+b } affine Funktionen n S ist Quetschfunktion

Fähigkeiten der Multilayer-Netzwerke Satz Hornik, Stinchkombe, White 1989 Für die Funktionswerte jeder beliebigen Funktion f(x) : n von N Mustern x1 .. xN ex. eine Sigma-Funktion F, so dass für alle Muster xi mit i = 1..N gilt F(xi) = f(xi) Gilt auch für Schicht {Fi} Assoziativspeicher Satz Jede beliebige, stetige Funktion f(x) in einem kompakten Intervall ("kompakte Teilmenge des n ") kann beliebig dicht (uniform dicht im Sinne der Ls-Norm in der Menge Cn aller stetigen Funktionen und p-dicht in der Menge der Borel meßbaren Funktionen) durch eine Sigma-Funktion F(x) approximiert werden Anmerkung: Gilt auch für S = stetig, begrenzt, nicht-konstant (RBF)

Fähigkeiten der Multilayer-Netzwerke Frage: Wieviel Schichten muss ein Netzwerk mindestens haben, um eine beliebige Funktion beliebig gut zu approximieren? ? Antworten: eine zwei drei unendlich viele

Fähigkeiten von Mehrschicht-Netzen Mehrschichten-Netze Fähigkeiten von Mehrschicht-Netzen nicht-linear linear Eingabe z.B. DNA, Patienten-daten, Roboter-sensoren x 1 2 n y f Ausgabe z.B. Struktur, Diagnose, Roboter-bewegung Ein 2-Schichtennetzwerk mit nicht-linearer Ausgabefunktion S(z) kann JEDE beliebige Funktion so genau wie gewünscht approximieren, wenn genügend Neuronen ex. Neuronenzahl gegeben. Lernalgorithmus=?

Stochast. Klassifikation Assoziativspeicher Lineare Klassifikation Lernen linearer Klassifikation Lernen und Zielfunktion Stochast. Klassifikation Lernen in Multilayer-Netzen Backpropagation-Lernen Rüdiger Brause: Adaptive Systeme AS-2 WS 2013

Backpropagation Netzarchitektur und Aktivität x Eingabe hidden units Ausgabe x Gesamtaktivität

Backpropagation-Grundidee Netzarchitektur und Lernen Eingabe 1.Schicht 2.Schicht Ausgabe y (2) (1) y (1) = x (2) x hidden Ausgabe units units d (1) d (2) L - y (2) Schichtweise Verbesserung durch Rückführung des Fehlers

Backpropagation-Lernregel letzte Schicht Lernziel: R(w*) = min E(y(w) - L(x))2 min.mittl. quadr. Fehler wi (t+1) = wi (t) - g Gradienten-Lernregel wij (t+1) = wij (t) - g (yi(wij)-L(x)) stoch. Approximation mit = Mit i := - (yi(wij)-L(x)) S‘(zi) ist wij(x) =  i xj Delta-Regel

Fehler-Backpropagation Beeinflussung voriger Schichten zi(1)R Delta-Regel für Schicht 1, unabh. von R

Online vs Offline-Lernen Beispiel Buchstabenerkennung Überwachtes Lernen Lernziel (Zielfunktion) Lehrer Eingabe Gewichte On-line learning (Training) ..., H, ... Testmenge   off-line learning Trainings- menge H ! W Fehler ? E ? Neuronales System E A, B, C, D, E, F, ..., Z. Ergebnis A, B, C, D, E, F, ..., Z.

Anwendung BP Gegeben DECtalk Ausgabe Text  Sprache der Fa. Digital Eq. (DEC) Aufwand 20 PJ für 95% Genauigkeit Beispiel NetTalk Sejnowsky, Rosenberg 1986 16 CPU-Stunden BP-Training für 98% Genauigkeit Adaptives Programm statt neu programmieren!

NetTalk: Kodierung Ausgabekodierung Binäre Kodierung der 26 Laute . e n w - F r o t b c k s d p l h i f q 8 u m ( X ) = 7 2 9 3 E g v 6 A : / Präkontext Postkontext Eingabe 26 Buchstaben + 3 Sonderzeichen 23 Laute +(cont, Wortgrenze, stop) Ausgabekodierung Binäre Kodierung der 26 Laute 26 Buchstaben +(cont, Wortgrenze, stop) Eingabekodierung Binäre Kodierung der 29 Buchstaben Lauffenster der Trainingsbuchstaben

Analyse der Neuronengewichte Visualisierung der Gewichte Hinton Diagramm Gewichte von Neuron 1 Gewichte von Neuron 2 Sinn = ? pos. Gewichte neg. Gewichte

Analyse der Neuronengewichte Clusteranalyse P 1 3 2 4 5 6 7 8 d a Maximaler Nachbarabstand Hierarchische Clusteranalyse Dendrogramm Sukzessives Zusammenfassung Reihenfolge durch Cluster-Abstandsmaß w 2 P 4 P a a 5 1 3 P P 2 8 P 3 a P P 2 P 7 1 6 w Für eine Clusterung müssen zwei Masse bekannt sein: der maximale Intra-Clusterabstand Und der maximale Inter-Clusterabstand 1 d(x,Nachbar) < dN gleicher Cluster

Analyse der Neuronengewichte Clusteranalyse Clusterung der Muster im Eingaberaum („in vitro“) Clusterung der Ausgabewerte bei äquidistanten Testmustern („in vivo“)  Funktionsgruppen von Neuronen

Analyse der Neuronengewichte Sensitivitätsanalyse Aufstellen der Abhängigkeit des Fehlers des Netzes von der Eingabe bzw. den Gewichten.  Wichtigkeitsliste der Eingabevariablen Aber: Fehler hängt ab von Signalgrösse Normierung d. Signale Grosse Gewichte auch bei random-Eingabe Abhängigkeit von Eingabevar. nicht erfasst System ?

Verbesserungen des BP-Algorithmus Problem Das System kann in einem lokalen Optimum "stecken" bleiben Lösung Gewichte der hidden units als Eigenvektoren initialisieren Mehrere Durchgänge mit zufallsveränderten Gewichten Regelmässige Störung der Gewichte & Neulernen Mit kleiner Wahrscheinlichkeit auch gegen das Optimum verändern Sequentieller Netzaufbau, gesteuert durch Kriterium (Ausgabeentropie, Fehler, ...)

Verbesserungen des BP-Algorithmus Problem Trotz guter Trainingsleistung zeigt der Test schlechte Ergebnisse Überanpassung (overfitting) ! f(x) training samples test samples x

Verbesserungen des BP-Algorithmus Lösung: Stopped Training

Problem: Partition der Daten Training und Testen Problem: Partition der Daten zufällige Einteilung der Aufteilung der Daten Datenmenge aller Patienten nach Patienten

Verbesserungen des BP-Algorithmus Problem wij(x) =  i xj =  (..)S‘(zi) xj Die Konvergenz ist relativ langsam, besonders bei mehreren Schichten Problem Ausgabefunktion Bei Wahl von S = Fermifunktion ist die Ableitung eine Glocken- Funktion mit S‘(-) = 0 = S‘() und damit bei sehr großem oder kleinem x (x) = 0  Kein Lernen mehr möglich! S(z) S‘(z)

Verbesserungen des BP-Algorithmus Abhilfen für die Ausgabefunktion: Andere Lernfunktion wählen, z.B. Ergänzung durch Backpropagation Trägheitsmoment (t+1) = (t) + (1-)(t-1) z.B.  = 0.9 Quickprop: Addiere 0,1 zu S‘(z) = (1-S)S Ist die Veränderung zu klein, wird sie Null gesetzt Ergänzung durch einen Abklingterm und Schrittinterpolation wij(t) =  (t)Rx(t)/wij (t)wij(t-1) + (t)wij(t-1) Andere Ausgabefunktion wählen (z.B. Sinus)

Verbesserungen des BP-Algorithmus Problem Die Konvergenz ist relativ langsam, besonders bei mehreren Schichten Lösung Abhilfe bei Ausgabefunktion Wahl von (t) als Hauptdiagonal-Matrix Änderung von (t) bei Vorzeichen des Gradienten Lernen der Einzelschichten, falls möglich (z.B. zuerst EV bei hidden units verwenden und 2. Schicht lernen, dann 1. Schicht) Andere Zielfunktion wählen (Information statt erwart. quadr. Fehler MSE)

Wechsel der Zielfunktion Zielfunktion Information Wahrsch. für Klassifik. von Muster k in Klasse j bei Lehrerurteil L Pkj = P(j|xk)Lj (1-P(j|xk))1-Lj Wahrsch. bei M Entscheidng., Muster k richtig zu klassifizieren DEF Rx:= I(xk) =  log Pk Zielfunktion Kap.2.6.9 = log P(j|xk) + (1-Lj) log (1-P(j|xk)) yj = P(j|xk) log yj + (1-Lj) log (1-yj) =  d(2) = (y-L)

Wechsel der Zielfunktion Beispiel: Klassifikation von Phonemen MSE 68% ok Information 78% ok 2. Formantenfrequenz 1. Formantenfrequenz