drapanie ass

Transkrypt

drapanie ass
Ekstrakcja cech
• Wprowadzenie
• Metody ekstrakcji cech
•
PCA (Principal Component Analysis) – Analiza składowych
głównych
•
LDA (Linear Discriminant Analysis) – Liniowa analiza
dyskryminacyjna
•
MDS (Multidimensional Scaling) – Skalowanie wielowymiarowe
• Przykład zastosowania
2
Wprowadzenie
•
Cel ekstrakcji: znaleźć transformację prowadzącą do
takich cech, dla których zadanie selekcji cech jest
łatwiejsze
•
określić transformację p pomiarów i dokonać selekcji cech w
transformowanej przestrzeni
x1
Selekcja cech
x1
f(x)
xp
Ekstrakcja
cech
y1
f(x1,…, xp)
y2
xp
Statistical Pattern Recognition, Chapter 9
3
• Korzyści
• uproszczenie klasyfikatora (klątwa wymiarowości)
• zwiększenie jakości klasyfikacji i zdolności
„uogólniania”
• pozbycie się mało istotnej informacji
• ułatwienie graficznej wizualizacji zbioru danych
Statistical Pattern Recognition, Chapter 9
4
•
Określenia kryterium jakości ekstrakcji J prowadzi do
zadań optymalizacji:
•
Ekstrakcja cech: dla ustalonej klasy transformacji szukamy takiej
()
~
transformacji A, dla której J A = max J ( A(x) ) ,
A∈A
gdzie A jest
zbiorem wszystkich możliwych transformacji dla przyjętej klasy.
Wektorem cech jest wówczas wektor
~
y = A ( x)
Jeżeli transformacja jest liniowa, to y = A x
T
Statistical Pattern Recognition, Chapter 9
5
•
Wyróżnić można dwie grupy kryteriów stosowanych przy
opracowywaniu metod ekstrakcji cech:
•
Reprezentacja danych: celem ekstrakcji jest utworzenie dokładnej
reprezentacji próbek w przestrzeni o zredukowanej liczbie
wymiarów
•
Klasyfikacja: celem ekstrakcji jest podkreślenie informacji
pozwalającej odseparować próbki pochodzące z różnych klas
Statistical Pattern Recognition, Chapter 9
6
Metody ekstrakcji cech
Sformułowanie problemu
•
Dane
• zbiór p-wymiarowych wektorów cech
• kryterium jakości ekstrakcji (ocena zdolności do reprezentacji
danych w transformowanej przestrzeni lub ocena
separowalności)
•
Szukane: najlepsza (w sensie przyjętego kryterium)
transformacja przestrzeni cech
Statistical Pattern Recognition, Chapter 9
7
•
Przykład transformacji
x2: waga
x1: wzrost
Statistical Pattern Recognition, Chapter 9
8
Ekstrakcja cech
PCA – Principal Component Analysis
•
•
•
Liniowa transformacja cech
Obrót układu współrzędnych
Uporządkowanie nowych cech („składowych głównych”) ze
względu na wariancję wzdłuż związanych z nimi osi
•
Nowe cechy są kombinacją liniową oryginalnych cech i mogą nie
mieć bezpośredniej interpretacji
•
Ewentualna informacja o klasach / grupach nie jest brana pod
uwagę
Statistical Pattern Recognition, Chapter 9
9
PCA – Principal Component Analysis
•
Dane są projektowane na przestrzeń rozpiętą na zmienionych
osiach układu współrzędnych
•
•
Osie nowego układu współrzędnych są ortogonalne
Nowy układ współrzędnych ma początek w punkcie ciężkości
zbioru danych pomiarowych
•
Skala na poszczególnych osiach jest wyrażona w jednostkach
będących odchyleniami standardowymi oryginalnych danych
wzdłuż tych osi
•
Kierunki kolejnych osi są tak dobierane, aby maksymalizować
wariancję projektowanych na nie danych (wyjątkiem jest ostatnia
oś, której kierunek jest zdeterminowany przez pozostałe osie)
Statistical Pattern Recognition, Chapter 9
10
PCA – Principal Component Analysis
•
Pierwsza „składowa główna” to kierunek zadany przez prostą, dla
której suma kwadratów odległości od danych pomiarowych (czyli
wariancja) jest minimalna
x2
Minimalizacja wariancji
w kierunku prostopadłym
do prostej = maksymalizacja
wariancji wzdłuż tej prostej
•
x1
Druga składowa główna jest prostopadła do pierwszej składowej
głównej i razem z nią tworzy płaszczyznę najlepiej aproksymującą
(w sensie minimum wariancji) dane pomiarowe
Statistical Pattern Recognition, Chapter 9
11
PCA – Principal Component Analysis
•
•
Kolejne składowe główne są zdefiniowane w podobny sposób
Ostatnia składowa główna jest określona jednoznacznie przez
poprzednie składowe, gdyż musi być do nich ortogonalna.
y2
x2
y2
y1
x1
PCA
y1
Statistical Pattern Recognition, Chapter 9
12
PCA – Principal Component Analysis
Zestaw oryginalnych cech: x1 , x2 , … , xp
Kombinacje liniowe cech: y1 , y2 , … , yp
p
y = ∑ aij x j
j =1
lub macierzowo
y = AT x
gdzie x i y to wektory zmiennych losowych, A jest macierzą współczynników
Szukamy takiej macierzy ortogonalnej transformacji A, które daje optymalne
wartości wariancji kolejnych zmiennych yj
Statistical Pattern Recognition, Chapter 9
13
PCA – Principal Component Analysis
Rozpoczynamy analizę od pierwszej składowej głównej y1 :
p
y1 = ∑ a1 j x j
j =1
[
Należy wyznaczyć wektor a1 = a11
a12  a1 p
]
T
maksymalizujący
wariancję zmiennej y1 , przy czym dla jednoznaczności rozwiązania
przyjmujemy, że a1
2
= a1T a1 = 1 .
[ ]
[
] [ ][ ]
= a (E[xx ]− E[x]E[x ] )a = a Σa = var ( y )
var ( y1 ) = E y 12 − E[ y1 ] = E a1T xxT a1 − E a1T x E xT a1 =
2
T
1
T
T
1
T
1
1
1
Statistical Pattern Recognition, Chapter 9
14
PCA – Principal Component Analysis
Maksymalizacja wariancji przy ograniczeniu na normę wektora a
prowadzi do zadania optymalizacji z ograniczeniami. Zgodnie z metodą
Lagrange’a:
L (a1 ) = a1T Σa1 − λ a1T a1
Po różniczkowaniu ze względu na a1 i przyrównaniu do zera otrzymujemy:
Σa1 − λ a1 = 0
Σa1 = λ a1
Wynika z tego, że a1 musi być wektorem własnym macierzy Σ z wartością
własną równą λ .
Statistical Pattern Recognition, Chapter 9
15
PCA – Principal Component Analysis
Ponadto, maksymalizacja wariancji zmiennej y1
{
}
{
}
max a1T Σ a1 = max λ a1T a1 = max λ
sprowadza się do wybrania wektora własnego a1, któremu odpowiada
największa wartość własna macierzy Σ. Wybór wektora własnego jest
jednoznaczny, jeżeli wartość własna λ nie jest wielokrotnym pierwiastkiem
równania charakterystycznego:
Σ − λI = 0
Oznaczmy przez λ1 wartość własną związaną z pierwszą składową główną y1
Statistical Pattern Recognition, Chapter 9
16
PCA – Principal Component Analysis
T
=
y
a
Drugą składową główną 2
otrzymujemy maksymalizując – jak
2x
poprzednio – wariancję zmiennej y2 przy ograniczeniu na normę składowej
a2
2
= aT2 a 2 = 1 oraz dodatkowo wymagając, aby składowa y2 nie była
skorelowana z y1 :
E[ y2 y1 ] − E[ y2 ]E[ y1 ] = 0 ,
co jest równoważne z a 2 Σa1 = 0 .
T
Ze względu na fakt, że a1 jest wektorem własnym macierzy Σ , to również
a2 jest ortogonalne do a1 :
aT2 a1 = 0
Statistical Pattern Recognition, Chapter 9
17
PCA – Principal Component Analysis
Zgodnie z metodą Lagrange’a:
L (a 2 ) = aT2 Σa 2 − λ aT2 a 2 − η aT2 a1
Po różniczkowaniu ze względu na a2 i przyrównaniu do zera otrzymujemy:
2 Σa 2 − 2λ a 2 − η a1 = 0
Mnożenie obustronne przez a1T daje:
2a1T Σa 2 − 2λ a1T a 2 − η a1T a1 = 0
η a1T a1 = 0
Z powyższego wynika, że η = 0 .
Statistical Pattern Recognition, Chapter 9
18
PCA – Principal Component Analysis
Pochodna funkcji Lagrange’a przyjmuje postać:
2 Σa 2 − 2λ a 2 = 0
Σa 2 = λ a 2
Wynika z tego, że a2 jest wektorem własnym macierzy Σ i – analogicznie jak
poprzednio – odpowiadająca mu wartość własna λ jest największą spośród
pozostałych wartości własnych.
Statistical Pattern Recognition, Chapter 9
19
PCA – Principal Component Analysis
•
Podsumowując, procedura wyznaczania składowych głównych
składa się z następujących kroków:
1) Rozkład macierzy kowariancji Σ na wektory własne i obliczenie
odpowiadających im wartości własnych
2) Uporządkowanie wektorów własnych zgodnie z malejącymi
wartościami własnymi: a1, a2 , … , ap ; λ1 ≥ λ2 ≥ … ≥ λp
3) Utworzenie macierzy transformacji
[
A = a1 a 2  a p
]
Statistical Pattern Recognition, Chapter 9
20
PCA – Principal Component Analysis
•
Macierz transformacji jest wykorzystywana przy projekcji danych z
przestrzeni oryginalnych cech na przestrzeń składowych głównych:
y = AT x
•
Powyższe równanie przypisuje zaobserwowanemu losowemu
wektorowi x składowe główne y. Na ogół, wartość oczekiwana y jest
różna od zera. Aby była ona równa zeru, projekcja powinna zostać
zdefiniowana jako:
y = A T (x − μ ),
gdzie μ jest wartością oczekiwaną x. W praktyce, w miejsce μ stosuje
się średnią m z próby.
Statistical Pattern Recognition, Chapter 9
21
PCA – Principal Component Analysis
1
•
Ilość wariancji
uwzględnionej przez
Uwzględniona
wariancja
0,9
k pierwszych
0,8
0,7
0,6
0,5
0,4
0,3
0,2
0,1
0
0
składowych
10
20
30
40
50
40
50
wektor własny
głównych jest równa:
180
p
k
∑λ ∑λ
i =1
i
i =1
i
Przykładowe dane
wartość własna
160
140
120
100
80
60
40
20
0
0
10
20
30
wektor własny
22
PCA – Principal Component Analysis
•
Selekcja cech w transformowanej przestrzeni: spośród p składowych
głównych wybrać d takich, które uwzględniają najwięcej wariancji
•
Macierz transformacji ograniczy się do d pierwszych wektorów
własnych (wymiar macierzy transformacji to p x d):
A d = [a1 a 2  a d ]
•
Projekcja do zredukowanej przestrzeni ma postać:
y d = A Td x
lub
y d = A Td (x − μ )
Statistical Pattern Recognition, Chapter 9
23
PCA – Principal Component Analysis
•
Projekcja wstecz z transformowanej przestrzeni do oryginalnej ma
postać:
•
( )
x= A
T −1
−1
y +μ
Jeżeli A jest macierzą symetryczną (AT= A-1), wówczas projekcja
przyjmuje postać:
•
( )
y lub x = A T
x = Ay
lub
x = Ay + μ
Jeżeli dodatkowo nastąpiła redukcja wymiaru, to projekcję można
zapisać jako: x d = A d y d + μ
•
Jeżeli wstawimy do powyższego wzoru w miejsce yd odpowiednie
wyrażenie na projekcję, to otrzymamy:
x d = A d A Td (x − μ ) + μ
Statistical Pattern Recognition, Chapter 9
24
PCA – Principal Component Analysis
•
•
Składowe główne zależą od skali (jednostki)!
Przed przystąpieniem do analizy można ustandaryzować dane
pomiarowe taki sposób, aby wartości cech miały podobne zakresy
•
Typową metodą standaryzacji jest przesunięcie wartości średniej do
zera oraz unormowanie wariancji do jedności. Wówczas składowe
główna można wyznaczyć na podstawie macierzy korelacji.
Statistical Pattern Recognition, Chapter 9
25
PCA – Principal Component Analysis
•
Zadanie: wyznaczyć składowe główne dla dwuwymiarowego zbioru:
X={ (1,2), (3,3), (3,5), (5,4), (5,6), (6,5), (8,7), (9,8) }
•
Rozwiązanie:
6.25 4.25
Σ=

