W ostatnim wykładzie doszliśmy do tego, że problem znalezienia klasyfikatora optymalnego pod względem marginesów można wyrazić w następujący sposób:

Podobne dokumenty
0 + 0 = 0, = 1, = 1, = 0.

5. Rozwiązywanie układów równań liniowych

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

Macierze. Rozdział Działania na macierzach

3. Macierze i Układy Równań Liniowych

a 11 a a 1n a 21 a a 2n... a m1 a m2... a mn x 1 x 2... x m ...

Programowanie celowe #1

3. FUNKCJA LINIOWA. gdzie ; ół,.

Programowanie liniowe

KADD Metoda najmniejszych kwadratów funkcje nieliniowe

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie:

Optymalizacja ciągła

Metoda eliminacji Gaussa. Autorzy: Michał Góra

Metoda graficzna może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład):

Układy równań i nierówności liniowych

Układy równań liniowych

Z52: Algebra liniowa Zagadnienie: Zastosowania algebry liniowej Zadanie: Operatory różniczkowania, zagadnienie brzegowe.

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

KADD Minimalizacja funkcji

FUNKCJA KWADRATOWA. Zad 1 Przedstaw funkcję kwadratową w postaci ogólnej. Postać ogólna funkcji kwadratowej to: y = ax + bx + c;(

Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami

2. Układy równań liniowych

Propozycje rozwiązań zadań z matematyki - matura rozszerzona

7. Maszyny wektorów podpierajacych SVMs

Optymalizacja ciągła

Pochodne cząstkowe i ich zastosowanie. Ekstrema lokalne funkcji

1 Równania różniczkowe zwyczajne o rozdzielonych zmiennych

Wstęp. Regresja logistyczna. Spis treści. Hipoteza. powrót

Rozdział 1 PROGRAMOWANIE LINIOWE

Układy równań. Kinga Kolczyńska - Przybycień 22 marca Układ dwóch równań liniowych z dwiema niewiadomymi

Optymalizacja ciągła

Liczby zespolone. x + 2 = 0.

1 Układy równań liniowych

Algebra liniowa. Macierze i układy równań liniowych

Aby mówić o procesie decyzyjnym Markowa musimy zdefiniować następujący zestaw (krotkę): gdzie:

Zaawansowane metody numeryczne

Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych

Całka nieoznaczona, podstawowe wiadomości

Agnieszka Nowak Brzezińska Wykład III

WYKŁAD 9 METODY ZMIENNEJ METRYKI

Informacja o przestrzeniach Sobolewa

1 Pochodne wyższych rzędów

CIĄGI wiadomości podstawowe

KADD Minimalizacja funkcji

SVM: Maszyny Wektorów Podpieraja cych

POD- I NADOKREŚLONE UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Data Mining Wykład 6. Naiwny klasyfikator Bayes a Maszyna wektorów nośnych (SVM) Naiwny klasyfikator Bayesa.

Document: Exercise*02*-*manual /11/ :31---page1of8 INSTRUKCJA DO ĆWICZENIA NR 2

Funkcje liniowe i wieloliniowe w praktyce szkolnej. Opracowanie : mgr inż. Renata Rzepińska

UCZENIE MASZYNOWE III - SVM. mgr inż. Adam Kupryjanow

1 Macierz odwrotna metoda operacji elementarnych

Pochodna i różniczka funkcji oraz jej zastosowanie do obliczania niepewności pomiarowych

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego.

Agnieszka Nowak Brzezińska

Algebra Liniowa 2 (INF, TIN), MAP1152 Lista zadań

UKŁADY RÓWNAŃ LINIOWYCH

Formy kwadratowe. Rozdział 10

Rozwiązywanie układów równań liniowych

Agnieszka Nowak Brzezińska Wykład III

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Metody numeryczne Wykład 4

Zaawansowane metody numeryczne

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

1 Całki funkcji wymiernych

Metody numeryczne I Równania nieliniowe

Klasyczne zagadnienie przydziału

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra

FUNKCJA LINIOWA - WYKRES

Optymalizacja ciągła

jest rozwiązaniem równania jednorodnego oraz dla pewnego to jest toŝsamościowo równe zeru.

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

Algebra liniowa z geometrią

Statystyka opisowa. Wykład V. Regresja liniowa wieloraka

RÓWNANIA RÓŻNICZKOWE ZWYCZAJNE

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

W. Guzicki Próbna matura, grudzień 2014 r. poziom rozszerzony 1

Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne.

Przestrzenie wektorowe

Przykładowe zadania z teorii liczb

Przestrzeń unitarna. Jacek Kłopotowski. 23 października Katedra Matematyki i Ekonomii Matematycznej SGH

5. Analiza dyskryminacyjna: FLD, LDA, QDA

; B = Wykonaj poniższe obliczenia: Mnożenia, transpozycje etc wykonuję programem i przepisuję wyniki. Mam nadzieję, że umiesz mnożyć macierze...

Dystrybucje. Marcin Orchel. 1 Wstęp Dystrybucje Pochodna dystrybucyjna Przestrzenie... 5

ZASTOSOWANIE ZASADY MAKSIMUM PONTRIAGINA DO ZAGADNIENIA

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1

Pochodna i różniczka funkcji oraz jej zastosowanie do rachunku błędów pomiarowych

Rozwiązywanie równań nieliniowych

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.

Rachunek wektorowy - wprowadzenie. dr inż. Romuald Kędzierski

Przykładami ciągów, które Czytelnik dobrze zna (a jeśli nie, to niniejszym poznaje), jest ciąg arytmetyczny:

Analiza funkcjonalna 1.

Popularne klasyfikatory w pakietach komputerowych

Układy równań liniowych i metody ich rozwiązywania

Rozwiązania, seria 5.

Wykład z równań różnicowych

Zadania 1. Czas pracy przypadający na jednostkę wyrobu (w godz.) M 1. Wyroby

Pochodna funkcji odwrotnej

Programowanie nieliniowe. Badania operacyjne Wykład 3 Metoda Lagrange a

Dystrybucje, wiadomości wstępne (I)

Transkrypt:

Spis treści 1 Maszyny Wektorów Wspierających 2 1.1 SVM w formaliźmie Lagranga 1.2 Przejście do pstaci dualnej 1.2.1 Wyznaczenie parametrów modelu: 1.2.2 Klasyfikacja: 2 Funkcje jądrowe 2.1 Mapowanie do przestrzeni wielowymiarowych 2.2 Sprytne liczenie iloczynów skalarnych 2.3 Twierdzenie Mercera 3 Regularyzcja i przypadki nieseparowalne liniowo 4 Algorytm SMO - sekwencyjnej minimalnej optymalizacji 4.1 Optymalizacja osiowa 4.2 Algorytm SMO Maszyny Wektorów Wspierających 2 SVM w formaliźmie Lagranga W ostatnim wykładzie doszliśmy do tego, że problem znalezienia klasyfikatora optymalnego pod względem marginesów można wyrazić w następujący sposób: Można go przepisać w takiej postaci aby pasowała do formalizmu uogólnionej metody Lagrangea, którą omówiliśmy na poprzednim wykładzie: Każdy przykład z ciągu uczącego dodaje nam jeden wiąz. Do uogólnianego Lagrangianu warunki te wchodzą z wagami. Można zauważyć na podstawie warunków KKT, że tylko te są niezerowe (tak konkretnie to ), dla których warunek jest spełniony z równością, tzn.. Są to punkty położone najbliżej hiperpowierzchni decyzyjnej. To właśnie te punkty nazywane są wektorami wspierającymi. Później okaże się, że fakt iż wektorów wspierających jest tak na prawdę mało jest bardzo użyteczny. Lagrangian dla problemu SVM w postaci pierwotnej wygląda tak:

W Lagrangianie występują tylko mnożniki, ponieważ mamy więzy tylko w postaci nierówności. Przejście do pstaci dualnej Teraz zajmiemy się formułowaniem problemu optymalizacyjnego (%i 1) w postaci dualnej. Pozwoli nam to na rozwiązywanie problemów, które nie są separowalne liniowo. Najpierw uzyskajmy. Aby to uczynić musimy zminimalizować po i, trzymając stałe. W tym celu policzymy pochodną po i po i położymy je równe zero: Stąd: Dla mamy: Jeśli teraz weźmiemy z (%i 4) i wstawimy do Lagrangianu (%i 3) to otrzymamy: Ale z równania (%i 5) wynika, że ostatni człon tego wyrażenia jest równy zero, więc mamy:

Pojawiające się tu wyrażenie to iloczyn skalarny wektorów oraz, bedziemy je dalej zapisywać jako. Zatem nasz dualny problem optymalizacyjny można zapisać tak: Spełnione są warunki KKT, zatem rozwiązanie tego problemu dualnego jest też rozwiązaniem naszego problemu pierwotnego. Wyznaczenie parametrów modelu: Zakładając, że mamy algorytm znajdujący, które maksymalizują (będzie o nim w dalszej części tego wykładu) możemy podstawić to do równania (%i 4) i wyznaczyć : a następnie obliczyć optymalne ze wzoru: Klasyfikacja: Teraz chcąc przewidzieć jaką klasę przydzielić nowemu przypadkowi musielibyśmy policzyć i jeśli otrzymamy wartość ujemną to klasyfikujemy jako typ a w przeciwnym wypadku jako 1. Skorzystajmy w tych obliczeniach z równania (%i 4): Zatem aby wykonać klasyfikację nowego przypadku wektorami wspierającymi ze zbioru uczącego (tymi, dla których zbiorze uczącym musimy obliczyć jego iloczyn skalarny z, dla pozostałych wektorów w ), a tych jak już wcześniej wspominaliśmy jest zazwyczaj niewiele. Samo obliczanie iloczynów skalarnych można przeprowadzić bardzo wydajnie stosując odpowiednie funkcje jądrowe.

Funkcje jądrowe Mapowanie do przestrzeni wielowymiarowych Nasze dotychczasowe algorytmy klasyfikacyjne, z wyjątkiem nieliniowych sieci wielowarstwowych, były ograniczone do rozwiązywania problemów separowalnych liniowo. Okazuje się jednak, że często można uczynić problem separowalnym liniowo poprzez przemapowanie oryginalnych danych wejściowych do jakiejś więcej wymiarowej przestrzeni. Dla przykładu rozważmy dwa zbiory punktów jednowymiarowych. Jeden zbiór skupiony jest wokół zera a drugi rozłożony równomiernie po lewej i prawej jego stronie. Przechodząc ze zmiennych do punkty stają się liniowo separowalne. W ogólności wprowadzimy funkcję mapującą, która przenosi punkty z oryginalnej przestrzeni wejściowej do rozszerzonej przestrzeni cech. W powyższym przykładzie byłoby to: Aby skorzystać z takiego mapowania wystarczy w naszych algorytmach uczących zamienić wszędzie na. Podobnie możemy postąpić z algorytmem SVM. W postaci dualnej algorytm SVM jest wyrażony całkowicie przez iloczyny skalarne. Możemy zatem zastąpić wszystkie wyrażenia przez. Sprytne liczenie iloczynów skalarnych Dla danego mapowania zdefiniujemy jądro (kernel): wtedy wszędzie gdzie w algorytmie występuje wstawiamy i otrzymujemy algorytm działający w przestrzeni, do której mapuje. Co ciekawe okazuje się, że w wielu praktycznie interesujących przypadkach, aby obliczyć nie musimy wcale przechodzić całej drogi: (taka droga zresztą mogła by być niewykonalna, np. w przypadku mapowania do przestrzeni nieskończenie wymiarowej). Rozważmy przykład: Rozpisując to wyrażenie na współrzędne otrzymujemy:

Widzimy tu, że jeśli popatrzeć na tak: to owo związane jest z mapowaniem, które w jawnej postaci dla wyglądałoby tak: Zauważmy, że samo obliczenie mapowania w tym przypadku jest operacją o złożoności obliczeniowej natomiast obliczenie jądra za pomocą równia (%i 9) jest operacją o złożoności obliczeniowej. Podobne własności ma jądro: Jawna postać mapowania odpowiadającego temu jądru wygląda następująco (dla ):

czyli zawiera zarówno wyrazy pierwszego rzędu ( ) oraz drugiego rzędu ( ). Parametr kontroluje względny udział części liniowej. W ogólności jądro postaci odpowiada mapowaniu do wymiarowej przestrzeni parametrów, której wymiary są rozpięte przez wszystkie iloczyny typu do rzędu. Dzięki sztuczce z jądrem nigdy nie musimy jawnie obliczać tych wielowymiarowych wektorów i obliczenia nadal mają złożoność. aż Twierdzenie Mercera Na jądro możemy patrzeć jak na funkcję, która jest jakąś miarą podobieństwa pomiędzy wektorami cech. W szczególności gdyby nasze wektory cech były znormalizowane do jedynki to duża wartość jądra odpowiadałaby wektorom bardzo podobnym, zaś wartość jądra bliska zeru odpowiadałaby wektorom cech, które są do siebie prawie ortogonalne, tzn. mało podobne. Idąc tym tropem możemy zapostulować także inne funkcje jądra, które w jakimś sensie mogłyby stanowić miarę podobieństwa między wektorami. Popularną funkcją jest np. funkcja Gaussa, prowadząca do jądra Gaussowskiego następującej postaci: Jak w ogólności sprawdzić czy wymyślona przez nas funkcja jest dobrym kandydatem na jądro? Rozważymy to najpierw na przykładzie a potem podamy ogólne twierdzenie. Załóżmy, że mamy pewną funkcję, która jest jądrem pewnego mapowania. Załóżmy dalej, że mamy pewien zbiór punktów. Zdefiniujmy macierz zwaną macierzą jądra w taki sposób, że jej

element dany jest wzorem: Zauważmy, że macierz ta musi być symetryczna, bo: Druga obserwacja jest następująca. Niech oznacza -tą współrzędną wektora. Wtedy dla dowolnego wektora mamy: Ponieważ powyższe obliczenie pokazuje, że dla dowolnego wyrażenie oznacza, że macierz jest dodatnio określona. jest nieujemne to Pokazaliśmy w tym przykładzie, że jeśli mamy jakieś mapowanie i związane z nim jądro to macierz jądra jest symetryczna i dodatnio określona. Okazuje się, że jest to warunek konieczny i wystarczający, aby funkcja była jądrem, jest to twierdzenie Mercera. Warto sobie uświadomić, że podejście "jądrowe" ma znacznie szersze zastosowanie niż tylko algorytm SVM. Jeśli tylko jesteśmy w stanie wyrazić algorytm w postaci bazującej na iloczynach skalarnych (da się to w szczególności zrobić np. dla regresji logistycznej) to zamiana tych iloczynów na funkcje jądra daje nam algorytm działający efektywnie w przestrzeni, do której przenosi nas odwzorowanie. Dzięki temu można spowodować, że wiele problemów, które nie są separowalne liniowo w pierwotnej przestrzeni wejść staje się separowalna liniowo w tej nowej, więcej wymiarowej przestrzeni.

Regularyzcja i przypadki nieseparowalne liniowo Zaprezentowana dotychczas wersja SVM zakładała, że dane są liniowo separowalne. Sztuczka z jądrem mapującym zwiększa co prawda szansę na otrzymanie problemu liniowo separowalnego, ale nie daje na to gwarancji. Co więcej w dotychczasowej wersji nasz algorytm SVM jest bardzo podatny na outliery, czyli przypadki odstające. (Pokażemy to na ćwiczeniach) Aby poprawić oba te problemy można zastosować regularyzację: Oznacza ona tyle, że zgadzamy się na to, że nie wszystkie marginesy funkcyjne są większe niż 1 (przypomnijmy, że ujemny margines funkcyjny odpowiadał złej klasyfikacji), ale karzemy algorytm za naruszanie tego warunku przez zwiększanie funkcji celu. Parametr kontroluje jak bardzo nie podoba nam się błędne klasyfikowanie przypadków. Aby rozwiązać ten problem optymalizacyjny też posłużymy się mnożnikami Lagrangea. Formułujemy Lagrangian następującej postaci: gdzie i są mnożnikami Lagrangea. Przejście do postaci dualnej polega na policzeniu pochodnej Lagrangianu względem i, przyrównaniu od zera i podstawieniu otrzymanych wyrażeń ponownie do Lagragianu (tak jak tu tu link ) otrzymujemy problem dualny następującej postaci: Do rozwiązania powyższego problemu dobrze stosuje się algorytm SMO (Sequential Minimal Optimization) [opis algorytmu zaproponowanego przez J. Platta (1998)]. Po wyznaczeniu za jego pomocą parametrów i można wykonywać predykcję nowych przykładów zgodnie z równaniem (%i 8).

Algorytm SMO - sekwencyjnej minimalnej optymalizacji Zanim przejdziemy do omówienia właściwego algorytmu SMO zrobimy dygresję na temat optymalizacji osiowej. Optymalizacja osiowa Załóżmy, że chcemy rozwiązać następujący problem optymalizacyjny bez więzów: Jeśli funkcja jest wypukła to algorytm, który w pętli kolejno optymalizuje jedno, trzymając w danym kroku optymalizacyjnym pozostałe alfy stałe, jest zbieżny. (na tablicy rysunek konturowy paraboloidy ze zbiegającym osiowo rozwiązaniem) Algorytm SMO Chcemy rozwiązać problem optymalizacyjny (%i 10). Nie da się do niego zastosować algorytmu optymalizacji osiowej bo drugi warunek narzuca więzy na. Jeśli ustalimy wartości to ostatnia -ta wartość też już jest ustalona: Lub korzystając z faktu, że i mnożąc stronami przez mamy:. Zatem najmniejszy możliwy problem optymalizacyjny wymaga jednoczesnej optymalizacji dwóch parametrów. Najogólniej algorytm SMO wygląda więc następująco: Powtarzaj, aż zbiegniesz: 1. Wybierz parę i do optymalizacji (na podstawie heurystyki szacującej która para da największe zbliżenie do maksimum). 2. Popraw biorąc pod uwagę i trzymając pozostałe alfy stałe.

Testem na zbieżność są tu warunki KKT, które powinny zostać spełnione z zadaną tolerancją. Rozważmy krok 2. powyższego algorytmu. Załóżmy, że chcemy wykonać maksymalizację ze względu na parametry i trzymając pozostałe parametry stałe. Z drugiego warunku mamy: gdzie jest stałą. Oznacza to, że punkt. będący rozwiązaniem musi leżeć na prostej (rysunek na tablicy: prosta przecinająca kwadrat [0,C]x[0,C]) Przekształcając równanie (%i 11) mamy: Zatem funkcja celu może być zapisana jako: Ponieważ trzymamy w tym kroku parametry jato stałe to funkcja celu jest funkcją kwadratową parametru. Można by ją zapisać w postaci dla odpowiednio dobranych i. Łatwo można zmaksymalizować analitycznie funkcję w przypadku swobodnym, a następnie przyciąć rozwiązanie do "pudełka" wynikającego z więzów.