320 likes | 492 Views
Neurale Netwerken. Kunstmatige Intelligentie Rijksuniversiteit Groningen. April 2005 . hc 2. TLUs, lineaire scheidbaarheid en vectoren TLUs trainen; de perceptron regel boek: H3 en H4. overzicht. voorbeeld TLU: logical AND operator 3.1
E N D
NeuraleNetwerken Kunstmatige Intelligentie Rijksuniversiteit Groningen April 2005
hc 2 • TLUs, lineaire scheidbaarheid en vectoren • TLUs trainen; de perceptron regel • boek: H3 en H4
overzicht • voorbeeld TLU: logical AND operator 3.1 • vectoren en lineaire scheidbaarheid 3.2, 3.3 • TLU’s trainen 4.1, 4.2, 4.3 • uitbreiding 4.4, 4.5, 4.6
x1 w1 y w2 x2 y = 1 if a >= Θ y = 0 if a < Θ een TLU met 2 inputs, 1 output
x1 1 y 1 x2 y = 1 if a >= Θ y = 0 if a < Θ whereΘ = 1,5 logical AND operator
0 1 0 1 0 y = 1 if a >= Θ y = 0 if a < Θ whereΘ = 1,5 input pattern 1
0 1 0 1 1 y = 1 if a >= Θ y = 0 if a < Θ whereΘ = 1,5 input pattern 2
1 1 0 1 0 y = 1 if a >= Θ y = 0 if a < Θ whereΘ = 1,5 input pattern 3
1 1 1 1 1 y = 1 if a >= Θ y = 0 if a < Θ whereΘ = 1,5 input pattern 4
van klasse grensnaar decision hyperplane In het voorbeeld van de logical AND operator wordt dat x2 = -1 * x1 + 1,5 de klasses moeten te scheiden zijn door een rechte lijn (hyperplane), anders kan een TLU het niet oplossen.
overzicht • voorbeeld TLU: logical AND operator3.1 • vectoren en lineaire scheidbaarheid3.2, 3.3 • TLU’s trainen 4.1, 4.2, 4.3 • uitbreiding 4.4, 4.5, 4.6
vectoren 2D input space (bv. AND): x = (x1, x2) nD input space: (bv. 6 * 8 pixels): x = (x1, x2, ..., xn) w = (w1, w2, ..., wn)
w u -v u u v u v w w kv = (kv1, kv2, ..., kvn) w = u + v w = (u1 + v1, u2 + v2, ..., un + vn) w = u - v w = (u1 - v1, u2 - v2, ..., un - vn)
inproduct v w
overzicht • voorbeeld TLU: logical AND operator3.1 • vectoren en lineaire scheidbaarheid 3.2, 3.3 • TLU’s trainen4.1, 4.2, 4.3 • uitbreiding 4.4, 4.5, 4.6
x1 w1 w2 x2 y y = 1 if a >= Θ y = 0 if a < Θ 1 TLU trainen (2 inputs, 1 output) • “ordening” patterns en opsplitsen in trainingset {p1, ..., pn} en testset {pn + 1, ..., pm} • training set van patterns {p1, ..., pn}, pi = (xi1, xi2, ti) • voor elk pattern pi gewichten aanpassen dmv. error estimate (ti – yi) yi is de output die de TLU geeft ti is wat de output zou moeten zijn • test set van patterns {pn + 1, ..., pm} error op de test set is de prestatie maat testen gebeurt na elk epoch
x1 x1 w1 w1 w2 w2 x2 x2 y y θ y = 1 if a >= Θ y = 0 if a < Θ y = 1 if a >= 0 y = 0 if a < 0 -1 the augmented weight vector y = 1 if w∙ x >= Θ y = 0 if w ∙ x < Θw ∙ x = Θ decision hyperplane Θ kun je zien als extra gewicht met vaste input -1 y = 1 if w ∙ x >= 0 y = 0 if w ∙ x < 0 w ∙ x = 0 decision hyperplane
de gewichtsvector aanpassen • misclassificatie: • t = 1, y = 0 miss • inputvector v = (v1, v2, ..., vn) en gewichtsvector w = (w1, w2, ..., wn) • wijzen verschillende kanten op terwijl dat niet de bedoeling is • inproduct is negatief • pas de gewichtsvector aan, zodat het inproduct positief wordt • t = 0, y = 1 false alarm • inputvector en gewichtsvector wijzen dezelfde kant op terwijl dat niet de bedoeling is • het inproduct is positief • pas de gewichtsvector aan, zodat het inproduct negatief wordt • learning rate α ongeveer 0,2
Perceptron Training Rule w’ = w + αv w’ = w – αv t y w’ = w + α(t – y)v1 1 1 0 0 1 0 0 Δw = α(t – y)v vector components i = 1 t/m (n + 1): Δwi = α(t – y)vi w = (w1, w2, ..., wn, θ) v = (v1, v2, ..., vn, -1)
the perceptron training algorithm boek p. 34 repeat for each training vector pair (v, t) update weight vector w end for loop until y = t for all input vectors .
the perceptron training algorithm boek p. 34 repeat for each training vector pair (v, t) evaluate the output y when v is input to the TLU if y ≠ t then form new weight vector w’ according to (4.4) else do nothing end if end for loop until y = t for all input vectors (4.4) w’ = w + α(t – y)v Perceptron Convergence Theorem: Als twee klasses lineair scheidbaar zijn zal het toepassen van bovenstaand algoritme leiden tot een decision hyperplane dat de twee klasses van elkaar scheidt. bewezen doorRosenblatt (1962)
tabel 4.1 in het boek, logical AND operator x1 w1 x2 y w2 -1 θ y = 1 if a >= 0 y = 0 if a < 0 δwi = α(t – y)vi whereα = 0.25
overzicht • voorbeeld TLU: logical AND operator3.1 • vectoren en lineaire scheidbaarheid 3.2, 3.3 • TLU’s trainen 4.1, 4.2, 4.3 • uitbreiding4.4, 4.5, 4.6
niet-lineair scheidbare klasses neuron 1 zegt AB, neuron 2 zegt AD: tabel 4.2 kan alleen als de input van klasse A is dit gaat ook op voor klasse B, C en D decoderen: tabel 4.3
neurale netwerken: modellen op een gewone von Neumann computer... black box:
overzicht • voorbeeld TLU: logical AND operator3.1 • vectoren en lineaire scheidbaarheid 3.2, 3.3 • TLU’s trainen 4.1, 4.2, 4.3 • uitbreiding 4.4, 4.5, 4.6
volgende college • Herhaling van vandaag • TLUs, lineaire scheidbaarheid en vectoren • TLUs trainen; de perceptron regel • De delta regel • boek: H3, H4 enH5