Mustererkennung: Neuron
D. Schlesinger () Mustererkennung: Neuron 1 / 11
Neuron
x1 x2 x3 . . . xn
y
f(·)
w1 wn
b
Inputx∈Rn, Gewichtew∈Rn, Schwellwertb∈R, Aktivierungy0=
P
iwixi=hw,xi, Outputy=f(y0−b) =f(hw,xi −b)
1
y0
f(y0) =
n
1 wenny0>0 0 sonst Step-Funktion1
y0
f(y0) = 1+exp(−y1 0)
Sigmoid-Funktion (differenzierbar)
Kurz (Swellwertneuron):hx,wi≶b
Geometrische Interpretation
x x
2x
1w b
hx, wi
hx,wi=kxk · kwk ·cosφ Seiwnormiert, d.h.kwk= 1
⇒ kxk ·cosφ– Länge der Projektion vonxaufw
⇒Trennebenehx,wi=const
Neuron realisiert einenlinearen Klassifikator
D. Schlesinger () Mustererkennung: Neuron 3 / 11
Spezialfall – Boolsche Funktionen
Input:x= (x1,x2),xi∈ {0,1}.
Gesucht ist das Neuron (wundb), dassy=x1&x2realisiert.
x1 x2 y
0 0 0
0 1 0
1 0 0
1 1 1
x1
x2
1 1 0 w1=w2= 1,b= 1.5 ODER, Andere boolsche Funktionen, XOR geht nicht!!!
Lernaufgabe
Gegeben: Lernstichprobe (x1,y1),(x2,y2), . . . ,(xL,yL)
,xl∈Rn,yl∈ {0,1}
Gesucht:w∈Rn,b∈Rso dassf(hxl,wi −b) =ylfür allel= 1, . . . ,L Für einen Schwellwertneuron – System linearer Ungleichungen:
n
hxl,wi>b wennyl= 1, hxl,wi<b wennyl= 0.x
1x
2Es gibt (im Allgemeinen) mehrere Lösungen!!!
D. Schlesinger () Mustererkennung: Neuron 5 / 11
„Vorbereitungen“
Vorbereitung 1:
wundbzu einem Parametervektor ˜w:
x= (x1,x2, . . . ,xn)⇒
˜
x= (x1,x2, . . . ,xn,1) w= (w1,w2, . . . ,wn)⇒
˜
w= (w1,w2, . . . ,wn,−b)
⇓
hxl,wi≷b⇒ h˜xl,wi˜ ≷0 Vorbereitung 2:
alles zum einheitlichen System:
ˆ
xl= ˜xl fürlmityl= 1 ˆ
xl=−˜xlfürlmityl= 0
x
1x
2ˆ x
l˜ w
n
hxl,wi>b wenn yl= 1hxl,wi<b wenn yl= 0 ⇒ hˆxl,wi˜ >0 ∀l
Perzeptron Algorithmus
Algorithmus zur Lösung des Systems linearer Ungleichungen hxl,wi>0 für allel= 1, . . . ,L.
1) Suche eine noch nicht erfüllte Gleichung, d.h. einlso dasshxl,wi ≤0 gilt;
2) Wenn nicht gefunden – Ende,
sonst, aktualisierewneu=walt+xl, gehe zu 1).
x2
walt xl
wneu
x1
– Der Algorithmus terminiert, wenn eine Lösung existiert.
Wenn keine Lösung existiert, hält er nie an.
– Die Lösung ist (bis auf eine Skalierung und unter Umständen) ein Punk in der konvexen Hülle der Lernstichprobe
D. Schlesinger () Mustererkennung: Neuron 7 / 11
Beweis der Konvergenz
kw(n+1)k2=kw(n)+xik2=kw(n)k2+ 2hw(n),xii+kxik2≤ kw(n)k2+D2
⇒ kw(n)k ≤√
nD weil hw(n),xii ≤0 (nicht erfüllt)
hw(n+1),w∗i
kw∗k =hw(n),w∗i
kw∗k +hxi,w∗i
kw∗k ≥hw(n),w∗i kw∗k +
⇒hw(n),w∗i
kw∗k ≥n weil hxi,w∗i>0 (erfüllt)
1≥ hw(n),w∗i kw∗k · kw(n)k≥√
n
D wegen Cauchy-Schwarz Ungleichung
⇒n≤D2 2
Wenn eine Lösungw∗existiert,
konvergiert der Algorithmus nach höchstensD2/2 Schritten.
D= maxlkxlk, = minlhxl,w∗i/kw∗k– der Margin.
Beispielaufgabe
Entscheidungsregel für eine reelwertige Größex∈Rsei ein Polynomk-tes Grades, d.h.
anxn+an−1xn−1+. . .+a1x+a0=
X
i
aixi≷0
Man lerne die unbekannten Koeffizientenai des Polynoms anhand einer klassifizierten Lernstichprobe (xl,yl). . .
,xl∈R,yl∈ {0,1}.
Man überführe die Aufgabe in eine Perzeptron-Aufgabe.
Obwohl die Entscheidungsregel bezüglichxnicht mehr linear ist, ist sie immer noch linear bezüglich der Parameterai
⇒System linearer Ungleichungen w= (an,an−1, . . . ,a1,a0)
˜
x= (xn,xn−1, . . . ,x,1) – und das für jedesl (einn+ 1-dimensionaler Vektor)
P
iaixi=h˜x,wi ⇒Perzeptron Aufgabe.
Allgemein: durch eine geeignete Transformation des Raums lassen sich viele nicht-lineare Entscheidungsregel mit dem Perzeptron Algorithmus lernen.
D. Schlesinger () Mustererkennung: Neuron 9 / 11
Kosinec Algorithmus
x1 x2
Es existieren mehrere Lösungen
⇓
Man suche nach einem
„Streifen“ maximaler Breite, der die Lernstichprobe separiert.
(Max-margin, large-margin training)
x1 x2
˜ w Nach „Vorbereitung 1“ und
„Vorbereitung 2“:
min
l
hxl,wi kwk →max
w
Vergleiche mit Perceptron min
l
hxl,wi kwk >0
Kosinec Algorithmus
x
1x
2w
altw
newx
lε
ε-genauer Algorithmus:1 Suche einxl so dass hxkwkl,wi<kwk −εgilt;
2 Wenn nich gefunden – Ende.
3 Sucheγ∗= arg minγkwalt+γ(xl−walt)k2, aktualisierewneu=walt+γ(xl−walt), gehe zu 1.
Terminiert nach einer endlichen Anzahl der Schritte beiε >0 (Beweis ähnlich dem Perzeptron Algorithmus)
Terminiert nicht unbedingt beiε= 0.
D. Schlesinger () Mustererkennung: Neuron 11 / 11