WYKŁAD: Perceptron Rosenblatta. Maszyny wektorów podpierających (SVM). Empiryczne reguły bayesowskie Zaawansowane Metody Uczenia Maszynowego
Perceptron Rosenblatta Szukamy hiperpłaszczyzny β 0 + β 1 najlepiej separującej punkty próby uczącej w tym sensie, że dla y { 1, 1} minimalizuje D(β 0, β 1 ) = y i (β 0 + β 1 i ), i M gdzie M jest zbiorem punktów źle zaklasyfikowanych. D(β 0, β 1 ) jest nieujemne i proporcjonalne do odległości punktów z M od hiperpłaszczyzny.
Perceptron Rosenblatta cd Gradient D(β 0, β 1 ) D(β 0, β 1 ) β D(β 0, β 1 ) β 0 = y i i i M = i M Metoda gradientu stochastycznego: adaptujemy gradient po każdej obserwacji źle sklasyfikowanej β β + ρy i i β 0 β 0 + ρy i, ρ -stała uczenia. Fakt Jeśli dane są liniowo separowalne, to perceptron Rosenblatta znajdzie plaszczyzne sepraującą bezbłędnie w skończonej liczbie kroków y i
Perceptron Rosenblatta cd Niedostatki: Dla danych separowalnych- wiele rozwiązań. Które wybrać? Skończona liczba kroków zależy od marginesu. Im mniejszy margines tym większa. Dla danych niesparowalnych liniowo - brak zbieżności. Remedium SVM: metoda wektorów podpierających.
SVM Support Vector Machines Rozpatrzmy sytuację dwóch klas g = 2, Y = ±1. Idea dla przypadku liniowo separowalnego (istnieje hiperpłaszczyzna oddzielająca zbiory uczące z różnych klas). Konstruujemy dwie równoległe hiperpłaszczyzny, we wnętrzu których nie leży ani jeden element próby uczącej, oddalone maksymalnie od siebie. Wektory leżące na hiperpłaszczyznach wektory podpierające.
Wyznaczanie hiperpłaszczyzn podpierających (przypadek liniowo separowalny: istnieje hiperpłaszczyzna postaci w + b = 0 rozdzielająca dwie podpróby) ( 1, y 1 ),..., ( n, y n ), y i { 1, 1}, i R p Szukamy wektora w R p i b R takich, że iw + b +1, gdy y i = +1 Równoważnie iw + b 1, gdy y i = 1 y i ( iw + b) 1 0 dla wszystkich i Przypomnienie: odległość 0 od hiperpłaszczyzny f () = w a = 0 wynosi f ( 0 ) / w.
Hiperpłaszczyzna H 1 iw + b = 1 jest odległa od początku układu współrzędnych (0,0) o b 1 / w Hiperpłaszczyzna H 2 iw + b = 1 jest odległa od początku układu współrzędnych (0,0) o b + 1 / w Odległość między hiperpłaszczyznami H 1 i H 2 wynosi 2 w Problem minimalizacji Przy ograniczeniach w 2 2 y i ( iw + b) 1 0, i = 1,..., n
Optymalna hiperpłaszczyzna umieszczona w środku między hiperpłaszczyznami, tak aby odległości d + + d od niej do H 1 i H 2 były równe d + = d Problem minimalizacji funkcji kwadratowej na R p przy ograniczeniach w postaci nierówności liniowych. α 1, α 2,..., α n 0 mnożniki Lagrange a Szukamy punktu siodłowego funkcji L(w, b, α) = 1 n } 2 (w w) α i {[( iw) + b]y i 1 Warunki Karusha Kuhna Tuckera L(w, b, α) b i=1 = n α i y i = 0 i=1 L(w, b, α) n = w α i y i i = 0 w i=1 } α i {y i (b + iw) 1 = 0, i = 1,..., n
Powyższe równania dają i=1 n α i y i = 0 i=1 w 0 = n y i α i i i=1 Podstawienie w L(w, b, α) daje L(α) = 1 n } n 2 w0 2 α i {y i (b 0 + iw 0 ) 1 = α i 1 2 Minimalizacja L(α) przy warunkach α i 0, i = 1,..., n, α 0 = (α1 0,..., α0 n) rozwiązanie, to n w 0 = i=1 α 0 i i=1 n α i y i = 0 i=1 y i i n α i α j y i y j ( i j ) i,j=1
Ale αi 0 = 0 dla i takiego, że i nie jest wektorem podpierającym, to jest gdy ( iw 0 + b 0 )y i 1 Stąd n w 0 = αi 0 y i i wektory podp. Optymalna hiperpłaszczyzna dyskryminacyjna y i αi 0 i b 0 = 0, wektory podp. gdzie b 0 = 1 2[ (w 0 (1)) + (w 0 ( 1)) ], gdzie (1) jest dowolnym wektorem podpierającym z klasy 1, a ( 1) jest dowolnym wektorem podpierającym z klasy -1.
Sytuacja klas nieseparowalnych Stałe ξ i 0 osłabiające warunek liniowej separowalności (kary za nieidealne rozdzielenie podprób przez hiperpłaszczyznę dyskryminacyjną) iw + b 1 ξ i, gdy y i = +1 iw + b 1 + ξ i, gdy y i = 1 ( y i ( iw + b) 1 ξ i ) W takiej sytuacji rozwiązujemy problem optymalizacyjny w 2 + C 2 n i=1 ξ i C -parametr kosztu (cost parameter)
Porównanie z klasyfikatorem logistycznym Zauważmy, że jeśli Zatem y i ( iw + b) 1 ξ i = 0 y i ( iw + b) < 1 ξ i = 1 y i ( iw + b) ξ i = (1 y i ( iw + b)) + = l SVM (y i, iw + b). Zagadnienienie SVM: minimalizacja n l SVM (y i, iw + b) + λ w 2 i=1 Klasyfikacja logistyczna z regularyzacją grzbietową n l logist (y i, iw + b) + λ w 2 i=1 l logist (y, t) = log(1 + e yt )
Rozwiązanie problemu optymalizacji: minimalizacja funkcji L(α) przy ograniczeniach 0 α i C i n i=1 α iy i = 0.
Metoda jądrowa Z reguły łączy się przedstawioną wyżej metodę SVM z przekształceniem oryginalnych zmiennych. Oparte to jest na spostrzeżeniu, że wyznaczanie optymalnej hiperpłaszczyzny rozdzielającej w metodzie SVM wymaga wyznaczenia iloczynów skalarnych i j i i Φ : R p R N ( i, y i ) (Φ( i ), y i ), i = 1,..., n Metoda SVM w przestrzeni nowych cech Φ(). Możemy dokonać nieliniowych przekształceń atrybutów. Wielomiany stopnia drugiego: przekształcenia liniowe w przestrzeni o 2p + p(p 1)/2 = p(p + 3)/2 współrzędnych z (1) = (1),..., z (p) = (p) z (p+1) = ( (1)) 2,..., z (2p) = ( (p)) 2 z (2p+1) = (1) (2),..., z (p(p+3)/2) = (p) (p 1)
Aby stosować SVM musimy tylko umieć liczyć iloczyny skalarne w przestrzeni R N K(, y) = Φ() Φ(y) okazuje się, że można scharakteryzować funkcje K(, y), które wyznaczają iloczyn skalarny w R N i zamiast wybierać Φ można wybierać K(, y)! Jądro wielomianowe stopnia d Jądro gaussowskie radialne RBF K(, y) = ( y + 1) d, K(, y) = ep( γ y 2 /2) γ-parametr jądra radialnego. Jądro Laplace a K(, y) = ep( γ y ) Jądro sigmoidalne K(, y) = tanh(a <, y > +b) (jest jądrem zadającym iloczyn skalarny tylko dla pewnych a i b).
Jądro wielomianowe stopnia d K(, y) = ( y + 1) d, opisuje iloczyn skalarny w przestrzeni, której współrzędne zawierają wszystkie iloczyny oryginalnych zmiennych (j) stopnia d i stopni niższych. Reguła decyzyjna ma postać sgn( y i α 0 i K( i, ) + b 0 ) wektory podp. Podejście jądrowe połączone z SVM umożliwia budowę klasyfikatorów o nieliniowych, elastycznych kształtach w oryginalnej przestrzeni obserwacji.
2 1 2 0 2 4 6 4 2 0 2 4 SVM classification plot a) 1 2 6 4 2 0 2 4 10 5 0 SVM classification plot b) pakiet e1071, funkcja svm, opcja kernel= radial. Pakiet zawiera funkcje tune.svm pozwalającą wybrać optymalne parametry kosztu C i γ.
Uwagi najczęściej stosowane jądra: gaussowskie i wielomianowe z d = 1 (SVM liniowa) i d = 2 (interakcje cech). Z reguły zmiana γ ma mały wpływ na czas znalezienia rozwiązania, natomiast zwiększanie C znacznie zwiększa ten czas. Da ustalonego γ zwiększanie C zmniejsza liczbę wektorów podpierających. SVM dla wielu klas: jeden przeciwko reszcie, jeden przeciwko jednemu (z komitetem), istnieje wersja wieloklasowa SVM (maksymalizacja marginesu od każdej klasy do wszystkich pozostałych) on-vs-rest: możliwa niejednoznaczność, niezrównoważenie klas (remedium: klasa y = 1 zamiana na y = 1/(g 1), one-vs-one: skomplikowane obliczeniowo dla dużych g. Modyfikacja one-vs-rest : ma k y k (): porównuje się rózne zadania: problem różnych skal
Jądra w kategoryzacji tekstów A -alfabet skończony. s = s 1 s 2 s s ciąg składający się z elementów z A. u jest podciągiem s, u = s(i), gdzie i = (i 1,..., i u ), gdzie i 1 <... < i u, jeśli u j = s ij j = 1,..., u Wtedy długość podciągu l(i) = i u i 1 + 1 ciąg cat : podciąg ct ma długość 3
0 < λ < 1- parametr, u-ustalone słowo Φ u (s) = ( Φ ct (cat) = λ 3 ) D = A m, s, t -ciągi. Jądro rzedu m K m (s, t) = u D lub wersja unormowana i:u=s(i) λ l(i) < Φ u (s), Φ u (t) >= u D K m(s, t) = K m (s, t) Km (s, s)k m (t, t) i:u=s(i) i:u=s(j) λ l(i)+l(j)
Empiryczne reguły bayesowskie Naiwną regułę bayesowską (por. wykład AMLlogistic.pdf) można wykorzystywać również w przypadku, gdy atrybuty są ciągłe, wymaga to jednak estymacji gęstości p( (i) k) (prawdopodobieństwa a priori estymowane są przez frakcje elementów z odpowiednich klas). Rozpatrzmy ogólnie problem estymacji gęstości prawdopodobieństwa p() na podstawie prostej próby losowej X 1,..., X n losowanej z rozkładu o tej gęstosci. Najprostszy estymator gęstości p- histogram (otrzymywany w R instrukcją hist(..,prob=t)).
Estymator jądrowy Estymator jądrowy: dla ustalonej gęstości prawdopodobieństwa K (jądra) i parametru wygładzającego h n (zależy od liczności próby n i często od danych) ˆp n () = 1 nh n n i=1 ( Xi ) K h n W przypadku szczególnym jądra jednostajnego na przedziale [ 1/2, 1/2] estymator jądrowy ma postać ˆp n () = liczba punktów w [ h n/2, + h n /2] nh n
Analiza teoretyczna wskazuje na duży wpływ parametru wygładzającego na zachowanie się ˆp n (). Ogólna zależność: h n wariancja ˆp n (), natomiast gdy h n obciążenie ˆp n (). Wybór h n powinien równoważyć te dwie tendencje. Propozycje: Parametr wygładzający Silvermana: 1/5 h n = (4/3) 1/5 σn gdzie σ = min(s, IQR/1.34) Parametr wygładzający Sheathera-Jonesa; Metoda oparta na k(n) najbliższych sąsiadach, gdzie k(n) N - parametr metody: h n = R n : odległość od do k(n)-tego najbliższego sąsiada spośród obserwacji X 1,..., X n. Parametr wygładzający oparty na kroswalidacji.
Parametr wygładzający oparty na kroswalidacji Metoda oparta na rozpisaniu MISE(ˆf ) = (ˆf f ) 2 d = ˆf f = E X ˆf (X ), ˆf 2 + f 2 2 gdzie X jest niezależną od ˆf obserwacją o gęstości f. Zatem ˆf f = 1 n ˆf i (X i ) n argmin( 1 n 2 h BCV = argmin( i,j i=1 ˆf 2 2 n n ˆf i (X i )) i=1 K K( X i X j 2 ) h n(n 1) i j ˆf f K( X i X j )) h K K(s) = K(w)K(s w) dw, h UBCV - inne przybliżenie MISE
Metoda najbliższego sąsiada W problemie klasyfikacji przy modyfikacji powyższej definicji R n do R n : promień najmniejszej kuli zawierającej k(n) obserwacji w próbie połączonej predyktorów z obu klas, empiryczna reguła bayesowska ma postać: wybierz klasę, do której należy najwięcej obserwacji w tak wybranej kuli Reguła knn (k(n) najbliższych sąsiadów). Taka sama definicja dla wielowymiarowego wektora atrybutów!
Przykład. Przeprowadźmy estymację gęstości dla zmiennej X 1 danych geny3pc (pierwsza składowa główna dla danych Alizadeha, por. CM (2009), str. 79). Dane zawierają obserwacje z 3 populacji, można się spodziewać, że gęstość X1 może być wielomodalna. bw=bw.nrd oznacza parametr wygładzający Silvermana, bw.sj Sheathera-Jonesa, parametr wygładzający domyślny bw.nrd0 : w definicji parametru Silvermana (4/3) 1/5 = 1.06 zastąpione jest przez 0.9. dens1<-density(geny3.pc$x1, kernel="gaussian") dens2<-density(geny3.pc$x1, bw=bw.nrd(geny3.pc$x1), kernel="gaussian") dens3<-density(geny3.pc$x1, bw=bw.sj(geny3.pc$x1), kernel="gaussian")
linia ciągła zwykła - rozstęp Sheathera-Jonesa linia ciągła pogrubiona - rozstęp Silvermana linia przerywana - rozstęp bw.nrd0. Estymator jądrowy z rozstępem Sheathera-Jonesa najbardziej adekwatnie opisuje mody histogramów. 0.00 0.15 10 5 0 5 10 X1
Wyznaczmy estymatory gęstości w poszczególnych klasach. Gęstości w grupach są jednomodalne i omawiane parametry wygładzające działaja bardzo podobnie. Stosujemy bw=bw.nrd (rozstęp Silvermana). Wyznaczmy jeszcze inny estymator gęstości X 1 z wzoru 3 i=1 ˆπ i ˆf i (). 0.0 0.6 10 5 0 5 10 X1 Mieszanina gestosci 0.00 0.15 10 5 0 5 10 X1
Wykorzystajmy jeszcze otrzymane estymatory do konstrukcji empirycznej reguły bayesowskiej (ˆπ i ˆfi () > ˆπ j ˆfj () dla j i to klasyfikuj do klasy i) przy ˆπ 1 = 46/62, ˆπ 2 = 11/62 i ˆπ 3 = 9/62 oraz przy ˆπ i = 1/3 0.00 0.15 a) 1.19 5.08 DLCL FL CL 10 5 0 5 10 X1 0.0 0.6 b) 0.90 5.08 10 5 0 5 10 X1
Działanie metody knn dla k = 1 i k = 9 dla symulowanego zbioru danych. Znacznie większa regularność granicy obszarów decyzyjnych dla drugiego przypadku. Rys. 3.10.a. 1 nn Rys. 3.10.b. 9 nn 3 1 0 1 2 3 3 1 0 1 2 3 2 0 2 4 iksy 2 0 2 4 iksy
Metody prototypowe Metoda knn jest metodą prototypową: za prototyp uważamy obserwację leżącą najbliżej klasyfikowanej obserwacji. W wielu metodach prototypy nie muszą być przykładami z próby treningowej. Metoda K-średnich Metoda analizy skupień może być wykorzystna w klasyfikacji: Mając grupę punktów wybieramy w jakiś sposób R prototypów. Dla każdego punktu znajdujemy najbliższy prototyp - wyznaczamy w ten sposób punkty C i najbliższe prototypowi i. Wyliczamy środki cięzkości C i. Stają się one nowymi prototypami.. itd Wykorzystanie w klasyfikacji: w każdej klasie umieszczamy R prototypów i stosujemy algorytm K-średnich. Później metoda najbliższego sąsiada: szukamy najbliższego spośród g R prototypów do i klasyfikujemy do klasy najbliższego prototypu.
Metody prototypowe cd. Learning Vector Quantization 1. Wybierz po R prototypów w każdej klasie m 1 (k),... m R (k), k = 1,..., g (może być losowy wybór R punktów z każdej klasy). 2. Losowo wybierz (ze zwracaniem) punkt i z próby uczącej i znajdź najbliższy prototyp m j (k). (i) Jesli y i = k ( elementy są w tej samej klasie) przesuń prototyp w kierunku punktu i. m j (k) = m j (k) + η( i m j (k)), η > 0 (ii) Jesli y i k ( elementy są w różnych klasach) oddal prototyp od punktu i. m j (k) = m j (k) η( i m j (k)) Powtarzaj krok 2 zmniejszając w każdej iteracji η. Wada: sam algorytm, nie odpowiada optymalizacji żadnego kryterium.