WYKŁAD I: PROBLEM KLASYFIKACJI POD NADZOREM, LINIOWA ANALIZA DYSKRYMINACYJNA Wydział Matematyki i Nauk Informacyjnych PW
Problem klasyfikacji (pod nadzorem) LDA Model sytuacji praktycznej: n par losowych postaci U = (X, Y ), (X, Y ),..., (X n, Y n ) P X,Y X i wektor zmiennych objaśniających (atrybutów) dla i tego osobnika, X i X (przestrzeń p-wymiarowa) Y i etykieta przynależności do klasy dla i tego osobnika, Y i G = {,,..., g}. #{X i : Y i = j} = n j, n + n + + n g = n.
X i wektory losowe, których współrzędne mogą mieć dowolny charakter (zmienne ciągłe, dyskretne, porządkowe, nominalne), rozkład cechy w różnych klasach (X Y = i) może być różny. Cel: na podstawie próby uczącej (treningowej) U skonstruować klasyfikator (regułę klasyfikacyjną) ˆd, czyli funkcję określającą na podstawie wektora atrybutów x przynależność do jednej z g klas. Reguła klasyfikacyjna ma z reguły postać ˆd(x) = i gdy ˆf (x) C i, gdzie ˆf (x) jest funkcją klasyfikacyjną. Obserwujemy konkretne wartości zmiennych (X i, Y i ) : {(x, y ),..., (x n, y n )}.
Klasyfikacja pod nadzorem (z nauczycielem), analiza dyskryminacyjna Konstrukcja ˆd : X G ˆd reguła klasyfikacyjna (dyskryminacyjna) ˆd jest funkcją próby {(X i, Y i ), i =,,..., n}. ˆd ma dobrze przewidywać indeks klasy, z której pochodzi nowa obserwacja. Określenie pod nadzorem odpowiada sytuacji, gdy dysponujemy próbą uczącą, która zawiera pełną informację o obserwacjach (tzn. wektor atrybutów i indeks klasy). Inna sytuacja mamy tylko wartości atrybutów i szukamy w danych naturalnych skupień: klasyfikacja bez nauczyciela (analiza skupień), np. podział klientów ze względu na zachowania konsumenckie.
Przykłady. ) Klasy: chory, zdrowy Klasyfikacja pozwala lepiej zrozumieć zależność między faktem zachorowania a atrybutami. Wariant problemu : przynależność do grupy ryzyka (zachorowania) lub nie. Próba ucząca: oparta o historie pacjentów cierpiących na pewną chorobę (sięgającą czasów, gdy na nią nie cierpieli) oraz analogiczna historia badań ludzi zdrowych. ) Klasy: dobrzy i źli klienci z punktu widzenia ich wypłacalności bankowej tzw. scoring bankowy. z punktu widzenia wierności świadczycielowi usług (np. sieci telefonii komórkowej), churning w CRM
) Poczta śmieciowa (spam), dotąd #(G) =, ale może być #(G) > 4) Automatyczne rozpoznawanie cyfr kodów pocztowych: atrybuty zaczernienie lub nie odpowiedniego piksela pola, w które wpisuje się cyfrę. 5) Automatyczne rozpoznawanie zapachów (projekt: sztuczny nos, klasyfikacja chory, zdrowy na podstawie oddechu) Uwaga. Podstawowa trudność analizy klasyfikacyjnej polega na nierozłączności klas. Możemy mieć obiekty o takich samych lub podobnych wartościach atrybutów należące do różnych klas. Dlatego stosuje się tu modelowanie probabilistyczne.
Dane earthquake dotyczące klasyfikacji wybuchów nuklearnych (X) i trzęsień ziemi (Q) na podstawie zmiennyh sejsmologicznych (body i surface). Klasy zawierają 0 i 9 obserwacji odpowiednio. surface.5 4.5 5.5 6.5 Q Q Q Q QQ Q Q Q Q Q Q Q Q X X XX X X X Q X 4.5 5.0 5.5 6.0 6.5 body
Liniowa analiza dyskryminacyjna (LDA Linear Discriminant Analysis) Sir R. Fisher, 96 podejście bezmodelowe EDA. Przypadek g =, x i R p, dwie podgrupy uczące odpowiadające y = i y =. Idea: znajdź kierunek a, który najlepiej rozdziela podgrupy uczące po zrzutowaniu na ten kierunek, przy uwzględnieniu zmienności wewnątrzgrupowej rzutów. x, x,..., x n obserwacje z klasy x, x,..., x n obserwacje z klasy x k = n k n i i= x ki, k =, Jak oceniać zmienność wewnątrzgrupową? (podobny problem jak w ANOVA)
Założenie: klasy charakteryzują się taką samą macierzą kowariancji. S, S próbkowe macierze kowariancji w klasach. Macierz kowariancji wewnątrzgrupowej (wspólnej dla obu klas) uogólnienie połączonego estymatora wariancji) W = n (n k )S k = n k= k= { n k (x ki x k )(x ki x k ) } (w grupach centrujemy przez średnią w grupie, a nie przez średnią globalną!) Użyteczny fakt omówiony przy okazji PCA: a dowolny wektor o długości. x,..., x m wektory o próbkowej macierzy kowariancji S, to wariancja probkowa rzutów a x,..., a x m wynosi a Sa. i=
Empiryczna wariancja rzutów obu prób na kierunek a oceniana przez a Wa. Odległość zrzutowanych środków wynosi a x a x i jej wariancja może być estymowana przez (/n + /n )a Wa. Studentyzowana wartość zrzutowanych środków wynosi (z dokładnością do stałej) (a x a x ) a Wa Rys... 4 0 prosta dyskryminacyjna ~ a x x 0 4
Metoda Fishera: Rozpatrz rzuty x i x na kierunek a i maksymalizuj względem a argmax CRIT (a) =: (a x a x ) a a Wa Szukamy ã jako punktu stacjonarnego d CRIT (a) da = (a x a x )( x x )a Wa (a x a x ) Wa (a Wa) = 0 Wektory x x i Wã muszą być współliniowe. Zatem wektor ã po przemnożeniu przez stałą spełnia Wã = x x i wszystkie wektory maksymalizujące CRIT( ) mają taki sam kierunek jak wektor ã = W ( x x ).
Reguła klasyfikacyjna: Jeśli ã = argmax..., to zaklasyfikuj wektor x do klasy j, jeśli ã x ã x j < ã x ã x k, dla k j, k, j {, }.
Postać reguły klasyfikacyjnej Równanie hiperpłaszczyzny prostopadłej do ã i przechodzącej przez ( x + x )/ ã (x ( x + x )/) = 0 gdzie ã = W ( x x ). Reguła Fishera: Przypisz punkt do klasy, jeśli ( x x ) W (x ( x + x )) > 0 oraz do klasy w przeciwnym przypadku. ã (pierwszy) wektor kanoniczny. ã x (pierwsza) zmienna kanoniczna.
Uwaga Wektor a = W ( x x ) nie jest z reguły wektorem o kierunku x x - łączącym środki grup, chyba, że W = ci. Rys..4. 4 0 x styczna x W (x x ) 0 4
Wektory kanoniczne Dla g = kierunek a = W ( x x ) maksymalizuje wariancja międzygrupowa rzutów wariancja wewnątrzgrupowa rzutów = a Ba a Wa, gdzie wariancja międzygrupowa rzutów jest wariancją zrzutowanych średnich ( liczonych z krotnością n k ) i B jest macierzą kowariancji międzygrupowej Rozkład zmienności B = (g ) g n k ( x i x)( x i x). i= (n g)w + (g )B = (n )S, gdzie S macierz kowariancji wszystkich obserwacji. ( )
Dla dowolnej liczby klas g wektor maksymalizujący ( ): pierwszy wektor kanoniczny a, wektor a taki, że a Wa = 0 i maksymalizujący ( ) - drugi wektor kanoniczny itd. Zauważmy, że a Wa jest estymatorem kowariancji {a x i} i {a x i}, a więc żądamy, aby ten estymator kowariancji rzutów na dwa kolejne kierunki kanoniczne był równy 0. Zauważmy, ze punkt stacjonarny wyrażenia w ( ) spełnia: Ba a Wa a Ba Wa (a Wa ) = 0, zatem dla pewnego λ mamy (B λw)a = 0 i (W B λi)a = 0. Zatem a jest wektorem własnym macierzy W B. Można pokazać (!), że odpowiada jej najwiekszej wartości własnej. Ogólnie kolejne wektory kanoniczne są to wektory własne odpowiadające kolejnym wartościom własnym macierzy W B.
Liczba wektorów kanonicznych min(p, g ). g jest rzedem macierzy G jeśli środki x i, i =,,... g są liniowo niezależne. a i x j: wartość i-tej zmiennej kanonicznej dla j-tej obserwacji. Wykres dwóch pierwszych zmiennych kanonicznych często używany w wizualizacji danych. Satimage Data Can 4 0 4 6 8 0 8 6 4 0 Can
Reguła Bayesa, LDA,QDA Załóżmy chwilowo, że znamy rozkład P X,Y pary (X, Y ). Rozkład ten opisany jest przez: p(x k), k =,,..., g dyskretny rozkład prawdopodobieństwa lub gęstość w k tej populacji; prawdopodobieństwa apriori π k = P(Y = k). Reguła Bayesa (przy znanych p(x k)!): zaobserwowany wektor x zaklasyfikuj do populacji k, dla której wartość prawdopodobieństwa aposteriori p(k x) jest największa k = argmax l=,...,g p(l x). Klasyfikator oparty na regule Bayesa klasyfikator bayesowski. Tw. Bayesa = p(k x) = π kp(x k) g l= π lp(x l)
Reguła Bayesa równoważna maksymalizacji licznika k = argmax l=,...,g π l p(x l) Cały czas zakładamy, że znamy p(x k). Niech g = i rozkłady cechy X w klasach są normalne z taką samą macierzą kowariancji: p(x k) N(m k, Σ), czyli p(x k) = ( ) (π) p/ Σ exp ( / (x m k) Σ (x m k ) ) Σ jest taka sama dla wszystkich klas (założenie). Dla wartości k spełniającej ( ) maksymalne jest log π k p(x k) = log π k + log p(x k)
Maksymalizujemy (x m k) Σ (x m k ) + log π k + C δ k (x) := (x m k) Σ (x m k ) + log π k δ k ( ) funkcja dyskryminacyjna dla klasy k δ = log p( x) p(x ) = log p( x) p(x ) + log π = π = (m m ) Σ x (m m ) Σ (m + m ) + log π π Jeśli δ > 0, to klasyfikujemy do klasy, jeśli δ < 0, to klasyfikujemy do klasy, jeśli δ = 0, to klasyfikujemy gdziekolwiek (lub zawieszamy decyzję). δ ( ) jest liniowa! Równanie δ (x) = 0 jest równaniem hiperpłaszczyzny dyskryminacyjnej, za pomocą której rozdzielamy obie klasy.
Linear Discriminant Analysis (LDA) Uwaga. Jeśli π = π i x i m i, W Σ, to otrzymujemy metodę LDA Fishera. Dla g >, δ kl = log p(k x) p(l x) = log p(x k) p(x l) + log π k π l = = (m k m l ) Σ x (m k m l ) Σ (m k + m l ) + log π k π l Dla g =, δ (x) > 0 i δ (x) > 0 = klasa, δ (x) < 0 i δ (x) > 0 = klasa, δ (x) < 0 i δ (x) < 0 = klasa. δ kl ( ) funkcja dyskryminacyjna między klasami k i l. Przy podstawieniu W w miejsce Σ i x i w miejsce m i otrzymujemy metodę LDA (Linear Discriminant Analysis)
Uwagi. () dla równych prawdopodobieństw apriori π = π = = π g, Reguła Bayesa maksymalizacji p(x k) (dyskryminacja metodą największej wiarogodności), () w tej sytuacji maksymalizacja p(x k) minimalizacji odległości Mahalanobisa argmin(x m k ) Σ (x m k ) Sytuacja nierównych macierzy kowariancji Σ, Σ (odpowiednio w klasie i ) δ k ( ) funkcja dyskryminacyjna dla klasy k δ k (x) := (x m k) Σ k (x m k) + log π k δ kl (x) = δ k (x) δ l (x) forma kwadratowa x, a nie funkcja liniowa.
Quadratic Discrminant Analysis (QDA) Powierzchnia rozdzielająca klasy k i l opisywana równaniem kwadratowym {x : δ k (x) = δ l (x)} Dla g = : klasyfikujemy do klasy, gdy δ (x) = log Σ Σ + x (Σ m Σ m ) x (Σ Σ )x m Σ m + m Σ m + log π π > 0
a) LDA b) QDA 4 0 4 4 0 4 4 0 4 6 4 0 4 6 Klasyfikacja prób z rozkładów normalnych o takich samych macierzach kowariancji: metody LDA i QDA
4 0 4 4 0 4 6 Klasyfikacja prób z rozkładów normalnych o różnych macierzach kowariancji: metoda QDA
Uwagi LDA wymaga estymacji gp + p(p + )/ parametrów, QDA estymacji gp(p + )/ parametrów. W przypadku małej liczby danych w klasach zła estymacja macierzy Σ k. LDA odporna na odstepstwa od normalności. LDA i QDA to emipryczne reguły bayesowskie (reguła bayesowska z estymowanymi parametrami). Inne reguły tego typu: klasyfikacja logistyczna, nieparametryczne r. bayesowskie, naiwny estymator bayesowski.
Zbiór wine.data zawiera dane dotyczące wyników chemicznej analizy win pochodzących z tego samego regionu Włoch, ale od trzech różnych plantatorów (g =). Liczba obserwacji: 77 (klasa -58, klasa - 7, klasa -48 obserwacji). Przeprowadźmy analizę LDA i QDA w oparciu o V (zawartość flawonoidów) i V8 (zawartość alkoholu). wina.lda=lda(v~v+v8, data=wina) wina.pred=predict(wina.lda) print(table(wina$v,wina.pred$class)) # tabela klasyfikacji dla metody LDA 56 4 60 7 0 0 48 [] Procent poprawnej klasyfikacji dla proby treningowej: [] 0.95
Analogicznie analiza QDA wina.qda=qda(v~v+v8, data=wina) wina.pred=predict(wina.lda) print(table(wina$v,wina.pred$class)) 57 0 4 65 0 45 [] Procent poprawnej klasyfikacji dla proby treningowej: [] 0.980 Próba ucząca została podobnie sklasyfikowana przez obie metody, ale obszary przynależności do klas dla obu metod są specyfikowane bardzo różnie (por. różnice dla V8=.5 i dużych wartości V).
4 4 5 Alcohol Flavanoids
4 4 5 Alcohol Flavanoids
Funkcja stepclass set.seed(4578) miody.step = stepclass(y ~., data=miody, method="lda", direction="forward", improvement=0.0) #75 observations of 6 variables in 5 classes; direction: forward #stop criterion: improvement less than %. #correctness rate: 0.407; in: "s86"; variables (): s86 #correctness rate: 0.548; in: "s60"; variables (): s86, s60 #correctness rate: 0.57; in: "s85"; variables (): s86, s60, #s85 #correctness rate: 0.598; in: "s8"; variables (4): s86, s60, #s85, s8 #correctness rate: 0.6486; in: "s60"; variables (5): s86, s60, #s85, s8, s60 # stepwise classification, using 0-fold cross-validated correctness # rate of method lda. #75 observations of 6 variables in 5 classes; direction: forward #stop criterion: improvement less than %. # Wybór zmiennych może zależeć od punktu startowego!!
Uwagi Można pokazać, że pierwszy wektor kanoniczny W ( x x ) otrzymuje się również jako estymator wspólczynników kierunkowych w metodzie MNK, jeśli zakodujemy klasy jako Y = ±. To tlumaczy, dlaczego LDA jest odporna na odstępstwa od normalności w klasach. Czasami zamiast stosować QDA stosuje się LDA do rozszerzonego zestawu predyktorów (X,..., X p, X X,..., X p X p, X,..., X p ). Z reguły działa podobnie jak QDA. Regularyzowana forma QDA: ˆΣ k (α) = αˆσ k + ( α)ˆσ. α wybierana na podstawie działania na zbiorze testowym albo metodą walidacji krzyżowej. LDA i QDA mimo swojej prostoty działają często lepiej niż wiele znacznie bardziej wyrafinowanych metod klasyfikacyjnych.