hoorcollege 2 - Rijksuniversiteit Groningen

advertisement
Neurale Netwerken
Kunstmatige Intelligentie
Rijksuniversiteit Groningen
April 2005
hc 2
• TLUs, lineaire scheidbaarheid en vectoren
• TLUs trainen; de perceptron regel
• boek: H3 en H4
2
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
3
een TLU met 2 inputs, 1 output
x1
w1
y
w2
x2
n
a   wi xi  w1 x1  w2 x2
i 1
y = 1 if a >= Θ
y = 0 if a < Θ
4
logical AND operator
x1
1
y
1
x2
n
a   wi xi  w1 x1  w2 x2
i 1
y = 1 if a >= Θ
y = 0 if a < Θ
where Θ = 1,5
5
input pattern 1
0
1
0
1
0
n
a   wi xi  0 *1  0 *1  0
i 1
y = 1 if a >= Θ
y = 0 if a < Θ
where Θ = 1,5
6
input pattern 2
0
1
0
1
1
n
a   wi xi  0 *1  1*1  1
i 1
y = 1 if a >= Θ
y = 0 if a < Θ
where Θ = 1,5
7
input pattern 3
1
1
0
1
0
n
a   wi xi  1*1  0 *1  1
i 1
y = 1 if a >= Θ
y = 0 if a < Θ
where Θ = 1,5
8
input pattern 4
1
1
1
1
1
n
a   wi xi  1*1  1*1  2
i 1
y = 1 if a >= Θ
y = 0 if a < Θ
where Θ = 1,5
9
van klasse grens
naar decision hyperplane
w1 x1  w2 x2  
w2 x2   w1 x1  

w1
x1 
x2  
w2
w2
x2  ax1  b
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.
10
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
11
vectoren
2D input space
(bv. AND):
x = (x1, x2)
nD input space:
(bv. 6 * 8 pixels):
x = (x1, x2, ..., xn)
w = (w1, w2, ..., wn)
12
kv = (kv1, kv2, ..., kvn)
w=u+v
w = (u1 + v1, u2 + v2, ..., un + vn)
w=u-v
w = (u1 - v1, u2 - v2, ..., un - vn)
w
u
-v
u
v
w
u
v
w
u
13
inproduct
v  w  v w cos 
v
w
n
v  w   wi vi
i 1
14
lineaire scheidbaarheid
15
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
16
1 TLU trainen (2 inputs, 1 output)
•
•
•
x2
•
“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
x1
w1 dmv. error estimate (ti – yi)
w2
yi is de output die de TLU geeft
ti is wat de output zou moeten zijn
y
test set van patterns {pn + 1, ..., pm}
error op de test set is de prestatie maat
testen
na elk yepoch
a  gebeurt
wx
= 1 if a >= Θ
n
i 1
i
i
y = 0 if a < Θ
17
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
x1
w ∙ x = 0 decision hyperplane
w1
w2
x2
y
θ
-1
a
n
w x
i 1
i
i
y = 1 if a >= 0
Θ
y = 0 if a < 0
Θ
18
de gewichtsvector aanpassen
misclassificatie:
1. 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
2. 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
19
Perceptron Training Rule
w’ = w + αv
w’ = w – αv
t y
w’ = w + α(t – y)v
1 1
1 0
0 1
0 0
Δw = α(t – y)v
vector components
i = 1 t/m (n + 1):
w = (w1, w2, ..., wn, θ)
v = (v1, v2, ..., vn, -1)
Δwi = α(t – y)vi
20
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
.
21
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
22
klasses van elkaar scheidt.
bewezen door Rosenblatt (1962)
tabel 4.1 in het boek, logical AND operator
w1 w2 θ
x1
x2
a
y
t
α(t–y)
δw1 δw2 δ θ
0,0
0,4
0,3
0
0
0
0
0
0
0
0
0
0,0
0,4
0,3
0
1
0,4
1
0
-0,25
0
-0,25
0,25
0,0
0,15
0,55
1
0
0
0
0
0
0
0
0
0,0
0,15
0,55
1
1
0,15
0
1
0,25
0,25
0,25
-0,25
0,25
0,4
0,3
δwi = α(t – y)vi
where α = 0.25
x1
w1
x2
y
w2
-1
θ
n
a   wi xi
i 1
y = 1 if a >= 0
y = 0 if a < 0
23
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
24
het perceptron
25
26
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
27
28
29
neurale netwerken: modellen op een gewone
von Neumann computer...
black box:
30
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
31
volgende college
– Herhaling van vandaag
• TLUs, lineaire scheidbaarheid en vectoren
• TLUs trainen; de perceptron regel
– De delta regel
• boek: H3, H4 en H5
32
Download