4.25 3.5 
•
Macierz kowariancji:
•
Wartości własne są rozwiązaniami równania charakterystycznego:
Σ − λI = 0 ⇒
•
6.25 − λ
4.25
λ = 9.34
4.25
=0 ⇒ 1
λ2 = 0.41
3.5 − λ
Wektory własne są rozwiązaniami układu:
 a11   0.81
6.25 4.25  a11  λ1a11 
=
⇒
a  = 0.59
4.25 3.5  a  λ a 

  12   1 12 

 12  
 a21  − 0.59
6.25 4.25  a21   λ2 a21 
4.25 3.5  a  = λ a  ⇒ a  =  0.81 

  22   2 22 

 22  
Statistical Pattern Recognition, Chapter 9
26
LDA – Linear Discriminant Analysis
•
Celem transformacji jest podkreślenie informacji pozwalającej
odseparować próbki pochodzące z różnych klas
x2
•
Informacja o przynależności do klas jest brana pod uwagę
2 2 2
22 2 2
2 22
2
22 2 2
1
2
2 2
2
2
11 1 11
11 1 1
1
1
1 1 11
11 1
1 11
x1
Statistical Pattern Recognition, Chapter 9
27
LDA – Linear Discriminant Analysis
• Przypadek z dwiema klasami
• n1 próbek należy do klasy ω1, n2 próbek należy do klasy ω2
( n1 + n 2 = n )
{[x
i1
xi 2  xip
]}
T
• Szukamy takiego kierunku a, na który będziemy rzutować
dane pomiarowe:
y = aT x
[
x i = xi1
xi 2  xip
]
T
wymagając, aby po zrzutowaniu dane pochodzące z różnych
klas były od siebie jak najbardziej odseparowane.
Statistical Pattern Recognition, Chapter 9
28
LDA – Linear Discriminant Analysis
•
Przykład w dwuwymiarowej przestrzeni cech
x2
x2
µ~ j =
1
nj
∑ yi =
y∈ω j ,i
1
nj
∑ω a
y∈
T
x i = aT μ j
j ,i
µ~
μ
μj =
x1
1
nj
x
∑
ω
x∈
i
j ,i
x1
Statistical Pattern Recognition, Chapter 9
29
LDA – Linear Discriminant Analysis
•
Jak mierzyć separowalność klas dla danych rzutowanych na
kierunek a ?
•
Propozycja: mierzyć odległość między średnimi po projekcji:
J (a ) = µ~1 − µ~2 = aT (μ1 − μ 2 )
x2
klasy są dobrze
odseparowane
Problem: nie bierzemy
μ1
pod uwagę rozrzutu
μ2
danych
x1
duża odległość
między średnimi
Statistical Pattern Recognition, Chapter 9
30
LDA – Linear Discriminant Analysis
•
•
•
•
x2
Propozycja Fishera: uwzględnić rozrzuty danych w klasach
Rozrzut w klasie:
~
s j2 =
∑ (y − µ~ )
y∈ω j ,i
i
2
j
µ~1 − µ~2
aT S B a
Miara separowalności: J (a ) = ~s 2 + ~s 2 = aT S a
1
2
W
Szukamy transformacji, po której próbki z jednej klasy leżą w
pobliżu siebie i jednocześnie średnie po transformacji leżą daleko
μ1
μ2
x1
Statistical Pattern Recognition, Chapter 9
31
LDA – Linear Discriminant Analysis
•
Aby znaleźć maksimum funkcji J(a), różniczkujemy względem a i
przyrównujemy do zera:
dJ
d  aT S B a 
=

