Perceptrony o dużym marginesie błędu
Perceptrony o dużym marginesie błędu
Wykład 10
Włodzisław Duch
Katedra Informatyki Stosowanej UMK
Google: W. Duch
Co było
Co było
•
Perceptron jednowarstwowy.
•
Uczenie się perceptronów
Co będzie
Co będzie
•
Nieliniowa reguła delta
•
Adatron
Perceptron dla
Perceptron dla
M
M
klas
klas
Reguła uczenia perceptronu:
• skończona liczba kroków
• sensowna generalizacja
Granice decyzji perceptronu: dla klasy Ci wyjście gi(X)
Decyzja: maxi gi(X), więc na granicy gi(X)=gj(X)
Dla M klas jest M(M – 1)/2 granic; część jest redundantna. Obszary decyzyjne – zawsze wypukłe.
Klasa Ci, wymagane gi(X)= 1, gj(X)= 0
Niektóre obszary – niesklasyfikowane bo wszystkie gi(X)= 0 lub kilka gi(X)=1
Niestabilności
Niestabilności
Granice decyzji prostego perceptronu mogą się całkowicie zmienić pod wpływem jednego punktu, który odpowiada wartości odstającej.
Reguła delta - nieliniowa
Reguła delta - nieliniowa
Uczenie zgodne z regułą perceptronu: skoki, niestabilne granice. Błąd przy prezentacji pary (Xp,Yp) dla jednego perceptronu:
Funkcja błędu:
Szukamy minimum błędu ze względu na Wi
2
2 p p pY
pf
p
W
Y
f W X
W X
1
22
p pE
W
W
| p p p p pi I I p p i if
E
f I
X
W
W
I
W X
W
W
W
Reguła delta cd.
Reguła delta cd.
Poprawki do wag:
Dla funkcji logistycznej
Dla tangh
Przykłady działania takiej reguły w Neurosolutions: trening 10 perceptronów do rozpoznawania cyfr (każdy cyfra-reszta); efekty dodawania szumu do znaków – granice się poprawiają!
'
i p p pi p iE
W
f I
X
W
W
W
'1
f I
f I
f I
'1
1
22
f I
f
I
Adatron i maksymalizacja marginesu
Adatron i maksymalizacja marginesu
Cel: maksymalizacja odległości granicy decyzji od danych. Trening z szumem regularyzacji – prosty, ale kosztowny. Dla 2 klas i funkcji liniowej WX+b marginesy powinny być jak największe by zapewnić generalizację.
Znajdź wektor najbliższy granicy i wagi zwiększające margines.
arg min
min
max
i iD
b
D
W X X W WX
X
WX
X
Rozwiązanie:
• liniowe - AdatronMarginesy i hiperpłaszczyzny.
Odległość od hiperpłaszczyzny W.
Odległość od hiperpłaszczyzny W.
'
'
'
ed
W X
X
W
W X
Adatron: algorytm
Adatron: algorytm
Przyjmijmy (Xi,Yi), i=1 .. N, oraz Yi = ±1
Progowe neurony, f(X)=sgn(g(X;W,b)) = sgn(W·X+b)
Margines rośnie dla min ||W|| pod warunkiem poprawnej klasyfikacji.
( )
i i ig
X
X X
0 0, ,
0
, ,
0
0
N i i i i N i i iL
b
Y
L
b
Y
b
W
W
X
W
W
; ,
1,
1.. ; min
i iY g
X W
b
i
N
W
2
11
, ,
1 ,
0
2
N i i i i iL
b
Y
b
W
W
W X
Problem można sformułować jako minimalizację bez ograniczeń;
i = mnożniki Lagrange’a;
f. dyskryminująca jest liniową kombinacją iloczynów
Adatron: algorytm cd.
Adatron: algorytm cd.
Wstawiając za W i b poprzednie wartości Adatron minimalizuje:
1(
i)
i i i j j i j i;
min (
i)
i jh
Y g
Y
Y
bY
H
h
X
X
X X
X
1
( )
dla
ih
iH
X
(
1)
( )
( );
(
1)
( )
( )
i i i i ik
k
k
b k
b k
Y
k
1 1 11
( )
2
0;
0;
1..
i i i j j i j i i j i i i iJ
Y
Y
Y
i
N
α
X X
Zdefiniujmy pomocnicze funkcje (najpierw policzmy il. skalarne):
Algorytm iteracyjny: start = 0.1, mały próg
dodatkowe warunki
Jeśli i + i 0 to zmień
lub jeśli < 0 nic nie zmieniaj.
Sieciowa realizacja Adatronu
Sieciowa realizacja Adatronu
Wektory danych pamiętane są w węzłach jako wagi. Węzły obliczają iloczyny skalarne.
Wagi
i łączą z neuronem wyjściowym obliczającymg(x)
Efekt działania algorytmu: większość wsp. się zeruje, zostają niezerowe tylko przy wektorach granicznych.
Adatron – efekty
Adatron – efekty
• Tyko pary klas są rozróżniane;
• potrzeba m(m-1)/2 klasyfikatorów dla m klas, lub dla rozróżnienia 1-reszta tylko m.
• Wektory, dla których i >0 to wektory brzegowe (Support Vectors).
• Uczenie – na końcu procesu głównie w pobliżu granic decyzji.
• Złożoność O(n2) redukuje się do O(nsv2)
• Złożoność minimalizacji – eksponencjalna w N (wymiar wektora).
• Rezultaty podobne jak z perceptronem z gładką funkcja zamiast skokowej (znaku).
Uczenie na brzegach
Uczenie na brzegach
Dla algorytmu Adatron pozostają tylko wektory brzegowe.
Dla neuronów logicznych f. błędu zmienia się
skokowo.
Dla neuronów
sigmoidalnych o dużym nachyleniu największy gradient jest w pobliżu granicy decyzji.