Metody jądrowe
Marcin Orchel
1 Wstęp
Iloczyn skalarny między dwoma wektorami ~xi· ~xj zastępujemy
ϕ ( ~xi) · ϕ ( ~xj) (1)
gdzie ϕ jest przekształceniem nieliniowym z Rm do Rp. Możemy zdefiniować funkcję K taką, że
K ( ~xi, ~xj) = ϕ ( ~xi) · ϕ ( ~xj) (2) Pytanie, jak mamy daną jakąś funkcję K, czy możemy ją wyrazić w postaci jak wyżej?
Mówi o tym warunek Mercera.
Twierdzenie 1.1. Na to, by symetryczna funkcja K(~x, ~y) ∈ L2, ~x, ~y ∈ Rm miała roz- winięcie
K (~x, ~y) =
∞
X
k=1
akϕ (~x) ϕ (~y) (3)
gdzie ak > 0, potrzeba i wystarcza, aby dla dowolnej funkcji 0 6≡ f ∈ L2 był spełniony warunek
Z Z
K (~x, ~y) f (~x) f (~y) d~xd~y > 0 (4) Przykład: Mamy funkcję
K (~x, ~y) = (1 + ~x · ~y)2 (5) Dla dwóch wymiarów otrzymujemy
1 + 2x1y1+ 2x2u2+ x21y21+ x22y22+ 2x1x2y1y2= ϕ (~x) · ϕ (~y) (6) gdzie
ϕ (x) =1,
√ 2x1,
√ 2x2,
√
2x1x2, x21, x22 (7) A więc pomijając 1 mamy transformację do przestrzeni 5 wymiarowej. Ogólnie dla jądra wielomianowego stopnia q
K (~x, ~y) = (1 + ~x · ~y)q (8) przestrzeń po transformacji ma wymiarów
m + q p
!
− 1 (9)
1
1.1 Jądrowa analiza składowych głównych
Estymowaną macierz kowariancji dla wartości oczekiwanych zero możemy zapisać jako
Σ = 1
n − 1XTX = 1 n − 1
n
X
i=1
~
xix~iT (10)
Zastępujemy wektory funkcjami mapowania 1
n − 1
n
X
i=1
ϕ ( ~xi) ϕ ( ~xi)T (11)
Możemy to podstawić do równania na wektory własne 1
n − 1
n
X
i=1
ϕ ( ~xi) ϕ ( ~xi)Te~k= λke~k (12)
gdzie k przebiega od 1 do wymiarowości nowej przestrzeni. Możemy podzielić obie strony przez λk i zapisać prawą stronę jako
~ ek=
n
X
i=1
akiϕ ( ~xi) (13)
Po podstawieniu otrzymujemy 1
n − 1
n
X
i=1
ϕ ( ~xi) ϕ ( ~xi)T
n
X
m=1
akmϕ ( ~xm) = λk
n
X
i=1
akiϕ ( ~xi) (14)
Mnożymy obie strony lewostronnie przez ϕ( ~xl)T
ϕ( ~xl)T 1 n − 1
n
X
i=1
ϕ ( ~xi) ϕ ( ~xi)T
n
X
m=1
akmϕ ( ~xm) = ϕ( ~xl)Tλk n
X
i=1
akiϕ ( ~xi) (15)
Iloczyny skalarne zastępujemy funkcją jądrową K 1
n − 1
n
X
i=1
K ( ~xl, ~xi)
n
X
m=1
akmK ( ~xi, ~xm) = λk
n
X
i=1
akiK ( ~xl, ~xi) (16)
Możemy wziąść n równań dla l = 1, 2, . . . , n. A więc macierzowo możemy zapisać K2a~k= λk(n − 1) K ~ak (17)
K ~ak= λk(n − 1) ~ak (18)
gdzie K to macierz wartości funkcji jądrowych. Jest to zagadnienie własne macierzy K.
W inny sposób
n
X
i=1
K ( ~xl, ~xi)
n
X
m=1
akmK ( ~xi, ~xm) − (n − 1) λkaki
!
= 0 (19)
2
Wyrażenie pod nawiasem musi być równe 0 dla każdego i.
Dalej możemy nowe współrzędne uzyskać jako
ϕ (~x)T e~k=
n
X
i=1
akiK (~x, ~xi) . (20)
W metodzie PCA mieliśmy macierz kowariancji, a w powyższym problemie mamy macierz K.
Pytania
1. Jaką mają wymiarowość wektory własne i ile ich jest? Mamy dwa rodzaje wektorów własnych ~ek oraz ~ak. Wektory ~ek zgodnie ze wzorem (13) mają taką wymiarowość jak wektory ϕ( ~xi), a więc może nieskończoną. Liczba tych wektorów jest taka sama, a więc może być również nieskończona. Dla PCA mieliśmy wymiarowość wektorów własnych równą ilości współrzędnych wektorów wyjściowych, i było ich również tyle samo. Natomiast liczba wektorów własnych ~akjest tak sama jak liczba wektorów ~ek, a więc może być nieskończona. Natomiast wymiarowość ~akjest równa n. Bierzemy pod uwagę tylko te wektory ~ek, które mają niezerowe wartości własne.
2. Czy jest możliwe uzyskanie wartości wyjściowych punktów po przekształceniu do nowej przestrzeni i wyzerowaniu pozostałych wartości? Mamy m równań nielinio- wych, gdzie musimy znaleźć wartości wyjściowe punktu.
2 Zadania
2.1 Zadania na 3.0 Napisać skrypt w R, w którym:
• dla wygenerowanych danych dwuwymiarowych dla dwóch okręgów z dodanym błę- dem normalnym wyświetlić na wykresie dane treningowe oraz na osobnym wykresie nowe współrzędne. Pokazać jak redukcja wymiarowości może pomóc w klasteryza- cji.
• wyświetlić dla wybranej grupy zdjęć twarzy znalezione eigenfaces po redukcji wy- miarów
• wyświetlić początkowe wartości Yi dla wybranych twarzy Wskazówki do R
• https://cran.r-project.org/web/packages/kernlab/kernlab.pdf
• http://artax.karlin.mff.cuni.cz/r-help/library/kernlab/html/kpca.html
• http://ugrad.stat.ubc.ca/R/library/mlbench/html/mlbench.circle.html
3