=0
da da  a T S W a 
[
] [
] [
] [
]
d a T SW a
d aT S B a
T
a SW a
− a S Ba
=0
da
da
T
[a S a]2S a − [a S a] 2S
T
T
W
B
B
W
a=0
Statistical Pattern Recognition, Chapter 9
32
LDA – Linear Discriminant Analysis
•
Następnie dzielimy obie strony przez aTSWa:
 a T SW a 
 aT S B a 
 T
S B a −  T
 SW a = 0
 a SW a 
 a SW a 
S B a − J SW a = 0
SW−1S B a − J a = 0
co prowadzi w rezultacie do uogólnionego zagadnienia rozkładu na
wektory i wartości własne:
•
SW−1S B a = J a
Rozwiązaniem jest:
 aT S B a 
−1
a = arg max  T
 = SW (μ1 − μ 2 )
a
 a SW a 
∗
Statistical Pattern Recognition, Chapter 9
33
LDA – Linear Discriminant Analysis
•
Zadanie: wyznaczyć kierunek, który najlepiej separuje obserwacje:
X1={ (4,1), (2,4), (2,3), (3,6), (4,4) }; X2={ (9,10), (6,8), (9,5), (8,7), (10,8) }
•
Rozwiązanie:
 0.8 − 0.4
 1.84 − 0.04
