Systemy ucz ˛ace si˛e: notatki do wykładów - e-WMP
Transkrypt
Systemy ucz ˛ace si˛e: notatki do wykładów - e-WMP
Systemy uczace ˛ si˛e: notatki do wykładów Krzysztof A. Krakowski 1 Grudzień 2011 – Październik 2012 1 Autor pragnie podzi˛ekować panu doktorowi Christfried Webers (NICTA, Canberra, Australia) za udost˛epnienie swoich materiałów dydaktycznych, które stoja˛ u źródła poniższego materiału. SPIS TREŚCI 1 Wykład 1 — Przeglad ˛ 1.1 Wprowadzenie — Co to sa˛ „systemy uczace ˛ si˛e”? . . . . . 1.2 Przykład i Filozofia . . . . . . . . . . . . . . . . . . . . . 1.2.1 The Widrow-Hoff algorithm . . . . . . . . . . . . 1.2.2 The stochastic descent learning algorithm . . . . 1.3 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Related Fields . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Some Basic Notation . . . . . . . . . . . . . . . . . . . . 1.6 Some Fundamental Types of Learning . . . . . . . . . . 1.6.1 Uczenie nadzorowane (ang.. supervised learning) 1.7 Training Regimes . . . . . . . . . . . . . . . . . . . . . . 1.8 Czasopisma oraz Konferencje . . . . . . . . . . . . . . . . . . . . . . . . . . 7 7 7 9 9 9 10 10 10 11 11 11 2 Ćwiczenia 1 — Wprowadzenie w ‘R’ 2.1 Dlaczego ‘R’? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Regresja za pomoca˛ wielomianów . . . . . . . . . . . . . . . . . . . . . . . . . 13 13 14 3 Wykład 2 — Podstawy Rachunku Prawdopodobieństwa 3.1 Prawdopodobieństwo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 16 4 Ćwiczenia 2 — Analiza Bł˛ edów Przybliżenia w ‘R’ 4.1 Regresja za pomoca˛ wielomianów . . . . . . . . . . . . . . . . . . . . . . . . . 20 20 5 Wykład 3 — Rachunek Prawdopodobieństwa i Podstawy Algebry Liniowej 5.1 G˛estość Prawdopodobieństwa . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Wartość Oczekiwana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Prawdopodobieństwo Bayesa . . . . . . . . . . . . . . . . . . . . . . . . 5.4 Podstawy Algebry Liniowej . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 22 23 25 28 6 Ćwiczenia 3 — Analiza Bł˛ edów Przybliżenia w ‘R’ 6.1 Regresja za pomoca˛ wielomianów . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Problem z dużymi wymiarami . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 31 34 7 Wykład 4 — G˛ estość Gaussa i Bazy 7.1 G˛estość Prawdopodobieństwa Gaussa na Wektorze . . . . . . . . . . . . . . . 35 35 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SPIS TREŚCI Systemy uczące się 8 Ćwiczenia 4 — Analiza Danych 8.1 Poprawność założenia o g˛estości prawdopodobieństwa . . . . . . . . . . . . . 37 37 9 Wykład 5 — Klasyfikatory Liniowe i Teoria Decyzji 9.1 Teoria Decyzji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 40 10 Ćwiczenia 5 — Klasyfikacja Liniowa 10.1 Klasyfikacja poprzez Linowa˛ Dyskryminacj˛e Fisher’a . . . . . . . . . . . . . . . 42 42 11 Wykład 6 & 7 — Klasyfikatory Liniowe Wieloklasowe 11.1 Uogólnienie do klas wi˛ecej niż dwie . . . . . . . . . 11.2 Klasyfikacja oparta na funkcji kwadratowej bł˛edu . 11.3 Klasyfikacja Fisher’a . . . . . . . . . . . . . . . . . 11.4 Porównanie . . . . . . . . . . . . . . . . . . . . . . 45 45 46 48 50 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Ćwiczenia 6 — Rachunek Prawdopodobieństwa 52 13 Wykład 8 — Klasyfikatory Liniowe Wieloklasowe 13.1 Statystyczne spojrzenie . . . . . . . . . . . . . 13.2 Dwie klasy . . . . . . . . . . . . . . . . . . . . 13.3 Uogólnienie do klas wi˛ecej niż dwie . . . . . . 13.4 Przypadek ciagły ˛ . . . . . . . . . . . . . . . . 13.4.1 Znalezienie parametrów . . . . . . . . 13.5 Systemy Dyskretne . . . . . . . . . . . . . . . 13.6 Regresja logistyczna . . . . . . . . . . . . . . 54 54 55 55 55 56 57 58 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 Ćwiczenia 9 — Rachunek Prawdopodobieństwa 60 15 Wykład 9 — Sieci Neuronowe 15.1 Wst˛ep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15.2 Funkcje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 61 61 16 Ćwiczenia 10 — Analiza Matematyczna 63 17 Wykład 11 — Sieci Neuronowe Kolejny Raz 17.1 Wst˛ep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17.2 Regresja i Klasyfikacja . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 65 65 18 Ćwiczenia 11 — Sieci Neuronowe 67 19 Wykład 12 — PCA 19.1 Wst˛ep . . . . . . . . . . . . . . . . . . 19.2 Analiza Składowych Głównych . . . . 19.2.1 Maksymalizacja wariancji . . . 19.2.2 Minimalizacja kosztu projekcji . 19.3 Zastosowania PCA . . . . . . . . . . . 19.4 PCA w dużych wymiarach . . . . . . . 20 Ćwiczenia 12 — Rozpoznawanie Obrazów Uniwersytet Kardynała Stefana Wyszyńskiego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 70 71 71 72 73 74 76 wersja X Systemy uczące się SPIS TREŚCI 21 Używane Komendy J˛ ezyka ‘R’ wersja X 83 Uniwersytet Kardynała Stefana Wyszyńskiego Wykłady i Ćwiczenia 6 ROZDZIAŁ WYKŁAD 1 — PRZEGLAD ˛ Zagadnienia 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.1 Wprowadzenie — Co to sa˛ „systemy uczace ˛ si˛e”? Przykład i Filozofia Definition Related Fields Some Basic Notation Some Fundamental Types of Learning Training Regimes Czasopisma oraz Konferencje Wprowadzenie — Co to sa˛ „systemy uczace ˛ si˛e”? Problem rozpoznawanie wzorów jest jednym z podstawowych zagadnień w nauce, które ma długa˛ długa˛ histori˛e sukcesów. Dla przykładu, Tycho Brahe w 16-stym wieku zgromadził olbrzymia˛ ilość obserwacji astronomicznych, które umożliwiły Keplerowi odkryć prawa empiryczne ruchu planet. Te z kolei stały u podstaw mechaniki klasycznej. Podobnie, odkrycie regularności w spektrach atomowych odegrały rol˛e w rozwoju fizyki kwantowej w poczatkach ˛ 20-go wieku. Dziedzina rozpoznawania obrazów zajmuje si˛e automatycznym wyszukiwaniem regularności w danych za pomoca˛ algorytmów komputerowych. Za pomoca˛ znalezionych regularności systemy te sa˛ w stanie klasyfikować dane do różnych klas i kategorii. 1.2 Przykład i Filozofia Weźmy na poczatek ˛ praktyczny przykład rozpoznawania r˛ecznie pisanych cyfr, Rysunek 1.1. Każdej cyfrze odpowiada obraz 28 × 28 pikseli, który można reprezentować poprzez wektor x zawierajacy ˛ 784 liczb rzeczywistych. Jeśli przyjmiemy, że każdy z pikseli może mieć odcień szarości od zera do jednego, to wtedy x ∈ [0, 1]28×28 ⊂ R28×28 . Zadaniem jest zbudowanie urzadzenia, ˛ które przyporzadkuje ˛ taki wektor do jednej z cyfr 0, 1, . . . , 9. Jest to nietrywialny problem biorac ˛ pod uwag˛e ilość różnych stylów r˛ecznego pisma. 7 Systemy uczące się 1.2. PRZYKŁAD I FILOZOFIA Rysunek 1.1: przykłady cyfr pisanych r˛ecznie Popatrzmy na statystyczne systemy uczace ˛ si˛e z innego punktu widzenia. Załóżmy że bierzemy udział w grze w przepowiadanie pogody. Majac ˛ do dyspozycji dane z dni poprzednich, mam przepowiedzieć czy dzisiaj b˛edzie świecić słońce czy padać deszcz. Za każda˛ poprawna˛ przepowiedni˛e wygrywam stawk˛e, za zła˛ przegrywam. Jaka˛ strategi˛e przyjać ˛ aby zmaksymalizować wygrana? ˛ Nawet, jeśli uda mi si˛e wygrać wszystkie kolejne rundy, to czy mog˛e powiedzieć, że poznałem prawa natury rzadz ˛ ace ˛ pogoda? ˛ Jednym z podejść do zagadnienia uczenia si˛e jest tak zwany model czarnej skrzynki. Załóżmy, że mamy system rozwijajacy ˛ si˛e z czasem, system dynamiczny, którego działania nie 1 znamy. Wejście do tego systemu oznaczymy przez x(t) a wyjście przez y(t). Możemy obserwować jedynie ciagi ˛ xτ := (x(1), x(2), . . . , x(τ )) oraz y τ := (y(1), y(2), . . . , y(τ )) . Chcemy poznać relacj˛e pomi˛edzy obserwacjami (xτ , y τ ) oraz kolejnym wyjściem y(τ + 1). Ogólnie możemy taki system zapisać jako y(τ + 1) = f (xτ , y τ ) + v(τ ). Wybieramy zatem „najlepszy” model fˆ ∈ G z klasy rozważanych modeli (funkcji) G. Porównywać modele, lepsze czy gorsze, możemy jedynie na podstawie zaistniałych już obserwacji. Kryterium porównania zatem może być na przykład wyrażenie X ky(t + 1) − f (xt , y t )k2 . (1.1) t Łatwo zauważyć, że problem ten przypomina metod˛e regresji, sprowadzajacy ˛ si˛e do wybrania takiego modelu fˆ ∈ G, który minimalizuje (1.1). Aby oszacować limitacje takiej regresji, sprecyzujmy ten problem jeszcze bardziej. Niech ˛ Ponadto, niech L : X × Y → R X oznacza przestrzeń wejściowa˛ a Y przestrzeń wyjściowa. b˛edzie funkcja, ˛ za pomoca˛ ktrej można mierzyć koszt danej hipotezy f : X → Y na parze (x, y) ∈ X × Y. Niech ten koszt b˛edzie oznaczony za pomoca˛ φ((x, y), f ) := L(y, f (x)). Oceniamy poprawność hipotezy f za pomoca˛ oczekiwanego ryzyka, obliczajac ˛ wartość oczekiwana˛ ze wzgl˛edu na g˛estość prawdopodobieństwa PX ×Y : Z R(f ) := E[L(Y, f (X))] = φ(z, f ) dP (z), 1 Opracowano na podstawie [8]. wersja X Uniwersytet Kardynała Stefana Wyszyńskiego 1.3. DEFINITION Systemy uczące się gdzie z = (x, y), oraz P jest funkcja˛ g˛estości zmiennych losowych (X, Y ) na zbiorze X × Y. Nasz problem możemy teraz sformułować w nast˛epujacy ˛ sposób: majac ˛ dane (xi , yi )ni=1 , ∗ gdzie yi = f (xi ) + ei , gdzie ei jest szumem, znajdź fˆ∗ := arg min R(f ), f ∈F gdzie F jest pewna˛ klasa˛ funkcji. 1.2.1 The Widrow-Hoff algorithm wt+1 = wt − η ∂ w L(wt , (xt , yt )), gdzie L: M × X × Y → R (1.2) 0.02 0.015 0.01 0.005 0 0 10 20 30 40 50 Step Rysunek 1.2: bład ˛ zmniejsza si˛e w kolejnych krokach algorytmu Widrow-Hoff’a 1.2.2 1.3 The stochastic descent learning algorithm Definition ã Aktualne systemy informacyjne nie posiadaja˛ zdolności samokorekcji prostych bł˛edów ã Rozwój systemów doradczych w wielu dziedzinach — nabywanie wiedzy dla systemów eksperckich czy systemów z baza˛ wiedzy ã Poszukiwanie informacji w „powodzi” danych — systemy odkryć wiedzy w bazach danych ã Wzrost zastosowań techniki analizy danych, teorii decyzji, sztucznej inteligencji w wielu komercyjnych dziedzinach oraz sferze badawczej ã Budowanie inteligentnych systemów wyszukiwania i udost˛epniania informacji (także Internet!) ã Rozwój komputerowych systemów przetwarzania i rozpoznawania obrazów Uniwersytet Kardynała Stefana Wyszyńskiego wersja X Systemy uczące się 1.4. RELATED FIELDS target parameter 0.3 0.2 p2 0.1 0 0 0.1 0.2 0.3 p1 Rysunek 1.3: „uczenie si˛e jest reprezentowane za pomoca˛ krzywej zbliżajacej ˛ si˛e do punktu optymalnego” — Amari ã Prace nad rozumieniem ludzkiej mowy i przetwarzaniem j˛ezyka naturalnego ã Zastosowania w robotyce i sterowaniu ã Inteligentne systemy kompresji danych ã Tworzenie inteligentnych systemów edukacyjnych ã Post˛ep w budowie systemów współpracy człowiek — maszyna ã Rozwój badań nad ludzkim poznawaniem i uczeniem si˛e 1.4 Related Fields 1.5 Some Basic Notation 1.6 Some Fundamental Types of Learning Dwie grupy metod: ã uczenie si˛e nadzorowane ã uczenie si˛e nienadzorowane wersja X Uniwersytet Kardynała Stefana Wyszyńskiego 1.7. TRAINING REGIMES 1.6.1 Systemy uczące się Uczenie nadzorowane (ang.. supervised learning) System otrzymuje zbiór przykładów uczacych ˛ (learning examples) w postaci xi , yi i ma na celu nauczyć si˛e funkcji f , takiej że f (xi ) = yi dla każdego i. Określona liczba wartości yi — klasy (classes) lub klasy decyzyjne (decision classes). Dla pojedynczych klas (odnoszacych ˛ si˛e do pewnych poj˛eć) — definiuje si˛e przykłady pozytywne (odnoszace ˛ si˛e do tej klasy) i negatywne (odnoszace ˛ si˛e do innych klas). Uczenie si˛e poj˛eć (ang. concept learning) — f jest definicja/uogólnieniem ˛ poj˛ecia, które wyjaśnia przykłady pozytywne i wyklucza negatywne. 1.7 Training Regimes ??? (Batch Learning) All training data x = x1 , . . . , xn and targets t = t1 , . . . , tn are given. Learn a mapping from xi to ti , which can then be applied to yet unseen data x0 = x01 , . . . , x0m to find t0 = t01 , . . . , t0m . Nauka On-Line (Online Processing) Pairs of (xi , ti ) become available one at a time. At each step, learn and refine a mapping from xi to ti which can then be applied to yet unseen data x0i . 1.8 Czasopisma oraz Konferencje Czasopisma: ã Journal of Machine Learning Research Machine Learning ã IEEE Transactions on Pattern Analysis and Machine Intelligence ã Neural Computation ã Neural Networks ã IEEE Transactions on Neural Networks ã Annals of Statistics ã Journal of the American Statistical Association ã SIAM Journal on Applied Mathematics (SIAP) Popularne konferencje: ã Algorithmic Learning Theory (ALT) ã Computational Learning Theory (COLT) ã Uncertainty in Artifcial Intelligence (UAI) ã Neural Information Processing Systems (NIPS) ã European Conference on Machine Learning (ECML) Uniwersytet Kardynała Stefana Wyszyńskiego wersja X Systemy uczące się 1.8. CZASOPISMA ORAZ KONFERENCJE ã International Conference on Machine Learning (ICML) ã International Joint Conference on Artificial Intelligence (IJCAI) ã International Conference on Artificial Neural Networks (ICANN) wersja X Uniwersytet Kardynała Stefana Wyszyńskiego ROZDZIAŁ ĆWICZENIA 1 — WPROWADZENIE W ‘R’ 2.1 Dlaczego ‘R’? Środowisko do obliczeń ‘R’ jest dobrym programem dost˛epnym na wszystkich popularnych platformach: Linux, Microsoft Windows i Mac OS. Jest to projekt GNU, a zatem bezpłatny z dost˛epnym kodem źródłowym oraz posiada dobra˛ dokumentacj˛e. Posiada własny j˛ezyk programowania, który pozwala na szybkie pisanie własnych funkcji i dokonywania obliczeń na wektorach i macierzach. Choć jest narz˛edziem przeznaczonym głównie dla statystyków, bardzo dobrze nadaje si˛e do nauki tego przedmiotu. Istnieja˛ też ogólnie dost˛epne biblioteki z dziedziny nauczania maszynowego napisane w ‘R’. Dodam jeszcze, że urzeka w ‘R’ bardzo dobra kolorowa grafika i wbudowane komendy pozwalajace ˛ na obrazowanie danych w postaci wykresów słupkowych, kołowych oraz histogramów. W skrócie, wybór ‘R’ podyktowany jest przez: ã Dost˛epność na wielu systemach operacyjnych ã Dobra˛ grafik˛e ã Wbudowane funkcje statystyczne ã Wiele wyspecjalizowanych pakietów jest już dost˛epnych (CRAN) Jak znaleźć potrzebne informacje w ‘R’ ã ?function ã help.search("search string") ã RSiteSearch("search string") ã http://rseek.org/ Oprócz dużej literatury o ‘R’ w j˛ezyku angielskim, sa˛ także i polskie pozycje, [7] i [1]. Ponadto „Wprowadzenie do Środowiska R CRAN” jest dost˛epny z internetu http://cran.r-project.org/doc/contrib/Komsta-Wprowadzenie.pdf 13 m Systemy uczące się 2.2 2.2. REGRESJA ZA POMOCĄ WIELOMIANÓW Regresja za pomoca˛ wielomianów Zaczniemy od prostego przykładu, do którego b˛edziemy jeszcze par˛e razy powracali. Generu jemy dziesi˛eć punktów xi , yi rozłożonych wzdłuż krzywej sinusoidalnej lekko zaburzonych poprzez „szum”. Szum jest symulowany za pomoca˛ rozkładu normalnego (rnorm). l e n <− 10 x <− seq ( length=len , from=0, t o =1) y <− s i n (2∗ p i ∗x ) + rnorm ( len , 0 , 0 . 0 6 ) Kod źródłowy 2.1: fragment generujacy ˛ punkty wzdłuż sinusoidy z szumem W ‘R’ cz˛esto opisuje si˛e dane za pomoca˛ „ramki”, stad ˛ komenda data.frame w poniższym przykładzie. Potrzebny nam b˛edzie dla porównania jeszcze jeden wi˛ekszy zbiór danych, 100 punktów rozłożonych dokładnie wzdłuż tej samej krzywej. Do wykreślania krzywych i punktów użyjemy plot i lines. Pierwsza komenda wymazuje poprzedni wykres, natomiast lines pozwala dodawać krzywe do istniejacego ˛ już wykresu, Rysunek 2.1. ds <− data . frame ( x = x , y = y ) s t r ( ds ) p l o t ( y ~ x , main = " Wykres z n a n e j f u n k c j i , z szumem " ) s <− seq ( 0 , 1 , length = 100) l i n e s ( s , s i n (2∗ p i ∗ s ) , l t y = 1 , c o l = " green " ) Teraz jesteśmy gotowi do dopasowania wielomianów do punktów xi , yi . Zauważmy, że to dopasowywanie, czyli regresja jest operacja˛ linowa. ˛ Regresja polega na znalezieniu odpowiednich wartości w1 , . . . , wM +1 w taki sposób, aby wielomian przybliżał dane punkty jak najlepiej. Wiadomo, że potrzeba co najwyżej wielomianu stopnia M , aby przechodził on dokładnie przez M punktów, dlatego b˛edziemy eksperymentowali na wielomianach o niższych stopniach. Użyjemy ‘R’ komendy lm do regresji, a predict do obliczania wartości dopasowanego wielomianu na nowych wartościach, Rysunek 2.1. f i t 1 <− lm( y ~ x ) f i t 2 <− lm( y ~ poly ( x , 3 ) ) f i t 3 <− lm( y ~ poly ( x , 8 ) ) l i n e s ( s , p r e d i c t ( f i t 1 , data . frame ( x=s ) ) , c o l= ’ orange ’ ) l i n e s ( s , p r e d i c t ( f i t 2 , data . frame ( x=s ) ) , c o l= ’ g r e y ’ ) l i n e s ( s , p r e d i c t ( f i t 3 , data . frame ( x=s ) ) , c o l= ’ red ’ ) Kod źródłowy 2.2: dopasowywanie wielomianów ã Co możemy zaobserwować przy zwi˛ekszaniu stopnia wielomianów? ã Jak zachowuja˛ si˛e współczynniki wi przy rosnacych ˛ stopniach wielomianów? wersja X Uniwersytet Kardynała Stefana Wyszyńskiego 2.2. REGRESJA ZA POMOCĄ WIELOMIANÓW Systemy uczące się 0.0 -1.0 -0.5 y 0.5 Wykres znanej funkcji, z szumem 0.0 0.2 0.4 0.6 0.8 1.0 x Rysunek 2.1: Przybliżanie funkcji sin za pomoca˛ wielomianów w ‘R’ Uniwersytet Kardynała Stefana Wyszyńskiego wersja X ROZDZIAŁ WYKŁAD 2 — PODSTAWY RACHUNKU PRAWDOPODOBIEŃSTWA Zagadnienia 3.1 Prawdopodobieństwo 3.1 Prawdopodobieństwo Jednym z głównych zagadnień w rozpoznawaniu obrazów jest poj˛ecie niepewności. Wynika ona zarówno z bł˛edów pomiarowych jak i ze skończoności zbiorów danych. Teoria prawdopodobieństwa umożliwia opis ilościowy niepewności i w zwiazku ˛ z tym jest ona podstawa˛ rozpoznawania obrazów oraz klasyfikacji. (a) czerwony (b) niebieski Rysunek 3.1: zawartość dwóch koszyków Rozpoczniemy od podstawowych zagadnień teorii prawdopodobieństwa na przykładzie dwóch rodzajów koszyków z owocami. Załóżmy, że mamy dwa koszyki: czerwony i niebieski. W czerwonym koszyku, Rysunek 3.1a, znajduja˛ si˛e dwa jabłka i sześć bananów a w niebieskim trzy jabłka i jeden banan, Rysunek 3.1b. Losowo wybieramy jeden z tych dwóch koszyków a z wybranego wybieramy jeden owoc, także losowo. Powtarzajac ˛ ten proces wielokrotnie, zmierzyliśmy, że wybieramy czerwony koszyk w 40% procentach przypadków a niebieski w 60%. 16 3.1. PRAWDOPODOBIEŃSTWO Systemy uczące się Zmienna losowa odpowiadajaca ˛ wybranemu koszykowi oznaczymy przez K, ktora może przyjmować dwie wartości c — koszyk jest czerwony oraz n — koszyk jest niebieski. Podobnie zmienna losowa odpowiadajaca ˛ wybranemu owocowi b˛edzie oznaczona przez O, która b˛edzie przyjmować dwie wartości: j — jabłko i b — banan. Zdefiniujemy teraz prawdopodobieństwa, to jest proporcj˛e ilości razy wybrania czerwonego koszyka podzielona˛ przez ilość prób, w przypadku gdy ilość prób daży ˛ do nieskończoności. Zatem prawdopodobieństwo wybrania czerwonego koszyka jest równe 4/10. Formalnie zapisujemy p(K = c) = 4/10. Podobnie w przypadku koszyka niebieskiego p(K = n) = 6/10. Widać od razu że te prawdopodobieństwa sa˛ w przedziale (0, 1) oraz ich suma wynosi 1. Y = yj+1 nij Y = yj Y = yj−1 X = xi−1 X = xi X = xi+1 Rysunek 3.2: dystrybucja dwóch zmiennych Rozważmy teraz ogólna˛ sytuacj˛e dwóch zmiennych losowych X i Y zilustrowana˛ na Rysunku 3.2. Niech całkowita ilość prób b˛edzie równa L. Załóżmy, że X może przyjmować jedna˛ z wartości xi , dla i = 1, . . . , M , a Y może przyjmować jedna˛ z wartości yj , dla j = 1, . . . , N . Niech ci oznacza liczb˛e prób gdzie X = xi , niezależnie od wartości Y . Podobnie, rj oznacza liczb˛e prób gdzie Y = yj , niezależnie od wartości X. Prawdopodobieństwo przypadku kiedy X przyjmuje wartość xi i jednocześnie Y przyjmuje wartość yj oznaczane jest p(X = xi , Y = yj ) i nazywane jest prawdopodobieństwem łacznym ˛ (ang.. joint probability). Jest ono równe ilorazowi obserwacji przyporzadkowanych ˛ komórce (i, j) nij p(X = xi , Y = yj ) = . L Podobnie, prawdopodobieństwo, że X przyjmie wartość xi równa jest ilości punktów w kolumnie i, a wi˛ec ci p(X = xi ) = . L Skoro ilość przypadków w kolumnie i jest równa sumie punktów każdej komórce z tej koP lumny wi˛ec ci = N n . Dzielac ˛ obie strony tej równości przez L dostajemy ij j=1 N N j=1 j=1 X ci X nij p(X = xi ) = = = p(X = xi , Y = yj ). L L Uniwersytet Kardynała Stefana Wyszyńskiego (3.1) wersja X Systemy uczące się 3.1. PRAWDOPODOBIEŃSTWO Cz˛esto p(X = xi ) nazywane jest prawdopodobieństwem brzegowym. Z drugiej strony, jeśli weżmiemy pod uwag˛e tylko te przypadki dla których X = xi wtedy ułamek przypadków kiedy Y = yj zapisuje si˛e jako p(Y = yj | X = xi ) i nazywa si˛e prawdopodobieństwem warunkowym tego, że Y = yj pod warunkiem, że zajdzie zdarzenie X = xi . Odpowiada ono ułamkowi punktów, które sa˛ w kolumnie i, a znalazły si˛e w komórce (i, j) p(Y = yj | X = xi ) = nij . ci Z powyższych równań wynika, że p(X = xi , Y = yj ) = nij nij ci · = p(Y = yj | X = xi ) · p(X = xi ). = L ci L (3.2) Zależnośc ta nazywana jest prawdopodobieństwem iloczynu zdarzeń. Jeśli p(X = xi , Y = yj ) = p(X = xi ) · p(Y = yj ) to zdarzenia te nazywaja˛ si˛e niezależnymi. Ponieważ prawdopodobieństwo łaczne ˛ jest symetryczne p(X, Y ) = p(Y, X) wi˛ec z powyższych zależności otrzymujemy relacj˛e mi˛edzy prawdopodobieństwami zależnymi p(Y | X) = p(X | Y ) · p(Y ) p(X) (3.3) zwana˛ twierdzeniem Bayesa. Powróćmy teraz do przykładu owoców z poczatku ˛ tego rozdziału zilustrowanego Rysunkiem 3.1. Widzieliśmy, że prawdopodobieństwo wybrania losowo koszyka niebieskiego równa si˛e p(K = n) = 4/10 a czerwonego p(K = c) = 6/10. Zauważmy, że suma tych prawdopodobieństw równa si˛e jeden p(K = n) + p(K = c) = 1. Załóżmy, że wybieramy losowo koszyk, który okazuje si˛e koszykiem niebieskim. W takim razie prawdopodobieństwo wyciagni˛ ˛ ecia jabłka z tego koszyka równa jest proporcji jabłek do wszystkich owoców w tym koszyku, czyli p(O = j | K = n) = 3/4. W podobny sposób możemy policzyć wszystkie 4 prawdopodobieństwa warunkowe. Zauważmy przy tym, że wszystkie te prawdopodobieństwa sa˛ znormalizowane p(O = b | K = c) + p(O = j | K = c) = 1 oraz p(O = b | K = n) + p(O = j | K = n) = 1. Za pomoca˛ powyższych reguł (3.1) i (3.2) możemy obliczyć całkowite prawdopodobieństwo wyciagni˛ ˛ ecia jabłka p(O = j) = p(O = j | K = c) · p(K = c) + p(O = j | K = n) · p(K = n) 2 6 3 4 3 3 9 = · + · = + = . 8 10 4 10 20 10 20 Podobnie możemy obliczyć prawdopodobieństwo wyciagni˛ ˛ ecia banana p(O = b) = 1 − p(O = j) = 11/20. Odwrotnie, załóżmy że wyciagni˛ ˛ eto losowano banana i zadaniem naszym jest określić z którego koszyka ono pochodzi. Aby móc określić prawdopodobieństwa czy owoc pochodzi z koszyka czerwonego czy niebieskiego potrzeba jest obliczyć prawdopodobieństwa wzgl˛edne w zależności od rodzaju owoca. Z twierdzenia Bayesa (3.3) wynika p(K = c | O = j) = wersja X p(O = j | K = c) · p(K = c) 2 6 20 1 = · · = . p(O = j) 8 10 9 3 Uniwersytet Kardynała Stefana Wyszyńskiego 3.1. PRAWDOPODOBIEŃSTWO Systemy uczące się Według tej samej formuły wynika, że p(K = n | O = j) = 1 − p(K = c | O = j) = 2/3. Możemy teraz podać nast˛epujac ˛ a˛ interpretacj˛e twierdzenia Bayesa. Jeśli mielibyśmy określić prawdopodobieństwa który z koszyków został wybrany zanim wyciagni˛ ˛ eto z niego owoc, wtedy jedyna˛ informacj˛e jaka˛ posiadamy to p(K). Dlatego p(K) nazywa si˛e prawdopodobieństwem a priori. Natomiast, jeśli wiemy że wyciagni˛ ˛ eto z koszyka któryś z owoców, wtedy z twierdzenia Bayesa możemy obliczyć p(K | O), które nazywa si˛e prawdopodobieństwem a posteriori. Zauważmy, że w powyższym przypadku, bez znajomości wyciagni˛ ˛ etego owocu, prawdopodobieństwo a priori, że wybrano koszyk czerwony jest równe 6/10. Natomiast gdy znany jest wyciagni˛ ˛ ety rodzaj owocu, jabłko, to wtedy prawdopodobieństwem a posteriori wynosi zaledwie 1/3. Zatem wynik zależy w dużym stopniu od rodzaju owocu, to znaczy, że dwie zmienne losowe K oraz O sa˛ od siebie zależne. Gdyby zmienne K i O były niezależne, to wtedy było by p(K | F ) = p(K). Uniwersytet Kardynała Stefana Wyszyńskiego wersja X ROZDZIAŁ ĆWICZENIA 2 — ANALIZA BŁEDÓW ˛ PRZYBLIŻENIA W ‘R’ 4.1 Regresja za pomoca˛ wielomianów Kontynuujemy temat z poprzednich zaj˛eć. Zobaczymy bliżej jak regresja działa w praktyce. Najpierw wygenerujemy punkty i narysujemy krzywa, ˛ wzdłuż której sa˛ one rozłożone. l e n <− 10 x <− seq ( length=len , from=0, t o =1) y <− s i n (2∗ p i ∗x ) + rnorm ( len , 0 , 0 . 5 ) ds <− data . frame ( x = x , y = y ) p l o t ( y ~ x , main = " S i n u s o i d a z szumem " ) s <− seq ( 0 , 1 , length = 100) l i n e s ( s , s i n (2∗ p i ∗ s ) , l t y = 1 , c o l = " green " ) Najprościej w ‘R’ można obliczyć regresj˛e za pomoca˛ komend lm oraz poly. f i t 3 <− lm( y ~ poly ( x , 3 , raw=TRUE) ) f i t 8 <− lm( y ~ poly ( x , 8 , raw=TRUE) ) coef ( f i t 3 ) coef ( f i t 8 ) Kod źródłowy 4.1: regresja za pomoca˛ wielomianów Każdy wielomian stopnia M daje si˛e napisać jako fM (x) = M +1 X wi xi−1 . i=1 Wielomian stopnia 3 można zdefiniować nast˛epujaco ˛ fun c <− f u n c t i o n ( h ,w) { out <− (w[1]+w[ 2 ] ∗h+w[ 3 ] ∗h^2+w[ 4 ] ∗h^3) return <− out } Kod źródłowy 4.2: wielomian 3-go rz˛edu 20 4.1. REGRESJA ZA POMOCĄ WIELOMIANÓW Systemy uczące się i obliczyć jego wartość za pomoca˛ komendy (func(2,c (0.1,0.2,0.3,0.4) )). Regresja jest przykładem optymalizacji, bowiem chodzi o wybór najlepszego wielomianu, który jak najbliżej przebiega wzdłuż podanych punktów xi , yi . Niech E b˛edzie funkcja˛ bł˛edu określajac ˛ a˛ jak dobrze funkcja f przybliża si˛e do danych punktów N E(w) = 2 1X f (xi , w) − yi . 2 (4.1) i=1 Zadanie 4.1: Porównaj regresj˛e lm z optymalizacja˛ funkcji bł˛edu (4.1) za pomoca˛ wielomianu określonego stopnia. Rozwiazanie: ˛ Wybierzmy wielomian trzeciego stopnia. Zakładamy, że dane x, y , func oraz fit3 sa˛ już zdefiniowane. # # d e f i n c j a f u n k c j i bledu error e r r o r <− f u n c t i o n (w) { out <− sum( ( fu nc ( x ,w)−y )^2) return <− out } # # p r z y k l a d wywolania f u n k c j i e r r o r ( error (c (0.1 ,0.2 ,0.3 ,0.4) ) ) # # przyklad optymalizacji w R optim ( par=c ( 0 , 0 , 0 , 0 ) , f n=e r r o r , gr = NULL , method = c ( " BFGS " ) , lower = −I n f , upper = I n f ) $par [ 1 ] 0.58134917 0.23299657 −0.14437023 0.01338987 # # wbudowana o p t y m a l i z a c j a l i n i o w a coef ( f i t 3 ) ( I n t e r c e p t ) poly ( x , 3 , raw = TRUE) 1 poly ( x , 3 , raw = TRUE) 2 poly ( x , 3 , raw = TRUE) 3 0.58134917 0.23299658 −0.14437024 0.01338987 Kod źródłowy 4.3: optymalizacja funkcji bł˛edu oraz regresja Widzimy wi˛ec, że obydwie metody daja˛ ten sam wynik. W tym przypadku wspólczynniki wielomianu trzeciego stopnia sa˛ dane przez w1 w2 w3 w4 Uniwersytet Kardynała Stefana Wyszyńskiego 0.58134917 0.23299657 -0.14437023 0.01338987 wersja X ROZDZIAŁ WYKŁAD 3 — RACHUNEK PRAWDOPODOBIEŃSTWA I PODSTAWY ALGEBRY LINIOWEJ Zagadnienia 5.1 G˛ estość Prawdopodobieństwa 5.2 Wartość Oczekiwana 5.3 Prawdopodobieństwo Bayesa 5.4 Podstawy Algebry Liniowej 5.1 G˛ estość Prawdopodobieństwa Cz˛esto rozważać b˛edziemy zagadnienia zwiazane ˛ ze zmienna˛ losowa, ˛ która jest należy do zbioru ciagłego ˛ (rozkład ciagły), ˛ zamiast dyskretnego, tak jak to rozważaliśmy w Rozdziale 3. y p(x) P (x) δx x Rysunek 5.1: prawdopodobieństwo p(x) zmiennej ciagłej ˛ x oraz odpowiadajaca ˛ jemu dystrybuanta P (x) 22 5.2. WARTOŚĆ OCZEKIWANA Systemy uczące się Załóżmy, że prawdopodobieństwo zmiennej rzeczywistej x znajdujacej ˛ si˛e w przedziale (x, x + δx) wynosi p(x) δx, dla δx → 0. Wtedy p(x) nazywa si˛e g˛estościa˛ prawdopodobieństwa zmiennej x, zobacz Rysunek 5.1. Prawdopodobieństwo, że x leży w przedziale (a, b) dane jest Zb p(x ∈ (a, b)) = p(x) dx. a Ponieważ prawdopodobieństwa sa˛ nieujemne a wartość x leży gdzieś w przedziale (−∞, ∞), g˛estość prawdopodobieństwa zawsze spełnia dwa warunki Z∞ p(x) ≥ 0 oraz p(x) dx = 1. −∞ Prawdopodobieństwo zdarzenia: x leży w przedziale (−∞, z) dane jest poprzez dystrybuant˛e P (z) zdefiniowana˛ jako Zz p(x) dx. P (z) = −∞ Powyższe definicje naturalnie uogólniaja˛ si˛e do zmiennych wielowymiarowych, wektorów losowych x ∈ RD w nast˛epujacy ˛ sposób. Jeśli x = x1 , . . . , xD to g˛estość prawdopodobieństwa łacznego ˛ definiuje si˛e poprzez p(x) = p(x1 , . . . , xD ). Wielowymiarowa g˛estość spełnia te same warunki co g˛estość jednowymiarowa Z p(x) ≥ 0 oraz p(x) dx = 1, RD gdzie całkowanie odbywa si˛e po całej przestrzeni wielowymiarowej zmiennej x. Formalnie mówi si˛e o mierze oraz funkcjach Borela, ponieważ rachunek prawdopodobieństwa jest ściśle zwiazana ˛ z teoria˛ miary. Reguła sumowanie, mnożenia oraz twierdzenie Bayesa stosuja˛ si˛e także do g˛estości prawdopodobieństwa. Dla przykładu, dla zmiennych ciagłych ˛ x i y zachodza˛ Z p(x) = p(x, y) dy oraz p(x, y) = p(y | x) · p(x). Zauważmy też, że całkowanie jest operatorem liniowym. 5.2 Wartość Oczekiwana Jedna˛ z najistotniejszych operacji w rachunku prawdopodobieństwo jest obliczanie średnich ważonych funkcji. W obecności funkcji g˛estości prawdopodobieństwa p, przeci˛etna funkcji f nazywa si˛e wartościa˛ oczekiwana˛ zdefiniowana˛ jako Z E[f ] = f (x) p(x) dx. Uniwersytet Kardynała Stefana Wyszyńskiego wersja X Systemy uczące się 5.2. WARTOŚĆ OCZEKIWANA W tej cz˛eści ograniczymy si˛e tylko do przypadku rozkładu ciagłego. ˛ Wzory dla rozkładu dyskretnego sa˛ identyczne, jeśli zamienić całk˛e na sum˛e. W każdym razie, jeśli mamy skończona˛ ilość N punktów wybranych losowo zgodnie z funkcja˛ g˛estości prawdopodobieństwa, to wtedy wartościa˛ oczekiwana˛ można przybliżyć za pomoca˛ skończonej sumy N 1 X E[f ] ≈ f (xi ). N i=1 Zauważmy, że wartość oczekiwana jest operatorem liniowym, to znaczy E[a · f + b · g] = a · E[f ] + b · E[g], dla dowolnych stałych a, b ∈ R. Dla funkcji wielu zmiennych f (x, y) definiujemy wartość oczekiwana Z Ex [f (x, y)] = f (x, y) p(x) dx. (5.1) (5.2) Funkcja Ex [f (x, y)] jest funkcja˛ y. Podobnie definiujemy warunkowa˛ wartość oczekiwana funkcji jednej zmiennej f (x) Z Ex [f | y] = f (x) p(x | y) dx. Funkcja Ex [f | y] jest funkcja˛ y. Zastanówmy si˛e czym jest E[E[f (x) | y]]? Oznaczać to może jedynie Ey [Ex [f (x) | y]]. Mamy Z Z Z Ey [Ex [f (x) | y]] = Ex [f (x) | y] p(y) dy = p(y) p(x | y)f (x) dx Z Z Z = f (x) p(x, y) dx dy = f (x) p(x) dx = Ex [f (x)]. Wariancj˛e definiuje si˛e za pomoca˛ var[f ] = E[(f − E[f ])2 ]. Inaczej var[f ] można zapisać jako var[f ] = E[(f − E[f ])2 ] = E[f 2 − 2f E[f ] + E[f ]2 ] = E[f 2 ] − 2 E[f ] · E[f ] + E[f ]2 = E[f 2 ] − E[f ]2 , gdzie skorzystaliśmy z właściwości (5.1). Kowariancj˛e dwóch zmiennych losowych x ∈ R i y ∈ R definiujemy jako cov[x, y] = Ex,y [(x − Ex)(y − E[y])] = Ex,y [xy] − E[x] E[y]. Pokażemy ostatnia˛ równość. Oznaczmy E[x] = a oraz E[y] = b, wtedy cov[x, y] = Ex,y [(x − a)(y − b)] = Ex,y [xy] − Ex,y [xb] − Ex,y [ay] + Ex,y [ab] = Ex,y [xy] − b Ex,y [x] −a Ex,y [y] +ab Ex,y [1] | {z } | {z } Ex [x] Ey [y] = Ex,y [xy] − ba − ab + ab = Ex,y [xy] − E[x] E[y]. Kowariancja określa jak bardzo zmienne x i y sa˛ ze soba˛ zwiazane. ˛ Jeśli x i y sa˛ losowo niezależne to kowariancja znika cov[x, y] = 0. wersja X Uniwersytet Kardynała Stefana Wyszyńskiego 5.3. PRAWDOPODOBIEŃSTWO BAYESA Systemy uczące się Rysunek 5.2: G˛estość prawdopodobieństwa Gaussa dla 2-wymiarowego wektora losowego 5.3 Prawdopodobieństwo Bayesa G˛estość prawdopodobieństwa Gaussa opisana jest funkcja˛ 1 (x − µ)2 N (xn | µ, σ 2 ) = √ exp − 2σ 2 σ 2π ! . (5.3) √ −1 R Dziwna stała σ 2π jest tak dobrana abby N (xn | µ, σ 2 ) dx = 1. Ławo sprawdzić, że wartość oczekiwana E[x] = µ oraz wariancja var[x] = σ 2 . Dla wielowymiarowych wektorów losowych x g˛estość prawdopodobieństwa Gaussa, Rysunek 5.2, wyrażana jest poprzez 1 1 T −1 N (x | µk , Σk ) = exp − (x − µ) Σ (x − µ) . √ 2 (2π)D/2 det Σ W praktyce cz˛esto zakłada si˛e, że zmienne losowe niezależne o identycznym rozkładzie (ang. independant and identically drawn). W takim przypadku, rozkład wielowymiarowy daje si˛e łatwo sprowadzić do prostej postaci 2 p(x | µ, σ ) = N Y N (xn | µ, σ 2 ) n=1 wtedy “logarytmiczna funkcja wiarygodności” jest dana poprzez N 2 N 1 X N ln p(x | µ, σ ) = − 2 xn − µ − ln σ 2 − ln(2π). 2σ 2 2 2 n=1 Dla oszacowania parametrów µ oraz σ 2 szukamy wartości maksymalizujacych ˛ ln p(x | µ, σ 2 ). 2 jest by pochodne czastkowe Kryterium na istnienie minimum dla µML oraz σML ˛ tej funcji zerowały si˛e. To jest N ∂ 1 X 2 0= ln p(x | µ, σ ) =− 2 xn − µML ∂µ σ µ=µML n=1 Uniwersytet Kardynała Stefana Wyszyńskiego wersja X Systemy uczące się oraz 5.3. PRAWDOPODOBIEŃSTWO BAYESA N 2 ∂ 1 X N 2 ln p(x | µ, σ ) xn − µ − 2 . 0= = 2 2 2 ∂σ 2σ 2 2 (σ ) n=1 σ 2 =σML W rezultacie widzimy, że funkcja prawdopodobieństwa Gaussa (5.3) osiaga ˛ swoje maksimum 2 , gdzie dla parametrów µML i σML µML N 1 X = xn N 2 σML oraz N 2 1 X xn − µML . = N n=1 i=1 2 nie jest najkorzystniejszym. Rozpatrzmy Warto dodać jeszcze, że estymator wariancji σML prób˛e x1 , x2 , . . . , xN z wartościa˛ oczekiwana˛ E[xi ] = µ oraz var[xi ] = σ 2 . Estymator jest nieobciażony, ˛ jeśli wartość oczekiwana rozkładu estymatora jest równa wartości szacowanego parametru E[θ̂] = θ. Różnica pomi˛edzy wartościa˛ oczekiwana˛ rozkładu estymatora a wartościa˛ szacowanego parametru E[θ̂] − θ nazywamy obciażeniem ˛ estymatora a estymator 2 nazywamy obciażonym. ˛ Pokażemy, że σ jest estymatorem obciażonym. ˛ Policzmy wartość oczekiwana˛ dla powyższej próby. Otóż N X (xi − E[xi ])2 = i=1 N X N X x2i − 2xi E[xi ] + E[xi ]2 = x2i − N E[xi ]2 . i=1 i=1 Zatem wartość oczekiwana N N N N X X X X 2 2 2 2 2 E[ (xi − E[xi ]) ] = E[ xi − N E[xi ] ] = E[xi ] − N E[E[xi ] ] = E[x2i ] − N E[µ2 ]. i=1 i=1 i=1 i=1 Ponieważ wartość E[x2i ] jest identyczna dla każdego i a wariancja var[x] = E[x2 ] − E[x]2 zatem E[x2i ] = σ 2 + µ2 . Podobnie var[µ2 ] = σ 2 /N . Zatem N X E[ (xi − E[xi ])2 ] = N σ 2 + µ2 − N σ 2 /N + µ2 = (N − 1) σ 2 . i=1 Ostatecznie zatem widzimy, że dla prawdopodobieństwa Gaussa E[µML ] = µ 2 E[σML ]= oraz N −1 2 σ . N Powrócimy teraz po raz kolejny do regresji krzywej za pomoca˛ wielomianów. Celem regre- sji jest by móc przewidzieć wartość funkcji dla nowej wartości x znajac ˛ wyniki t = t1 , . . . , tN dla wartości x = x1 , . . . , xN . Obliczymy niepewność przewidywanej wartości t za pomoca˛ rachunku prawdopodobieństwa. Założymy, że majac ˛ zadana˛ wartość x, odpowiadajaca ˛ jej wartość t ma rozkład normalny o wartości oczekiwanej y(x, w). Zatem p(t | x, w, β) = N (t | y(x, w), β −1 ), (5.4) gdzie β odpowiada odwrotności wariancji g˛estości prawdopodobieństwa. Teraz, znajac ˛ wartości x oraz t, oszacujemy nieznane parametry w i β metoda˛ funkcji niepewności. Mamy p(t | x, w, β) = N Y N (ti | y(xi , w), β −1 ). i=1 wersja X Uniwersytet Kardynała Stefana Wyszyńskiego 5.3. PRAWDOPODOBIEŃSTWO BAYESA Systemy uczące się Jak już widzieliśmy wcześniej, znacznie łatwiej jest pracować z logarytmem tej funkcji ln p(t | x, w, β) = − N 2 N βX N y(xi , w) − ti + ln β − ln(2π). 2 2 2 i=1 Widzimy, że szukanie maksimum logarytmicznej funkcji wiarygodności równoważne jest szukania minimum funkcji kwadratowej, identycznej z funkcja˛ kosztu która˛ używaliśmy przy regresji (4.1) E(w) = N X 2 y(xi , w) − ti . i=1 Używajac ˛ znanych już metod możemy znaleźć minimalizujac ˛ a˛ wartość β 2 1 1 = y(xi , wML ) − ti . βML N W tym momencie możemy oszacować niepewność przewidywanej wartości t podstawiajac ˛ do (5.4) oszacowane parametry −1 ). p(t | x, wML , βML ) = N (t | y(x, wML ), βML Krokiem w kierunku podejścia Bayessowskiego jest wprowadzenie g˛estości a priori na współczynniki w. Dla ułatwienia załóżmy, że p(w | α) = N (w | 0, α−1 I) = α (M +1)/2 α exp − kwk2 . 2π 2 Tutaj α jest niezależnym parametrem a M +1 pochodzi stad, ˛ że wielomian stopnia M ma M + 1 niezależnych współczynników w. Z twierdzenia Bayesa możemy oszacować niepewność oszacowania p(w | x, t, α, β) ∝ p(t | x, w, β) · p(w | α). Teraz możemy oszacować najbardziej prawdopodobna˛ wartość w poprzez powyższa˛ maksymalizacj˛e niepewności, lub minimalizować logarytmiczna˛ wiarygodność. Łatwo znajdujemy, że odpowiada to minimum N 2 α βX y(xi , w) − ti + kwk2 . 2 2 i=1 W powyższych rozważaniach, mimo że wprowadziliśmy g˛estość prawdopodobieństwa a priori p(w | α), w dalszym ciagu ˛ nie jest to pełne podejście Bayesa. Należy wyeliminować oszacowania na w poprzez jego całkowanie. Rozkład przepowiadanej wartości t wynosi w takim przypadku Z p(t | x, x, t) = p(t | x, w, β) · p(w | x, t, α, β) dw. Uniwersytet Kardynała Stefana Wyszyńskiego wersja X Systemy uczące się 5.4 5.4. PODSTAWY ALGEBRY LINIOWEJ Podstawy Algebry Liniowej Wektory: Przypomnijmy sobie kilka faktów zwiazanych ˛ z przestrzeniami linowymi, czyli przestrzeniami wektorowymi, które b˛eda˛ użyteczne w nauzaniu maszynowym. Wektor jest obiektem dla którego określona jest operacja dodawania i mnożenia przez skalar. Przestrzeń w której istnieja˛ te obiekty nazywa si˛e przestrzenia˛ wektorowa. ˛ Dla przyD kładu, D-wymiarowa przestrzeń Euklidesowa R jest przestrzenia˛ wektorowa˛ o skończonym wymiarze D. Obiektami sa˛ wektory wyrażone poprzez D współrz˛ednych. Utożsamiamy te obiekty z ich D współrz˛ednymi u ∈ RD gdzie u = u1 , u2 , . . . , uD . Oczywiście suma wektorów u = u1 , u2 , . . . , uD oraz v = v1 , v2 , . . . , vD , i mnożenie wektora przez skalar a ∈ R sa˛ określone poprzez u + v = u1 + v1 , u2 + v2 , . . . , uD + vD oraz a · u = au1 , au2 , . . . , auD . W przestrzeni wektorowej definiuje si˛e iloczyn skalarny u, v = D X ui vi ∈ R. i=1 Czasem stosuje si˛e inne notacje, przyjmuj ac ˛ że wektor jest tablica˛ D×1-wymiarowa, ˛ to znaczy jest jedna˛ kolumna. ˛ Wtedy u, v = uT ·v, gdzie kropka ‘·’ oznacza mnożenie macierzy. Warto pami˛etać, że iloczyn skalarny jest operacja˛ dwu-liniowa˛ i symetryczna. ˛ To jest u, v = v, u oraz a · u + b · v, w = a u, w + b v, w . Dodatkowo określa si˛e norm˛e (długość) wektorów kuk poprzez kuk2 = u, u . Widzimy, że dla każdego u ∈ RD zachodzi kuk ≥ 0 i kuk = 0 wtedy i tylko wtedy gdy u = 0. Macierze: Cz˛esto b˛edziemy używali macierzy. Z jednej strony macierze sa˛ to odwzorowania 0 przestrzeni wektorowych, to znaczy D × D0 -macierz A odwzorowuje A : RD → RD . Innymi słowy, A przyporzadkowuje ˛ wektorowi u ∈ RD przestrzeni wektorowej RD , wektor v = Au ∈ 0 0 RD przestrzeni wektorowej RD . Z drugiej strony, zbiór D × D0 -macierzy również należa˛ 0 do przestrzeni liniowej RD×D . To znaczy, że określone sa˛ dodawanie macierzy i mnożenie macierzy przez skalar. Iloczyn skalarny jest zdefiniowany poprzez operacj˛e śladu ‘tr’ macierzy kwadratowych D X 1 A, B = tr(B T A), gdzie tr(C) = Cii . 2 i=1 Cz˛esto b˛edziemy dwóch własności operacji śladu tr(A · B) = tr(B · A) wersja X oraz tr(A) = tr(AT ). (5.5) Uniwersytet Kardynała Stefana Wyszyńskiego 5.4. PODSTAWY ALGEBRY LINIOWEJ Systemy uczące się Wynikaja˛ one natychmiastowo z definicji tr. Zauważmy jeszcze, że każda˛ macierz A można rozłożyć na sum˛e dwóch macierzy: symetrycznej i antysymetrycznej A = As + Aa , gdzie AsT = As oraz AaT = −Aa . Łatwo zauważyć, że takie macierze zawsze istnieja˛ i dane sa˛ As = 1 A + AT 2 oraz Aa = 1 A − AT . 2 Zauważmy, że As i Aa sa˛ do wzajemnie do siebie ortogonalne, As ⊥ Aa , to znaczy As , Aa = 0. Rzeczywiście, korzystajac ˛ z własności śladu (5.5) zachodzi 1 1 As , Aa = tr(AaT As ) = tr(As AaT ) = AaT , AaT = − Aa , As . 2 2 s a s a s a Zatem A , A = − A , A wi˛ec A , A = 0. Na koniec podajmy jeszcze ważna˛ własność iloczynu skalarnego dotyczacego ˛ macierzy u, Av = AT u, v , dla każdej pary wektorów u i v oraz macierzy A o takich wymiarach, dla których mnożenie ma sens. Powyższa własność definiuje operacj˛e transpozycji macierzy A. Wartości własne: Każda symetryczna macierz kwadratowa A ∈ RD×D posiada rzeczywista˛ własność własna˛ λ ∈ R, to znaczy, że istnieja˛ takie λ ∈ R oraz wektor własny u ∈ RD takie, że Au = λu. Powstaje pytanie, ile najwi˛ecej wartości własnych macierz A może posiadać? Z powyższego warunku wynika że (A − λI) u = 0. Aby to równanie miało rozwiazanie, ˛ potrzeba by wyznacznik det(A−λI) = 0. Ale det(A−λI) jest wielomianem stopnia D ze wzgl˛edu na λ, zatem posiada on co najwyż ej D rozwiazań ˛ rzeczywistych. Niech λi , λj b˛eda˛ dwoma wartościami własnymi symetrycznej macierzy A i niech ui , uj b˛eda˛ odpowiadajacymi ˛ im wektorami właściwymi. Wtedy ui , Auj = ui , λj uj = λj ui , uj i jednocześnie, ponieważ A jest symetryczna ui , Auj = AT ui , uj = Aui , uj = λi ui , uj = λi ui , uj . Stad ˛ wynika, że (λi − λj ) ui , uj = 0. (5.6) Zatem, jeśli λi 6= λj to ich wektory własne ui i uj sa˛ do siebie ortogonalne, ui ⊥ uj . Uniwersytet Kardynała Stefana Wyszyńskiego wersja X Systemy uczące się 5.4. PODSTAWY ALGEBRY LINIOWEJ Pochodne: Na koniec tego przypomnienia, zobaczymy jak można obliczać pochodne kierunkowe operacji na macierzach. Traktujemy tutaj macierze jako elementy przestrzeni wektorowych. Przypomnijmy, że pochodna kierunkowa funkcji f : RD → R w punkcie X ∈ RD w kierunku wektora ξ ∈ RD jest określona jako ∂ 1 df (X)(ξ) = f (X + s · ξ) = lim f (X + s · ξ) − f (X) . s→0 s ∂s s=0 Pochodna df (X) jest liniowym przybliżeniem funkcji f w punkcie X. Wobec tego, dla funkcji linowych, pochodna jest dokłdnie ta˛ sama˛ funkcja, ˛ ale zdefiniowana˛ dla ξ. Na przykład, niech T dana jest funkcja f (X) = tr(X CX), wtedy według definicji pochodnej kierunkowej 1 tr((X + s · ξ)T C(X + s · ξ)) − tr(X T CX) s→0 s 1 = lim tr((X T + s · ξ T )C(X + s · ξ)) − tr(X T CX) s→0 s 1 = lim tr(X T CX + s · ξ T CX + X T Cs · ξ + s · ξ T Cs · ξ) − tr(X T CX) s→0 s = tr(ξ T CX + X T Cξ) = tr X T C T + C ξ . df (X)(ξ) = lim Zwiazany ˛ z pochodna˛ kierunkowa˛ df jest gradient df (X)(ξ) = gradf (X), ξ . W powyższym przykładzie gradf (X), ξ = df (X)(ξ) = tr X T C T + C ξ = 2 X T C T + C , ξ . Stad ˛ wynika, że gradf (X) = 2X T C T + C . wersja X Uniwersytet Kardynała Stefana Wyszyńskiego ROZDZIAŁ ĆWICZENIA 3 — ANALIZA BŁEDÓW ˛ PRZYBLIŻENIA W ‘R’ Kontynuujemy zagadnienie regresji nieznanej funkcji za pomoca˛ wielomianów. Tutaj główny nacisk jest położony na optymalizacj˛e. To znaczy, majac ˛ dane „treningowe” — zbiór par {(xi , yi )}, gdzie 0 ≤ i ≤ N , zadanie polega na znalezienie takich współczynników wj wielomianu fM (x, w) aby zminimalizować dana˛ funkcj˛ e bł˛edu. W efekcie tej optymalizacji dostajemy wybrany wektor w? = w1 , . . . , wM +1 ∈ RM +1 a przez to wybrany wielomian fM (x, w? ). Chcemy teraz porównać, jak dobrze wielomiany fM (x, w? ), dla różnych M , przybliżaja˛ nieznana˛ funkcj˛e fˆ za pomoca˛ której dane treningowe {(xi , yi )} zostały wygenerowane. 6.1 Regresja za pomoca˛ wielomianów Zróbmy analiz˛e przybliżania danej funkcji, w tym wypadku sin, za pomoca˛ wielomianów różnych stopni. Zapiszmy wielomian stopnia M w postaci fM (x, w) = M +1 X wi xi−1 , gdzie x∈R oraz w ∈ RM +1 . i=1 Zwróćmy uwag˛e, że fM (x, w) zależy od w w sposób liniowy. Niech E b˛edzie funkcja˛ bł˛edu dana˛ poprzez N 2 1X E(w) = f (xi , w) − yi . (6.1) 2 i=1 Zadanie 6.1: Zadanie podzielone jest na punkty. ã Wygeneruj 10 punktów wzdłuż krzywej sin z szumem pochodzacym ˛ z rozkładu normalnego N (0, 0.5), o średniej 0 i wariancji 0.5. ã Dokonaj regresji wielomianami o stopniach M = 1, 2, . . . , 7 uzyskujac ˛ 7 różnych wartości w? . Dla wielomianów wyższych stopni 8 i 9 standardowe metody optymalizacji sa˛ rozbieżne i nie daja˛ poprawnego rozwiazania. ˛ 31 Systemy uczące się 6.1. REGRESJA ZA POMOCĄ WIELOMIANÓW ã Dla każdego stopnia wielomianu z wyznaczonym w? oblicz i wykreśl przeci˛etny bład, ˛ określony za pomoca˛ funkcji “root-mean square” p ERMS = 2E(w? )/N dla N = 100 punktów wzdłuż funkcji sin. Rozwiazanie: ˛ Generacja˛ punktów i definicja funkcji bł˛edu (6.1) były już omawiane na poprzednich ćwiczeniach. Nowym elementem jest zdefiniowanie wielomianu dowolnego stopnia. Określimy stopień wielomianu za pomoca˛ długości wektora w, w ‘R’ można użyć komendy length. Na przykład funkcja p o l y e v a l <− f u n c t i o n ( h ,w) { out <− 0 f o r ( i i n length (w) : 1 ) { out <− out ∗h + w[ i ] } return <− out } ( polyeval (2 , c (0.1 ,0.2 ,0.3 ,0.4) ) ) Kod źródłowy 6.1: obliczanie wielomianów dowolnego stopnia oblicza wartość wielomianu za pomoca˛ iteracji fM (h, w) = (wM +1 · h + wM ) · h + wM −1 · h + · · · · h + w1 . Przykład rozwiazania ˛ podaj˛e niżej. Prosz˛e zauważyć, że do optymalizacji użyłem komendy nlm a do generacji wektora z k + 1 zerami c(0:k)∗0 # # g e n e r a c j a danych t r e n i n g o w y c h l e n <− 10 x <− seq ( length=len , from=0, t o =1) y <− s i n (2∗ p i ∗x ) + rnorm ( len , 0 , 0 . 5 ) ds <− data . frame ( x = x , y = y ) # # 100 punktow do porownywania e f e k t y w n o s c i p r z y b l i z e n s <− seq ( 0 , 1 , length = 100) # # d e f i n c j a f u n k c j i bledu error e r r o r <− f u n c t i o n (w) { out <− sum( ( p o l y e v a l ( x ,w)−y )^2) return <− out } # # w i e l o m i a n s t o p n i a l e n g t h (w)−1 p o l y e v a l <− f u n c t i o n ( h ,w) { out <− 0 f o r ( i i n length (w) : 1 ) { out <− out ∗h + w[ i ] } return <− out } wersja X Uniwersytet Kardynała Stefana Wyszyńskiego 6.1. REGRESJA ZA POMOCĄ WIELOMIANÓW Systemy uczące się # # r e g r e s j a za pomoca wlelomianow # s t o p i e n wielomianu o k r e s l o n y j e s t p r z e z w a r t o s c s t a r t o w a r e s 1 <− nlm( e r r o r , c ( 0 : 1 ) ∗ 0 , i t e r l i m = 523) r e s 2 <− nlm( e r r o r , c ( 0 : 2 ) ∗ 0 , i t e r l i m = 523) r e s 3 <− nlm( e r r o r , c ( 0 : 3 ) ∗ 0 , i t e r l i m = 523) r e s 4 <− nlm( e r r o r , c ( 0 : 4 ) ∗ 0 , i t e r l i m = 523) r e s 5 <− nlm( e r r o r , c ( 0 : 5 ) ∗ 0 , i t e r l i m = 523) r e s 6 <− nlm( e r r o r , c ( 0 : 6 ) ∗ 0 , i t e r l i m = 523) r e s 7 <− nlm( e r r o r , c ( 0 : 7 ) ∗ 0 , i t e r l i m = 523) r e s 8 <− nlm( e r r o r , c ( 0 : 8 ) ∗ 0 , i t e r l i m = 523) # # p o l i c z m y t e r a z Erms na d u z e j p u l i danych erms <− f u n c t i o n (w, x , y ) { out <− sum( ( p o l y e v a l ( x ,w)−y )^2) return <− s q r t (2∗ out / length ( x ) ) } # # z b i e r a m y b l e d y , t u t a j w∗ s a d o s t e p n e za pomoca r e s 6 [ [ 2 ] ] t 7 <− ( erms ( r e s 7 [ [ 2 ] ] , s , s i n (2∗ p i ∗ s ) ) ) t 6 <− ( erms ( r e s 6 [ [ 2 ] ] , s , s i n (2∗ p i ∗ s ) ) ) t 5 <− ( erms ( r e s 5 [ [ 2 ] ] , s , s i n (2∗ p i ∗ s ) ) ) t 4 <− ( erms ( r e s 4 [ [ 2 ] ] , s , s i n (2∗ p i ∗ s ) ) ) t 3 <− ( erms ( r e s 3 [ [ 2 ] ] , s , s i n (2∗ p i ∗ s ) ) ) t 2 <− ( erms ( r e s 2 [ [ 2 ] ] , s , s i n (2∗ p i ∗ s ) ) ) t 1 <− ( erms ( r e s 1 [ [ 2 ] ] , s , s i n (2∗ p i ∗ s ) ) ) # # koncowy w y k r e s b l e d u p l o t ( c ( 1 , 2 , 3 , 4 , 5 , 6 , 7 ) , c ( t1 , t2 , t3 , t4 , t5 , t6 , t 7 ) , t y p e = " b " , c o l= ’ red ’ , x l a b=" s t o p n i e wielomianu " , y l a b=" Erms " ) Kod źródłowy 6.2: optymalizacja funkcji bledu za pomoca wielomianow roznego stopnia W rezultacie otrzymujemy wykres bł˛edu, Rysunek 6.1. W powyższym zadaniu, widzimy że proces optymalizacji staje si˛e rozbieżny dla dużych stopni wielomianów. lm( y~poly ( x , 7 , raw=TRUE) ) nlm( e r r o r , c ( 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 ) , i t e r l i m = 523) Kod źródłowy 6.3: porównaj wyniki, przestaja˛ pokrywać si˛e dla wielomianów wyższego rz˛edu Na koniec ćwiczeń, powtórzymy powyższe punkty i szukamy optymalnych wielomianów po raz kolejny. Tym razem jednak zmodyfikujemy funkcj˛e bł˛edu, wprowadzajac ˛ dodatkowy składnik regulacyjny. N 2 λ 1X f (xi , w) − ti + kwk2 . (6.2) E(w) = 2 2 i=1 Uniwersytet Kardynała Stefana Wyszyńskiego wersja X 6.2. PROBLEM Z DUŻYMI WYMIARAMI 0.60 0.50 0.55 Erms 0.65 0.70 Systemy uczące się 1 2 3 4 5 6 7 stopnie wielomianu Rysunek 6.1: Root-mean-square error — funkcja bł˛edu ERMS w zależności od stopnia wielomianu użytego do regresji; widzimy że wbrew intuicji, najmniejszy bład ˛ uzyskujemy przy stopniu trzy Zadanie 6.2: Powtórz powyższe zadanie lecz tym razem używajac ˛ funcji (6.2) jako funkcji bł˛edu. Przyjmij λ = 0.5 Jaki wpływ ma składnik kwk2 na otrzymane wyniki? 6.2 Problem z dużymi wymiarami W regresji za pomoca˛ wielomianów widzimy, że paradoksalnie, regresja za pomoca˛ wielomianów dużych stopni daje gorsze wyniki niż za pomoca˛ stopnia 3-go lub 4-go. Mimo, że funkcja sin ma nieskończone rozwini˛ecie Taylora! Jest to ogólny problem zwiazany ˛ ze zwi˛ekszaja˛ cym si˛e wymiarem. Wektor w należy do przestrzeni o wymiarze o jeden wi˛ekszy niż stopień wielomianu. Jednak jednocześnie ze zwi˛ekszaniem wymiaru dramatycznie rosna˛ bł˛edy przybliżenia. Zobaczymy to na jeszcze jednym przykładzie. wersja X Uniwersytet Kardynała Stefana Wyszyńskiego 6.2. PROBLEM Z DUŻYMI WYMIARAMI Systemy uczące się Zadanie 6.3: Rozważ kul˛e o promieniu r = 1 w n-wymiarowej przestrzeni. Jaka cz˛eść jej obj˛etości znajduje si˛e w warstwie pomi˛edzy r = 1 − ε oraz r = 1. Narysuj wyniki za pomoca˛ linii dla n = 1, 2, 5, 9, 20. Zinterpretuj wyniki. Rozwiazanie: ˛ Obj˛etość D-wymiarowej kuli KD (r) o promieniu r jest proporcjonalna do Dtej pot˛egi r. To znaczy vol(KD (r)) = cD · rD , gdzie cD jest stała˛ zależna˛ tylko od wymiaru D. Zatem szukana proporcja jest równa vol(KD (1)) − vol(KD (1 − ε)) = 1 − (1 − ε)D . vol(KD (1)) p l o t ( s ,1−(1− s )^1, t y p e= ’ l ’ , c o l= ’ b l a c k ’ ) l i n e s ( s ,1−(1− s )^6) l i n e s ( s ,1−(1− s )^8) l i n e s ( s ,1−(1− s )^9) l i n e s ( s ,1−(1− s )^20) l i n e s ( s ,1−(1− s )^2) l i n e s ( s ,1−(1− s )^1) t e x t ( 0 . 6 , 0 . 5 , "D=1" ) t e x t ( 0 . 4 5 , 0 . 6 , "D=2" ) t e x t ( 0 . 0 5 , 0 . 9 , "D=20" ) Nota bene, nie jest tak łatwo obliczyć stała˛ cD . Okazuje si˛e, że jest ona dana poprzez cD = 2π D/2 , Γ( 21 D) gdzie Γ(z + 1) = z · Γ(z) oraz Uniwersytet Kardynała Stefana Wyszyńskiego Γ(1) = 1, Γ( 12 ) = √ π. wersja X BIBLIOGRAFIA [1] B IECEK , P. Przewodnik po pakiecie R. Oficyna Wydawnicza GiS, 2008. [2] B ISHOP, C. M. Pattern Recognition and Machine Learning (Information Science and Statistics), 1st ed. 2006. corr. 2nd printing ed. Springer, Oct. 2007. [3] H ASTIE , T., T IBSHIRANI , R., AND F RIEDMAN , J. The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Second Edition (Springer Series in Statistics), 2nd ed. 2009. corr. 3rd printing 5th printing. ed. Springer, Feb. 2009. [4] KORONACKI , J., AND Ć WIK , J. Statystyczne systemy uczace ˛ si˛e. Exit, 2008. [5] K RZY ŚKO, M., W OŁY ŃSKI , W., G ÓRECKI , T., AND S KORZYBUT, M. Systemy uczace ˛ si˛e. Rozpoznawanie wzorców analiza skupień i redukcja wymiarowości. Wydawnictwa NaukowoTechniczne, 2008. [6] R D EVELOPMENT C ORE T EAM. R: A Language and Environment for Statistical Computing. R Foundation for Statistical Computing, Vienna, Austria, 2008. ISBN 3-900051-07-0. [7] WALESIAK , M., AND G ATNAR , E. Statystyczna analiza danych z wykorzystaniem programu R. Wydawnictwo Naukowe PWN, 2009. [8] W ILLIAMSON , R. Some results in statistical learning theory with relevance to nonlinear system identification. Nonlinear Control Systems Design Symposium (1998), 443–448. 81 Appendix 82