8. Adaline
8-1 Adaline
8-2 Minimalizacja kosztu
8-3 Rekurencyjny algorytm LS (filtr Kalmana)
8-4 Algorytm µ-najmniejszych średnich kwadratów (µ-LMS) 8-5 Algorytm rzutowania Kaczmarza
8-6 Normalizowane Najmniejsze Średnie Kwadraty (NLMS) 8-7 Algorytm α-Najmniejszych Średnich Kwadratów (α-LMS)
Adaline
• ADAptive LInear NEuron
• ADAptive LINear Element
• współczesne perceptrony wielowarstwowe
perceptron Rosenblatta −→ struktura sieci Adaline −→ algorytmy uczenia
liniowe wyjście sieci (trening wag) y(t) = w(t)Tu(t)
binarne wyjście sieci (klasyfikacja) yB(t) = sign w(t)Tu(t)
odchyłka ε(t) = y∗(t) − y(t) = y∗(t) − w(t)Tu(t)
• średnia Ax = x = N i=1 xi
średnia w chwili t za ostatnich N chwil ANx(t) = N1 Pt
j=t−N +1 x(j)
• błąd średniokwadratowy (MSE) sieci (dla jednowymiarowego wyjścia) Q(t) =b 1
2 AN|y∗(t) − wTu(t)|2
= 1
2 ANy∗2(t) − wTAN u(t) y∗(t) + 1
2 wTAN u(t) uT(t) w
• gradient i hessian d bQ(t)
dw = −AN u(t) y∗(t)
+ AN u(t) u(t)T
w = −AN u(t) ε(t) d2Q(t)b
dw dwT = AN u(t) u(t)T
• wagi optymalne minimalizują błąd średniokwadratowy w∗ =
A u(t) u(t)T−1
A u(t) y∗(t)
= bR (t)−1 Rb (t)
Rekurencyjny algorytm LS (filtr Kalmana)
• aktualizacja wag
w(t) = w(t − 1) + P(t) u(t) ε(t)
• aktualizacja wzmocnień
P(t) = P(t − 1) − P(t − 1) u(t) uT(t) P(t − 1) 1 + uT(t) P(t − 1) u(t)
• warunki początkowe w(0) = 0
P(0) = σ2I, σ2 dostatecznie duże
(µ-LMS)
• metoda największego spadku
w(t) = w(t − 1) − µ d bQ(t)
dw = w(t − 1) + µ AN u(t) ε(t)
• µ-LMS: długość okna N = 1
w(t) = w(t − 1) + µ u(t) ε(t)
• jeśli obrazy są niezależne o macierzy kowariancji Ru to – średnie wagi Ew(t) zbieżne jeżeli
0 < µ ≤ 2
max(eig(Ru))
– błąd średniokwadratowy E|ε(t)|2 zbieżny (warunek silniejszy) jeśli
Algorytm rzutowania Kaczmarza
• w(t) = wref — dotychczasowa waga, w(t + 1) = w, y∗ – pożądane wyjście
• minimalizować Q = 12 kw − wrefk2 przy ograniczeniach y∗ = wTu
• funkcja Lagrange’a
L(w, β) = Q(w) + β (y∗ − wTu)
• warunek konieczny optymalności dL
dw = w − wref − β u = 0 dL
dβ = y∗ − wTu = 0
=⇒ βkuk2 = y∗ − wrefT u = ε
• algorytm Kaczmarza
∆w(t) = w − wref =
1
ku(t)k2 u(t) ε(t) jeśli ku(t)k 6= 0
0 w przeciwnym przypadku
Normalizowane Najmniejsze Średnie Kwadraty (NLMS)
• modyfikacja algorytmu Kaczmarza w(t + 1) = w(t) + 1
c + ku(t)k2 u(t) ε(t)
• suma normalizowana Xn
t=1
|ε(t)|2
c + ku(t)k2 → a, a < ∞
• błąd średniokwadratowy wag
kw(t) − w∗(t)k → b, b ≥ 0
Algorytm α-Najmniejszych Średnich Kwadratów (α-LMS)
• korekcja wag
w(t + 1) − w(t) = α 1
ku(t)k2 u(t) ε(t)
• zmiana wyjścia
y+(t) − y(t) = w(t+) − w(t)T
u(t) = α ε(t)
• zmiana odchyłki wyjścia
ε+(t) − ε(t) = −α ε(t)
• współczynnik kroku α ∈ (0, 2); sugerowane [0.1, 1]
• skalowanie u′ = kuku , y′ = kuky , yo′ = kukyo prowadzi do µ-LMS
• dla symetrycznych sygnałów binarnych algorytmy LMS identyczne