29.16 21.6
; S2 = 
; SB = 
S1 = 



0
.
4
2
.
6
0
.
04
2
.
64
21
.
6
16
−
−






 2.64 − 0.44
μ1 = [3 3.6];
μ 2 = [8.4 7.6]; SW = 

0
.
44
5
.
28
−


•
Wektory własne są rozwiązaniami układu:
S S B a = λa ⇒ S S B − λI = 0 ⇒
−1
W
−1
W
11.89 − λ
5.08
8.81
= 0 ⇒ λ = 15.65
3.76 − λ
 a1 
 a1   0.91
11.89 8.81  a1 
15
.
65
=
⇒
a 
a  = 0.39
 5.08 3.76 a 

 2 

 2
 2 
•
lub bezpośrednio:
a∗ = SW−1 (μ1 − μ 2 ) = [− 0.91 − 0.39]
T
Statistical Pattern Recognition, Chapter 9
34
LDA – Linear Discriminant Analysis
•
Uogólnienie na C klas: poszukujemy C-1 wektorów a1, a2,…, aC-1
dających rzuty y1, y2,…, yC-1 :
y = AT x
x2
Miara separowalności:
SW1
μ1
AT S B A
J (A ) = T
A SW A
SB1
SB3
SB2
μ3
SW3
μ2
SW2
x1
Statistical Pattern Recognition, Chapter 9
35
LDA – Linear Discriminant Analysis
•
Rozwiązaniem jest:
 AT S B A 
