Algorytmy immunologiczne
Transkrypt
Algorytmy immunologiczne
Rozpoznawanie wzorców Dr inż. Michał Bereta p. 144 / 10, Instytut Informatyki [email protected] [email protected] www.michalbereta.pl Dyskryminacja liniowa Twierzdzenie: Prawdopodobieostwo, że n obserwacji wybranych losowo według dwolnego rozkładu ciągłego na Rp, losowo podzielonych na 2 klasy, ma własnośd liniowej separowalności wynosi 1, gdy natomiast w ogólności jest równe Wniosek z twierdzenia: im różnica (2p-n) jest większa co do bezwzględnej wielkości, tym prawdopodobieośtwo liniowej separowalności jest mniejsze (przy losowych obserwacjach i losowym przydziale do klas). Dyskryminacja liniowa Jak najlepiej rozdzielid te klasy za pomocą liniowej funkcji dyskryminacyjnej? Dyskryminacja liniowa Szukamy takiego kierunku, żeby po zrzutowaniu na niego obserwacji (przykładów) klasy były jak najlepiej od siebie oddzielone Dyskryminacja liniowa Funkcja dyskryminacyjna jest wtedy prostopadła do wyznaczonego kierunku Dyskryminacja liniowa • Sir Rnald Fisher 1936 r. • Liniowa analiza dyskryminacyjna (LDA, ang. Linear discriminant analysis) • Zakładamy, że wektory obserwacji są wektorami w p-wymiarowej przestrzeni Euklidesa • Metoda prowadzi do reguły dyskryminacyjnej opartej na funkcji liniowej • Oryginalne sformułowanie dla g=2 klas Dyskryminacja liniowa • Cel: Znajdź kierunek a w X, który najlepiej rozdziela obie klasy, przy czym oprócz odległości między klasami uwględnij również zmiennośd wewnątrzgrupową (wewnątrz klas) Dyskryminacja liniowa • Miarą odległości między klasami jest odległośd między wartościami oczekiwanymi przykładów z każdej klasy • W przypadku wielowymiarowym jest to wektor wartości oczekiwanych dla każdego z atrybutów Dyskryminacja liniowa • Próbkowym odpowiednikiem wartości oczekiwanej jest wektorowa średnia Dyskryminacja liniowa • Miarą zróżnicowania danych jest w przypadku jedego atrybutu wariancja, a w przypadku wielowymiarowym macierz kowariancji • Na przekątnej znajdują się wariancje poszczególnych atrybutów • Jest to maceirz symetryczna Dyskryminacja liniowa • Próbkowym odpowiednikiem macierzy kowariancji jest macierz S Dyskryminacja liniowa • Wartośd wariancji rzutu wektora x na prostą o wektorze kierunkowym a: jaka jest wariancja aTx? Dyskryminacja liniowa • Założenie Fishera: klasy charakteryzują się taką samą macierzą kowariancji • Wpólnie dla obu klas ustala się wskaźnik zmienności wewnątrzgrupowej Dyskryminacja liniowa • Próbkową miarą zmienności wewnątrzgrupowej wzdłuż kierunku a jest Dyskryminacja liniowa • Sformułowanie Fishera: znajdź kierunek najlepiej oddzielający klasy, jako kierunek maksymalizujący wyrażenie: Dyskryminacja liniowa • Mając kierunek a, zrzutuj średnie obu klas oraz nowy wektor x na ten kierunek i zaklasyfikuj x do klasy j jeśli dla Dyskryminacja liniowa • Rozwiązanie to daje często dobre wyniki nawet jeśli założenie o równości macierzy kowarancji nie jest spełnione. Dyskryminacja liniowa • Rozwiązanie : można wykazad, że poszukiwany wektor a jest proporcjonalny do • Rozwiązanie jest jednoznaczne z dokładnością do długości wektora a Dyskryminacja liniowa • Zmienna aTx to pierwsza zmienna kanoniczna a wektor a to pierwszy wektor kanoniczny Dyskryminacja liniowa • Alternatywne sformułowanie hiperpłaszczyzny dyskryminacyjnej: Dyskryminacja liniowa • Reguła dyskryminacyjna: przypisz punkt x do klasy 2 jeśli: Dyskryminacja liniowa Dyskryminacja liniowa Kierunek rzutowania Prosta dyskryminacyjna jest prostopadła do znalezionego kierunku i przechodzi przez punkt pośrodku pomiędzy średnimi klas. Dyskryminacja liniowa Dyskryminacja liniowa • Co gdy g > 2 ? (problem z wieloma klasami) Dyskryminacja liniowa • Sformułowanie zadania: znajdź a maksymalizujące wyrażenie: gdzie Dyskryminacja liniowa • Rozwiązanie: Wektorem maksymalizującym to wyrażenie jest wektor własny macierzy W-1B odpowiadający największej wartości własnej tej macierzy. Dyskryminacja liniowa • Reguła dyskryminacyjna Obserwację x przypisz do klasy j jeśli Dla wszystkich Dyskryminacja liniowa • Można również rozwiązad zadao dyskryminacji pomiędzy parami klas • Należy przyjąd wtedy wpólną macierz kowariancji wewnątrzgrupowej Dyskryminacja liniowa • Rzutowanie na jeden kierunek może nie wystarczyd • Można poszukiwad kolejnych kierunków najlepiej rozdzielających klasy, ale jednocześnie ortogonalnych do wcześniej znalezionych kierunków • Znajdź ar maksymalizujący po warunkiem, że Dyskryminacja liniowa • Kolejne zmienne kanoniczne są nieskorelowane z poprzednimi • Kolejny kierunek kanoniczny jest wyznaczany jako wektor własny odpowiadający r-tej co do wielkości wartości własnej macierzy W-1B • Najwyższy możliwy rząd macierzy B wynosi g-1 zatem tyle można otrzymad wektorów kanonicznych. Dyskryminacja liniowa • Wektory kanoniczne mogą służyd do przeniesienia problemu klasyfikacyjnego do nowej przestrzeni (oryginalne atrybuty zastępujemy zmiennymi kanonicznymi) • W nowej przestrzeni problem może byd rozwiązywany dowolnymi metodami (dowolnymi klasyfikatorami) Dyskryminacja liniowa Regresja liniowa • Zadanie dyskryminacji można potraktowad jako zadanie estymacji funkcji o wartościach nominalnych (np. ze zbioru {0, 1} dla dwóch klas ). • Funkcja regresji jest dana warunkową wartością oczekiwaną zmiennej objaśnianej (wskaźnik klasy w naszych zadaniach dyskryminacji). • Aby rozwiązad problem dyskryminacji z wieloma klasami za pomocą regresji liniowej, przedstawimy je jako wielowymiarową analizę regresji (zmienna objaśniana ma postad wektorową) Dyskryminacja liniowa Regresja liniowa Dla dwóch klas: • Jeśli oszacowane prawdopodobieostwo warunkowe jest >0.5 to x jest klasyfikowany do klasy 1, jeśli <0.5 to do klasy 0. Dyskryminacja liniowa Regresja liniowa Dla liczby klas >2: • Etykiety klas zakodowane są za pomocąwektora wskaźnikowego o g współrzędnych (g – liczba klas) • Etykieta klasy k ma 1 na pozycji k-tej i 0 na wszystkich innych pozycjach • Przykład: – Dla 5 klas, jeśli x pochodzi z klasy 3, jego wektor wskaźnikowy to *0,0,1,0,0+ • Zadanie polega na jednoczesnym rozwiązaniu zadania regresji dla każdej pozycji wektora wskaźnikowego Dyskryminacja liniowa Regresja liniowa Stosując zapis macierzowy mamy macierz obserwacji: oraz macierz etykiet obserwacji (wskaźnikowa macierz wektorów oodpowiedzi): Dyskryminacja liniowa Regresja liniowa Stosując zapis macierzowy mamy macierz obserwacji: Kolumna jedynek umożliwia wystąpienie wyrazu wolnego. oraz macierz etykiet obserwacji (wskaźnikowa macierz wektorów oodpowiedzi): Dyskryminacja liniowa Regresja liniowa • Co się stanie jak nie będzie wyrazu wolnego? • Przykład w 2D (dwa atrybuty): – Szukamy granicy decyzyjnej między dwiema klasami w postaci liniowej zależności atrybutów x: – w0 to wyraz wolny y = w1*x1 + w2*x2 + w0 Przykład x jest klasyfikowany do pierwszej klasy jeśli y>0 a do klasy drugiej w przeciwnym przypadku, zatem granica decyzyjna to 0 = w1*x1 + w2*x2 + w0 Dyskryminacja liniowa Regresja liniowa 0 = w1*x1 + w2*x2 + w0 z tego x2 = -w1/w2*x1 – w0/w2 Jest to zależnośd typu y = ax+b Jeśli brak w0 (tzn. w0=0) to y = ax tzn. prosta musi przechodzid przez początek układu współrzędnych (nie może reprezentowad dowolnej granicy) Dyskryminacja liniowa Regresja liniowa Celem regresji liniowej jest znalezienie współczynników zależności liniowej (macierz B), które minimalizują odpowiednie wyrażenie oparte na metodzie najmniejszych kwadratów Suma kwadratów norm Euklidesowych Dyskryminacja liniowa Regresja liniowa • Rozwiązanie (przez tzw. pseudoinwersję) Dyskryminacja liniowa Regresja liniowa • Mamy do czynienia z prostymi liniowymi estymatorami prawdopodobieośtwa a posteriori p(k|x) • Można powiedzied, że operamy się na metodzie Bayesa, tyle że nie uwzględniamy prawdopodobieostw a priori oraz estymatory są bardzo proste • Można wykazad, że Uwaga: wartości w tej sumie mogą byd >1 lub ujemne! Dyskryminacja liniowa Regresja liniowa • Reguła dyskryminacyjna: wybierz klasę odpowiadającą największej wartości współrzędnych wketora odpowiedzi Dyskryminacja liniowa Regresja liniowa • Gdy g=2: – Rozwiązanie regresyjne jest bardzo bliskie rozwiązaniu przez metodę LDA (Fishera) – Model regresji liniowej wyznacza kierunek zgodzny z kryterium LDA – Obie reguły dyskryminacyjne są identyczne, gdy obie próby uczące (z obu klas) są równoliczne Dyskryminacja liniowa Regresja liniowa • Miarą dopasowania modelu w regresji liniowej jest współczynnik R2 zdefiniowany jako proporcja wariancji wyjaśnionej przez model – R2=1-model bardzo dobry – R2=0-model nie pasuje do danych Dyskryminacja liniowa Model logistyczny • Model logistyczne zapewnia wartości estymatora p(2|x) w przedziale [0,1] • Jest to szczególny przypadek uogólnionego modelu liniowego Dyskryminacja liniowa Model logistyczny • Dla g=2: Dyskryminacja liniowa Model logistyczny • Estymacja parametrów (w0, w) odbywa się na podstawie próby uczącej poprzez metodę nawiększej wiarygodności, czyli maksymalizacji podlega: Proces przebiega iteracyjnie Dyskryminacja liniowa Model logistyczny Reguła dyskryminacyjna: Wybierz większą z wartości oraz odpoweidnio zaklasyfikuj obserwację x. I Dyskryminacja liniowa Model logistyczny • Przypadek wielu klas (g>=2) …. Klasa g wybrana dowolnie Dyskryminacja liniowa Model logistyczny • Stosując ten model dostajemy: dla k=1,..,g-1 Spełnione jest: Dyskryminacja liniowa Model logistyczny • Jeśli klasy mają rokłady normalne o takiej samej macierzy kowariancji, równe pradopodobieostwa a priori to dla g=2 model logistyczny daje dokładnie to samo rozwiązanie do model LDA. Dyskryminacja liniowa Perceptron Dyskryminacja liniowa Perceptron 1 w0 w1 x1 w2 x2 Przykład dla dwóch atrybutów Funkcja progowa – funkcja aktywacji perceptronu Dyskryminacja liniowa Perceptron • Zakładamy liniową separowalnośd danych • Szukamy hiperpłaszczyzny decyzyjnej w postaci • Wektory w oraz x zwierają już wyraz wolny (zwany również biasem) • W przypadku poprawnej kalsyfikacji, dla pierwszej klasy mamy a dla drugiej Dyskryminacja liniowa Perceptron • Oznaczenie: • Wtedy dla zi poprawnie zaklasyfikowanego mamy: Dyskryminacja liniowa Perceptron • Dla przykładów ze zbioru M (przykłady, dla których brak poprawnej klasyfikacji przez perceptron) definiujemy tzw. Kryterium perceptronowe: Zadanie uczenia perceptronu: zminimalizuj ze względu na wagi w wartośd kryterium perceptronowego. Dyskryminacja liniowa Perceptron • Jeśli klasy rzeczywiście są liniowo separowalne, to zadanie to można łatwo rozwiązad metodą najszybszego spadku. • Gradient kryterium perceptronowego wynosi • Aktualizacja wag odbywa iteracyjnie się zgodnie z: nl jest parametrem uczenia sterującym szybskością zmian wartości wag. Dyskryminacja liniowa Perceptron • Aktualizacja wag może odbywad się: – W trybie wsadowym (poprzedni slajd) – Po prezentacji każdego przykłądu, jeśli został on błędnie zaklasyfikowany Dyskryminacja liniowa Perceptron • Dowiedzione jest, że jeśli klasy są liniowo separowalne, oraz przy pewnych założeniach co do wartości nl, algorytm ten znajduje rozwiązanie w skooczonej liczbie kroków. • Wady – Czasami potrzebna jest duża liczba iteracji – Rozwiązanie nie jest jednoznaczne, zależy od początkowego wektora wag – Jeśli problem nie jest liniowoseparowalny, algorytm nie jest zbieżny • ciężkie do wykrycia: brak zbieżności vs wolna zbieżnośd Dyskryminacja liniowa Perceptron Reguła Widrowa-Hoffa 1 w0 w1 x1 w2 x2 Przykład dla dwóch atrybutów Na wyjściu neuronu jest liniowa kombinacja atrybutów (brak funkcji progowej) Dyskryminacja liniowa Perceptron Reguła Widrowa-Hoffa • Kryterium uczenia perceptronu może byd również minimalizacja kwadratów odległości między odpowiedzią modelu a pożądanymi odpowiedziami y, np. -1 dla klasy pierwszej oraz 1 dla klasy drugiej Różnica między wartościami pożądanymi a odpowiedziami modelu Minimalizacji podlega wyrażenie: Dyskryminacja liniowa Perceptron • Gradientem względem wektora w jest: • Podobnie jak w regresji liniowej otrzymujemy metodę obliczenia wag: Dyskryminacja liniowa Perceptron • W wersji iteracyjnej (aktualizacja wag po prezentacji każego przykłądu uczącego) otrzymujemy regułę uczenia Widrowa-Hoffa (tzw. reguła delta): Dyskryminacja liniowa Perceptron • Dla wielu klas – Każda klasa ma przyporządkowany sobie jeden perceptron – Dla tego perceptronu, jego klasa to “1”, wszystkie pozostałe to “-1” Dyskryminacja liniowa Perceptron wielowarstwowy • Czy jest sens łączyd perceptrony liniowe w większe sieci? 1 x1 1 w1 y1 w3 x2 w1=[w10, w11, w12] w2 y3 y2 w2=[w20, w21, w22] w3=[w30, w31, w32] Dyskryminacja liniowa Perceptron wielowarstwowy y1 = w10+w11x1+w12x2 y2 = w20+w21x1+w22x2 y3 = w30+w31y1+w32y2 = w30+w31*(w10+w11x1+w12x2) + w32*(w20+w21x1+w22x2) = (w30 + w31w10 + w32w20) + x1*(w31w11+w32w21) + x2*(w31w12+w32w22) = w40 + w41x1 + w42x2 Dyskryminacja liniowa Perceptron wielowarstwowy y1 = w10+w11x1+w12x2 y2 = w20+w21x1+w22x2 y3 = w30+w31y1+w32y2 = w30+w31*(w10+w11x1+w12x2) + w32*(w20+w21x1+w22x2) = (w30 + w31w10 + w32w20) + x1*(w31w11+w32w21) + x2*(w31w12+w32w22) = w40 + w41x1 + w42x2 Liniowa kombinacja liniowych kombinacji jest również liniową kombinacją. Dyskryminacja liniowa Perceptron wielowarstwowy Neurony w warstwach ukrytych powinny mied nieliniowe funkcje aktywacji. Dyskryminacja liniowa Perceptron wielowarstwowy • Neurony w warstwach ukrytych powinny mied nieliniowe funkcje aktywacji. • Warstwy ukryte, poprzez nieliniowe transformacje sygnałów wejściowych, przenoszą problem do nowych przestrzeni, w których są one rozwiązywane przez liniowe neurony z warstwy wyjściowej sieci. Dyskryminacja liniowa Perceptron wielowarstwowy