Wst¦p do sieci neuronowych, wykªad 9 Analiza skªadowych gªównych
M. Czoków, J. Piersa
Faculty of Mathematics and Computer Science, Nicolaus Copernicus University, Toru«, Poland
2012-12-12
1 Sieci samoorganizuj¡ce si¦ typu Hebba Terminologia angielska
Reguªa Hebba Reguªa Oja
2 Analiza skªadowych gªównych IdeaAlgorytm
3 Analiza skªadowych niezale»nych*
IdeaUczenie
1 Sieci samoorganizuj¡ce si¦ typu Hebba Terminologia angielska
Reguªa Hebba Reguªa Oja
2 Analiza skªadowych gªównych IdeaAlgorytm
3 Analiza skªadowych niezale»nych*
IdeaUczenie
Terminologia angielska
W literaturze dotycz¡cej bie»¡cego tematu cz¦sto u»ywa si¦ wyra»e«
angielskoj¦zycznych zamiast polskoj¦zycznych. Terminy w j¦zyku angielskim dla tych wyra»e« pojawi¡ si¦ równie» na zaj¦ciach.
principal component skªadowa gªówna,
Principal Component Analysis (PCA) analiza skªadowych gªównych,
Reguªa Hebba 1949
Reguªa Hebba
Neurons, that re together, wire together.
Je±li neuron A jest cyklicznie pobudzany przez neuron B, to staje si¦
on jeszcze bardziej czuªy na pobudzenie tego neuronu.
Konsekwencj¡ stwierdzenia Hebba jest nast¦puj¡ca, dwucz¦±ciowa reguªa:
1 je»eli neurony A i B poª¡czone synaps¡ s¡ pobudzone jednocze±nie, to poª¡czenie synaptyczne je ª¡cz¡ce jest wzmacniane,
2 je»eli neurony A i B poª¡czone synaps¡ s¡ pobudzone
Reguªa Hebba 1949
Zmiana wag poª¡czenia pomi¦dzy neuronem A i B wedªug reguªy Hebba przebiega w nast¦puj¡cy sposób:
wAB(k+1)=wAB(k)+ ηyA(k)yB(k), gdzie:
wAB waga poª¡czenia synaptycznego pomi¦dzy neuronem A i B,
yA stan aktywacji neuronu A, yB stan aktywacji neuronu B, η wspóªczynnik uczenia.
Prosta reguªa Hebba
Dla danego zestawu przykªadów (x(n))Nn=1, gdzie
x(n)= (x1(n), ...,xk(n)), b¦dziemy uczyli perceptron liniowy, by zwracaª
najistotniejsz¡ cech¦ badanych elementów (cech¦ dyskryminuj¡c¡).
Da to skªadnik gªówny zestawu przykªadów: wektor w taki, »e:
∆(w) =X
n
hx(n),wi2
jest maksymalizowany w±ród wszystkich wektorów o dªugo±ci w (zatem skªadnik gªówny jest kierunkiem, a nie wektorem, jednoznaczno±¢ uzyskuj¦ si¦ przez normalizacj¦).
Prosta reguªa Hebba
Na nast¦pnym slajdzie przyj¦te zostaªy oznaczenia:
zestaw przykªadów ucz¡cych (x(n))Nn=1 (na pomara«czowo), skªadnik gªówny wektor maksymalizuj¡cy ∆ (na zielono), wektor minimalizuj¡cy ∆ (na oletowo),
przykªadowy wektor w, dla którego obliczone jest wyra»enie
∆(w) (na niebiesko).
Prosta reguªa Hebba
-1 -0.5 0 0.5
1 (w)=1.997
Prosta reguªa Hebba
Prosta Reguªa Hebba wzmacnia wyj±cie y perceptronu dla ka»dego kolejno wystepuj¡cego wej±cia, a wi¦c cz¦ste wzorce wej±ciowe b¦d¡
miaªy decyduj¡cy wpªyw na wyj±cie i b¦d¡ wywoªywa¢ najwi¦ksze aktywacje, natomiast rzadkie wej±cia b¦d¡ miaªy maªy wpªyw na wyj±cia i b¦d¡ wywoªywa¢ najmniejsze aktywacje.
Prosta reguªa Hebba - algorytm
1 losujemy wektor wag,
2 wybieramy przykªad x,
3 w := w + ηyx, gdzie y jest aktywacj¡
w odpowiedzi na x, natomiast η dodatnim wspóªczynnikiem uczenia,
4 wracamy do 2,
yx
x
wnew
wold
Prosta reguªa Hebba - wady
x5
x1
x3 x4
x2
x6
w(1)
w(5) w(3)
w(2)
w(6) w(4)
Reguªa Hebba prowadzi do niekontrolowanego wzrostu dªugo±ci wektora wag.
Reguªa Oja
Reguªa Oja jest modykacj¡ reguªy Hebba. Dzi¦ki niej wektor wag jest korygowany tak, »eby jego dªugo±¢ oscylowaªa wokóª 1.
Modykacja polega na dodaniu do reguªy Hebba wyrazu zanikania wagi proporcjonalnego do kwadratu aktywacji neuronu.
w := w + ηy(x − yw)
Reguªa Oja
x5 x1
x3
x4 x2
x6
w(1) w(5) w(3) w(2)
w(6) w(4)
Przypadek pierwszy
Wektor wag dªu»szy od 1 (hw, wi > 1).
Niech hx, wi > 0, to znaczy, »e mi¦dzy wektorami x i w jest k¡t ostry.
Iloczyn skalarny wektorów x − yw oraz w jest mniejszy od 0, co ªatwo udowodni¢:
h(x − yw), wi = h(x − hx, wiw), wi = hx, wi − hhx, wiw, wi =
= hx, wi − hx, wihw, wi = hx, wi(1 − hw, wi) < 0 Zatem k¡t mi¦dzy tymi wektorami jest rozwarty.
Przypadek pierwszy
K¡t mi¦dzy wektorem x − yw = x − hw, xiw oraz w jest rozwarty.
1
1 x,w w
- x,w w w
x
x- x,w w
<
<
<
>
>
>
Przypadek pierwszy
Skoro k¡t mi¦dzy wektorami x − yw oraz w jest rozwarty, to wektor x − yw jest sum¡ wektorów:
prostopadªego do wektora w, skierowanego w kierunku wektora x, wektor ten spowoduje przybli»enie wag do przykªadu ucz¡cego, o kierunku przeciwnym do wektora wag, wektor ten spowoduje skrócenie wektora wag, dzi¦ki odpowiednio maªemu
wspóªczynnikowi uczenia η, wektor wag w wyniku modykacji nie stanie si¦ za maªy oraz nie zmieni kierunku.
Przypadek pierwszy
1
1 x,w w
- x,w w w
x
x- x,w w
>
>
< >
<
<
Przypadek drugi
Wektor wag krótszy od 1 (hw, wi < 1).
Niech hx, wi > 0, to znaczy, »e k¡t mi¦dzy wektorami x i w jest ostry.
Iloczyn skalarny wektorów x − yw oraz w jest wi¦kszy od 0, co ªatwo udowodni¢:
h(x − yw), wi = h(x − hx, wiw), wi = hx, wi − hhx, wiw, wi =
= hx, wi − hx, wihw, wi = hx, wi(1 − hw, wi) > 0 Zatem k¡t mi¦dzy tymi wektorami jest ostry.
Przypadek drugi
K¡t mi¦dzy wektorem x − yw = x − hw, xiw oraz w jest ostry.
x- x,w w - x,w w
w x,w w x
1
1
>
> >
< <
<
Przypadek drugi
Skoro k¡t mi¦dzy wektorami x − yw oraz w jest ostry, to wektor x − yw jest sum¡ wektorów:
prostopadªego do wektora w, skierowanego w kierunku wektora x, wektor ten spowoduje przybli»enie wag do przykªadu ucz¡cego, o tym samym kierunku co wektor wag, wektor ten spowoduje wydªu»enie wektora wag, dzi¦ki odpowiednio maªemu
wspóªczynnikowi uczenia η, wektor wag w wyniku modykacji nie stanie si¦ zbyt dªugi.
Przypadek drugi
-0.5 0 0.5 1
-1 -0.5 0 0.5 1 1.5
x- x,w w - x,w w w
x,w w x 1
1
>
> >
<
< <
kliknij
Wªasno±ci reguªy Oja
Stabilny proces uczenia wymaga, aby po dªugim czasie uczenia, warto±¢ oczekiwana zmian wag w liczona wzgl¦dem rozkªadu próbek x wynosiªa 0.
E[∆w] = 1 N
N
X
n=1
∆w(n)= 1 N
N
X
n=1
ηy(n)(x(n)−y(n)w) = 0
E[∆w] = η1 N
N
X
n=1
(y(n)x(n)− (y(n))2w) = 0
E[∆w] = η1 N
N
X
n=1
(wtx(n)x(n)− (y(n))2w) = 0
Wªasno±ci reguªy Oja
Otrzymali±my zale»no±¢:
E[∆w] = η1 N
XN n=1
(x(n)(x(n))tw − (y(n))2w) = 0.
Oznaczmy przez C symetryczn¡ macierz postaci:
XN n=1
x(n)(x(n))t (Cij = XN n=1
xi(n)xj(n)).
Wªasno±ci reguªy Oja
Zatem otrzymany wzór:
E[∆w] = η1 N
XN n=1
(x(n)(x(n))tw − (y(n))2w) = 0 mo»emy zapisa¢ w nast¦puj¡cy sposób:
η1
N(Cw −XN
n=1
(y(n))2w) = 0,
η1
N(Cw − λw) = 0, Cw = λw.
Macierz C
Niech xi b¦dzie warto±ci¡ ±redni¡ zbioru przykªadów wej±ciowych dla i-tej zmiennej, czyli:
xi := 1 N
XN n=1
xi(n).
Macierz C
Je»eli w wyniku preprocesingu (wst¦pnej obróbki danych) warto±¢
±rednia liczona po zbiorze przykªadów wynosi 0, czyli wszystkie wektory wej±ciowe zostaªy przeksztaªcone za pomoc¡ wzoru:
xi(n):=xi(n)−xi, to N−11 C jest macierz¡ kowariancji dla przykªadów.
Wªasno±ci reguªy Oja - podsumowanie
1 dªugo±¢ wektora wag jest bliska 1,
2 kierunek wektora wag le»y wzdªu» kierunku wektora wªasnego, macierzy C zbioru wzorców wej±ciowych, posiadaj¡cego warto±¢
wªasn¡ o najwi¦kszej bezwzgl¦dnej warto±ci,
3 wektor wag maksymalizuje PNn=1(y(n))2,
1 Sieci samoorganizuj¡ce si¦ typu Hebba Terminologia angielska
Reguªa Hebba Reguªa Oja
2 Analiza skªadowych gªównych IdeaAlgorytm
3 Analiza skªadowych niezale»nych*
IdeaUczenie
Metoda skªadowych gªównych (PCA)
1 Celem jest znalezienie m wektorów ortogonalnych w
k−wymiarowej (k ≥ m) przestrzeni danych, które wpªywaj¡ w jak najwi¦kszym stopniu na wariancj¦ danych.
2 Rzut danych z przestrzeni k-wymiarowej na m-wymiarow¡
podprzestrze« rozpi¦t¡ przez te wektory umo»liwia otrzymanie redukcji wymiarowo±ci.
3 Przyjmuje si¦, »e dla danych o zerowej warto±ci ±redniej pierwsza skªadowa gªówna le»y wzdªu» kierunku maksymalnej wariancji.
Druga skªadowa gªówna jest ograniczona do podprzestrzeni prostopadªej do skªadowej pierwszej i le»y wzdªu» kierunku maksymalnej wariancji tej podprzestrzeni.
Wyznaczanie kolejnych skªadowych gªównych
Jak wyznaczy¢ m kolejnych skªadowych gªównych o najwi¦kszych wariancjach?
Zaªo»enia:
mamy dany zestaw przykªadów ucz¡cych (x(n))Nn=1 o zerowej warto±ci ±redniej
m to liczba skªadowych gªównych, które chcemy znale¹¢.
Wyznaczanie kolejnych skªadowych gªównych
1 (x1(n))Nn=1:= (x(n))Nn=1
2 dla l od 1 do m wykonaj:
1 znajd¹ skªadow¡ gªówn¡ dla zbioru przykªadów ucz¡cych (xl(n))Nn=1za pomoc¡ algorytmu Oja i zapami¦taj j¡ jako wl,
2 zrzutuj przykªady ucz¡ce na podprzestrze« prostopadª¡ do znalezionej skªadowej gªównej:
xl+1(n) :=xl(n)−wlhwl,xl(n)i hwl,wli ,
Rzutowanie danych na PC
Znalezione skªadowe gªówne rozpinaj¡ przestrze« m wymiarow¡.
Oznaczmy przez x{m} przykªad x zrzutowany na t¦ przestrze«. Dane z przestrzeni k wymiarowej mo»na zrzutowa¢ na t¦ przestrze« za pomoc¡ wzoru:
x{(n)m}:=
Xm l=1
wlhwl,x(n)i hwl,wli .
Przykªadowe etapy algorytmu
-8 -6 -4 -2 0 2 4 6 8 -8-6-4-202468 -8
-6 -4 -2 0 2 4 6 8
kliknij
Zestaw przykªadów ucz¡cych.
Przykªadowe etapy algorytmu
-8 -6 -4 -2 0 2 4 6 8 -8-6-4-202468 -8
-6 -4 -2 0 2 4 6 8
kliknij
Przykªadowe etapy algorytmu
-8 -6 -4 -2 0 2 4 6 8 -8-6-4-202468 -8
-6 -4 -2 0 2 4 6 8
kliknij
Na niebiesko zaznaczony jest zestaw przykªadów ucz¡cych zrzutowanych na podprzestrze« prostopadª¡ do w1, na oletowo druga skªadowa gªówna w2.
Przykªadowe etapy algorytmu
-8 -6 -4 -2 0 2 4 6 8 -8-6-4-202468 -8
-6 -4 -2 0 2 4 6 8
kliknij
Przykªadowe etapy algorytmu
-8 -6 -4 -2 0 2 4 6 8 -8-6-4-202468 -8
-6 -4 -2 0 2 4 6 8
kliknij
Na pomara«czowo zaznaczony jest zestaw przykªadów ucz¡cych zrzutowany na podprzestrze« rozpi¦t¡ przez w1.
Przykªadowe etapy algorytmu
-8 -6 -4 -2 0 2 4 6 8 -8-6-4-202468 -8
-6 -4 -2 0 2 4 6 8
kliknij
Przykªadowe dane
Wektor x(n) zrzutowany na podprzestrze« rozpi¦t¡ przez kolejne m skªadowych gªównych ma posta¢:
x{(n)m}:=
Xm l=1
wlhwl,x(n)i hwl,wli . Zatem kolejne wspóªczynniki postaci √hwl,x(n)i
hwl,wli dla l = 1..m, s¡
ukªadem wspóªrz¦dnych wektora x(n) w bazie W = {w1,w2, ...,wm}.
Dobór liczby skªadowych gªównych
Kierunek l-tej skªadowej gªównej pokrywa si¦ z kierunkiem wektora wªasnego odpowiadaj¡cego l-tej co do bezwzgl¦dnej wielko±ci warto±ci wªasnej macierzy C.
Dla danych o zerowej warto±ci ±redniej warto±ci wªasne reprezentuj¡ wariancje skªadowych gªównych.
Je»eli suma wariancji dla m kolejnych skªadowych gªównych stanowi 90% sumy wariancji dla wszystkich skªadowych gªównych, to wynika st¡d, »e m jest odpowiedni¡ liczb¡
skªadowych do odtworzenia danych wej±ciowych.
1 Sieci samoorganizuj¡ce si¦ typu Hebba Terminologia angielska
Reguªa Hebba Reguªa Oja
2 Analiza skªadowych gªównych IdeaAlgorytm
3 Analiza skªadowych niezale»nych*
IdeaUczenie
Problem
Analiza skªadowych gªównych poszukuje w przestrzeni cech kierunki, które dla zadanej liczby skªadwych usyzkuj¡ najmniesz¡ sum¦
kwadratów bª¦dów po wszystkich przykªadach.
Analiza skªadowych niezale»nych poszukuje kierunków, które s¡ jak najbardziej niezale»ne od siebie.
Problem
Analiza skªadowych niezale»nych (Independent Components Analysis, ICA) to jedno z okre±le« dla metod rozwi¡zywania problemu tzw.
±lepej separacji ¹ródeª (blind source separation, BSS).
Problem
Przyj¦ty model zakªada, »e dysponujemy danymi
x(t) = [x1(t), x2(t), ..., xm(t)]T (t oznacza moment w czasie), które s¡ liniow¡ mieszanin¡ statystycznie niezale»nych sygnaªów
s(t) = [s1(t), s2(t), ..., sn(t)]T (musi zachodzi¢ m ≥ n, w naszych rozwa»aniach zakªadamy n = m)
x(t) = As(t),
gdzie A ∈ Rm×n jest nieznan¡ macierz¡ mieszaj¡c¡.
Szukamy macierzy separuj¡cej W ∈ Rn×m, takiej, »e wektor sygnaªów y(t) = Wx(t),
Preprocesing
Przetwarzanie wst¦pne polega cz¦sto na
1 centralizacji danych
2 obrocie diagonalizuj¡cym macierz kowariancji (zwykle PCA)
Konstrukcja sieci
1 sie¢ skªada si¦ z warstwy wej±ciowej i wyj±ciowej
2 warstw¦ wej±ciow¡ stanowi m jednostek, których warto±¢
zdeterminowana jest przez wektor x(t)
3 warstwa wyj±ciowa skªada si¦ z n (w naszym przypadku n = m) jednostek o sigmoidalnych funkcjach aktywacji g(y) = 1+e1−y
Reguªa uczenia
Wagi s¡ modykowane za pomoc¡ nast¦puj¡cej reguªy
∆W ∝ [WT]−1+ (1 − 2g(y))xT