∗
A = arg max  T
 = (S B − λ j SW )a j = 0
a
 A SW A 
∗
•
Kierunki związane z największą separowalnością to wektory
własne odpowiadające największym wartościom własnym
macierzy SW−1S B .
Statistical Pattern Recognition, Chapter 9
36
MDS – Multidimensional Scaling
•
Punktem wyjścia MDS jest macierz niepodobieństwa
(dissimilarity matrix). Dla p-wymiarowego zbioru N próbek dane
są wzajemne odległości dij , i,j=1,…,N. Macierz niepodobieństwa
[ ]
D = d ij
•
ma wymiar N x N
MDS polega na ulokowaniu próbek w przestrzeni o zadanej
liczbie wymiarów w taki sposób, aby wzajemne odległości
zostały w możliwie najlepszym stopniu zachowane
•
•
MDS pozwala na zastosowanie nieliniowych transformacji cech
Szukane:
[
X = x1
x2  x N
]
Statistical Pattern Recognition, Chapter 9
37
MDS – Multidimensional Scaling
•
Przykład
2000
Helsinki
Moskwa
1500
Ateny
Berlin
Dublin Helsinki
Ateny
0
1803
2859
2469
Berlin
1803
0
1322
1107
Dublin
2859
1322
0
2031
Helsinki
2469
1107
2031
0
…
…
1000
Dublin
Londyn
500
Berlin
Paryż
…
0
…
Zurych
Lizbona Madryt
-500
Istambuł
-1000
Rzym
Ateny
-1500
-2000
-2500
-1500
-500
500
1500
2500
Statistical Pattern Recognition, Chapter 9
38
MDS – Multidimensional Scaling
•
Kwadrat odległości Euklidesowej między próbkami o numerach s
i r jest równy:
d = x −x
2
rs
r
s 2
p
(
= ∑ xrj − xsj
j =1
) =∑x
p
2
j =1
2
rj
p
p
j =1
j =1
− 2∑ xrj xsj + ∑ xsj2 = brr + bss − 2brs
p
T
b
=
x
x
⇔
B
=
XX
∑
rs
rj
sj
gdzie
(*)
j =1
•
W celu uzyskania jednoznacznego rozwiązania, umieszczamy
średnią z danych pomiarowych w początku układu
współrzędnych oraz przyjmujemy założenie:
N
∑x
n =1
nj
, j = 1,2,  , p
Statistical Pattern Recognition, Chapter 9
39
MDS – Multidimensional Scaling
•
Sumując równanie (*) po r, s, oraz r i s, a także definiując
N
p
N
T = ∑ bnn = ∑∑ xnj2
n =1
otrzymujemy:
N
∑d
r =1
2
rs
= T + Nbss
2
rs
= T + Nbrr
N
∑d
s =1
N
•
1
d =
N
N
1
,
d
d
=
∑
N
r =1
2
rs
2
r•
N
∑∑ d
r =1 s =1
Definiujemy następnie:
2
•s
n =1 j =1
N
2
rs
= 2 NT
1
,
d
d
=
∑
N2
s =1
2
rs
2
••
N
N
∑∑ d
r =1 s =1
2
rs
Statistical Pattern Recognition, Chapter 9
40
MDS – Multidimensional Scaling
•
Z równania (*) mamy:
brs =
•
•
(
1 2
d r • + d •2s − d •2• − d rs2
2
)
Wiadomo, że B = XXT ,
X = CD1/ 2 można użyć jako aproksymacji macierzy X, przy
czym C jest macierzą, której kolumny są wektorami własnymi
macierzy B a D1/2 jest macierzą diagonalną, której przekątna
zawiera pierwiastki wartości własnych.
•
Selekcji cech dokonujemy – podobnie jak w PCA – na podstawie
wartości własnych
Statistical Pattern Recognition, Chapter 9
41
MDS – Multidimensional Scaling
•
Można pokazać, że wartości własne macierzy XXT (N x N) są
identyczne jak wartości własne macierzy XTX (p x p), natomiast
ich wektory własne powiązane są liniową transformacją.
•
Powyższy fakt wskazuje na związek między MDS a PCA: PCA
wykonane na macierzy korelacji (zamiast kowariancji) jest
równoważne MDS przy ustandaryzowanej odległości
Euklidesowej, gdzie każda cecha ma jednostkową wariancję.
Statistical Pattern Recognition, Chapter 9
42
MDS – Multidimensional Scaling
•
W ogólności, MDS polega na znalezieniu odwzorowania
y = g(x; θ )
z p-wymiarowej przestrzeni cech do d-wymiarowej, gdzie θ jest
wektorem parametrów.
•
Rozważane odwzorowanie może być liniowe i wówczas:
y d = g(x; A d ) = A Td x
•
Zastosowanie nieliniowej transformacji g prowadzi do
nieliniowych metod redukcji wymiaru.
Statistical Pattern Recognition, Chapter 9
43
MDS – Multidimensional Scaling
•
Dla typowych zbiorów danych macierz niepodobieństwa D może
mieć zbyt duży wymiar z punktu widzenia przetwarzania
•
MDS nie definiuje w sposób bezpośredni transformacji, która dla
danego wektora x zwracałaby jego reprezentację y w
transformowanej przestrzeni.
Statistical Pattern Recognition, Chapter 9
Przykład zastosowania
Ekstrakcja cech w systemie rozpoznawania mowy
•
Dane:
•
150-ciu lektorów wymawiających dwukrotnie litery alfabetu (w
sumie 7800 próbek)
•
•
•
Liczba cech: 617
Skupiono się na samogłoskach: `A`, `E`, `I`, `O`, `U`, `Y`
Redukcja wymiarów do dwóch
Michael Aupetit,
Visualizing distortions and recovering topology in continuous projection techniques,
Neurocomputing70 (2007) pp. 1304–1330
44
45
Rozwiązanie problemu
•
•
•
PCA
LDA
MDS – CCA (Curvilinear Component Analysis)
I
A
U
E
O
Y