Systemy uczące się: notatki do wykładów



Podobne dokumenty
Rozdział 1. Wektory losowe. 1.1 Wektor losowy i jego rozkład

Komputerowa Analiza Danych Doświadczalnych

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

Rozpoznawanie obrazów

Wykład 6 Centralne Twierdzenie Graniczne. Rozkłady wielowymiarowe

IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. - funkcja dwóch zmiennych,

5. Analiza dyskryminacyjna: FLD, LDA, QDA

Metody systemowe i decyzyjne w informatyce

Ważne rozkłady i twierdzenia c.d.

Metody systemowe i decyzyjne w informatyce

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

Oznacza to, że chcemy znaleźć minimum, a właściwie wartość najmniejszą funkcji

Modelowanie zależności. Matematyczne podstawy teorii ryzyka i ich zastosowanie R. Łochowski

Weryfikacja hipotez statystycznych

Elementy Modelowania Matematycznego Wykład 4 Regresja i dyskryminacja liniowa

Lista 6. Kamil Matuszewski 13 kwietnia D n =

Rozpoznawanie obrazów

Tydzień nr 9-10 (16 maja - 29 maja), Równania różniczkowe, wartości własne, funkcja wykładnicza od operatora - Matematyka II 2010/2011L

Optymalizacja ciągła

Biostatystyka, # 3 /Weterynaria I/

Ważne rozkłady i twierdzenia

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

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

W rachunku prawdopodobieństwa wyróżniamy dwie zasadnicze grupy rozkładów zmiennych losowych:

0 + 0 = 0, = 1, = 1, = 0.

KADD Metoda najmniejszych kwadratów funkcje nieliniowe

Rozwiązywanie równań nieliniowych

Zmienne losowe i ich rozkłady. Momenty zmiennych losowych. Wrocław, 10 października 2014

Procesy stochastyczne

1 Funkcje dwóch zmiennych podstawowe pojęcia

Prawdopodobieństwo i statystyka

Rozkłady wielu zmiennych

Wynik pomiaru jako zmienna losowa

Rozdział 2: Metoda największej wiarygodności i nieliniowa metoda najmniejszych kwadratów

Rozkład normalny Parametry rozkładu zmiennej losowej Zmienne losowe wielowymiarowe

φ(x 1,..., x n ) = a i x 2 i +

Statystyka i eksploracja danych

Algebra liniowa. 1. Macierze.

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

Wstęp do Metod Systemowych i Decyzyjnych Opracowanie: Jakub Tomczak

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

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Wykład Centralne twierdzenie graniczne. Statystyka matematyczna: Estymacja parametrów rozkładu

Prawdopodobieństwo i statystyka

Procesy stochastyczne

ANALIZA MATEMATYCZNA Z ELEMENTAMI STATYSTYKI MATEMATYCZNEJ

Metody Rozmyte i Algorytmy Ewolucyjne

Spacery losowe generowanie realizacji procesu losowego

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

Pochodne cząstkowe i ich zastosowanie. Ekstrema lokalne funkcji

Zrównoleglona optymalizacja stochastyczna na dużych zbiorach danych

W naukach technicznych większość rozpatrywanych wielkości możemy zapisać w jednej z trzech postaci: skalara, wektora oraz tensora.

Aproksymacja funkcji a regresja symboliczna

Funkcje dwóch zmiennych

HISTOGRAM. Dr Adam Michczyński - METODY ANALIZY DANYCH POMIAROWYCH Liczba pomiarów - n. Liczba pomiarów - n k 0.5 N = N =

Wektory i wartości własne

Rozdział 1. Zmienne losowe, ich rozkłady i charakterystyki. 1.1 Definicja zmiennej losowej

Programowanie celowe #1

Wektory i wartości własne

Spis treści. Przedmowa... XI. Rozdział 1. Pomiar: jednostki miar Rozdział 2. Pomiar: liczby i obliczenia liczbowe... 16

Zasada indukcji matematycznej

Komputerowa Analiza Danych Doświadczalnych

Macierze. Rozdział Działania na macierzach

III. ZMIENNE LOSOWE JEDNOWYMIAROWE

Rozpoznawanie obrazów

Statystyka i eksploracja danych

Wnioskowanie bayesowskie

Wykład Matematyka A, I rok, egzamin ustny w sem. letnim r. ak. 2002/2003. Każdy zdający losuje jedno pytanie teoretyczne i jedno praktyczne.

Wykład 9. Matematyka 3, semestr zimowy 2011/ listopada 2011

Elementy statystyki wielowymiarowej

PDF created with FinePrint pdffactory Pro trial version

Wykład 14. Elementy algebry macierzy

Definicja i własności wartości bezwzględnej.

FUNKCJE LICZBOWE. Na zbiorze X określona jest funkcja f : X Y gdy dowolnemu punktowi x X przyporządkowany jest punkt f(x) Y.

Podstawowe modele probabilistyczne

Definicje i przykłady

Macierze - obliczanie wyznacznika macierzy z użyciem permutacji

Zakładamy, że są niezależnymi zmiennymi podlegającymi (dowolnemu) rozkładowi o skończonej wartości oczekiwanej i wariancji.

Zadania egzaminacyjne

Drugie kolokwium z Rachunku Prawdopodobieństwa, zestaw A

Matematyka II. Bezpieczeństwo jądrowe i ochrona radiologiczna Semestr letni 2018/2019 wykład 13 (27 maja)

WYKŁAD 6. Witold Bednorz, Paweł Wolff. Rachunek Prawdopodobieństwa, WNE, Uniwersytet Warszawski. 1 Instytut Matematyki

Klasyfikacja w oparciu o metrykę budowaną poprzez dystrybuanty empiryczne na przestrzeni wzorców uczących

Logarytmy. Funkcje logarytmiczna i wykładnicza. Równania i nierówności wykładnicze i logarytmiczne.

10. Redukcja wymiaru - metoda PCA

Komputerowa Analiza Danych Doświadczalnych

Przepustowość kanału, odczytywanie wiadomości z kanału, poprawa wydajności kanału.

Wprowadzenie do teorii ekonometrii. Wykład 1 Warunkowa wartość oczekiwana i odwzorowanie liniowe

1 Przestrzeń liniowa. α 1 x α k x k = 0

Metody eksploracji danych 2. Metody regresji. Piotr Szwed Katedra Informatyki Stosowanej AGH 2017

Wykład z analizy danych: powtórzenie zagadnień z rachunku prawdopodobieństwa

Zajęcia nr. 3 notatki

Dystrybucje, wiadomości wstępne (I)

Metody systemowe i decyzyjne w informatyce

Metoda największej wiarygodności

Metody numeryczne I Równania nieliniowe

Analiza funkcjonalna 1.

Ciała i wielomiany 1. przez 1, i nazywamy jedynką, zaś element odwrotny do a 0 względem działania oznaczamy przez a 1, i nazywamy odwrotnością a);

WYKŁAD 9 METODY ZMIENNEJ METRYKI

Wprowadzenie. { 1, jeżeli ˆr(x) > 0, pozatym. Regresja liniowa Regresja logistyczne Jądrowe estymatory gęstości. Metody regresyjne

Transkrypt:

Systemy uczące się: notatki do wykładów Krzysztof A. Krakowski 1 Grudzień 2011 Październik 2012 1 Autor pragnie podziękować panu doktorowi Christfried Webers (NICTA, Canberra, Australia) za udostępnienie swoich materiałów dydaktycznych, które stoją u źródła poniższego materiału.

SPIS TREŚCI 1 Wykład 1 Przegląd 7 1.1 Wprowadzenie Co to są systemy uczące się?................. 7 1.2 Przykład i Filozofia................................. 7 1.2.1 The Widrow-Hoff algorithm........................ 9 1.2.2 The stochastic descent learning algorithm................ 9 1.3 Definition...................................... 9 1.4 Related Fields.................................... 10 1.5 Some Basic Notation................................ 10 1.6 Some Fundamental Types of Learning...................... 10 1.6.1 Uczenie nadzorowane (ang.. supervised learning)............ 11 1.7 Training Regimes.................................. 11 1.8 Czasopisma oraz Konferencje........................... 11 2 Ćwiczenia 1 Wprowadzenie w R 13 2.1 Dlaczego R?.................................... 13 2.2 Regresja za pomocą wielomianów......................... 14 3 Wykład 2 Podstawy Rachunku Prawdopodobieństwa 16 3.1 Prawdopodobieństwo............................... 16 4 Ćwiczenia 2 Analiza Błędów Przybliżenia w R 20 4.1 Regresja za pomocą wielomianów......................... 20 5 Wykład 3 Rachunek Prawdopodobieństwa i Podstawy Algebry Liniowej 22 5.1 Gęstość Prawdopodobieństwa........................... 22 5.2 Wartość Oczekiwana................................ 23 5.3 Prawdopodobieństwo Bayesa........................... 25 5.4 Podstawy Algebry Liniowej............................. 28 6 Ćwiczenia 3 Analiza Błędów Przybliżenia w R 31 6.1 Regresja za pomocą wielomianów......................... 31 6.2 Problem z dużymi wymiarami........................... 34 7 Wykład 4 Gęstość Gaussa i Bazy 35 7.1 Gęstość Prawdopodobieństwa Gaussa na Wektorze............... 35 2

SPIS TREŚCI Systemy uczące się 8 Ćwiczenia 4 Analiza Danych 37 8.1 Poprawność założenia o gęstości prawdopodobieństwa............. 37 9 Wykład 5 Klasyfikatory Liniowe i Teoria Decyzji 40 9.1 Teoria Decyzji.................................... 40 10 Ćwiczenia 5 Klasyfikacja Liniowa 42 10.1 Klasyfikacja poprzez Linową Dyskryminację Fisher a............... 42 11 Wykład 6 & 7 Klasyfikatory Liniowe Wieloklasowe 45 11.1 Uogólnienie do klas więcej niż dwie........................ 45 11.2 Klasyfikacja oparta na funkcji kwadratowej błędu................ 46 11.3 Klasyfikacja Fisher a................................ 48 11.4 Porównanie..................................... 50 12 Ćwiczenia 6 Rachunek Prawdopodobieństwa 52 13 Wykład 8 Klasyfikatory Liniowe Wieloklasowe 54 13.1 Statystyczne spojrzenie............................... 54 13.2 Dwie klasy...................................... 55 13.3 Uogólnienie do klas więcej niż dwie........................ 55 13.4 Przypadek ciągły.................................. 55 13.4.1 Znalezienie parametrów.......................... 56 13.5 Systemy Dyskretne................................. 57 13.6 Regresja logistyczna................................ 58 14 Ćwiczenia 9 Rachunek Prawdopodobieństwa 60 15 Wykład 9 Sieci Neuronowe 61 15.1 Wstęp........................................ 61 15.2 Funkcje....................................... 61 16 Ćwiczenia 10 Analiza Matematyczna 63 17 Wykład 11 Sieci Neuronowe Kolejny Raz 65 17.1 Wstęp........................................ 65 17.2 Regresja i Klasyfikacja............................... 65 18 Ćwiczenia 11 Sieci Neuronowe 67 19 Wykład 12 PCA 70 19.1 Wstęp........................................ 70 19.2 Analiza Składowych Głównych.......................... 71 19.2.1 Maksymalizacja wariancji......................... 71 19.2.2 Minimalizacja kosztu projekcji....................... 72 19.3 Zastosowania PCA................................. 73 19.4 PCA w dużych wymiarach............................. 74 20 Ćwiczenia 12 Rozpoznawanie Obrazów 76 Uniwersytet Kardynała Stefana Wyszyńskiego 3 wersja 12 X 2012

Systemy uczące się SPIS TREŚCI 21 Używane Komendy Języka R 83 wersja 12 X 2012 4 Uniwersytet Kardynała Stefana Wyszyńskiego

Wykłady i Ćwiczenia 6

ROZDZIAŁ 1 WYKŁAD 1 PRZEGLAD Zagadnienia 1.1 Wprowadzenie Co to są systemy uczące się? 1.2 Przykład i Filozofia 1.3 Definition 1.4 Related Fields 1.5 Some Basic Notation 1.6 Some Fundamental Types of Learning 1.7 Training Regimes 1.8 Czasopisma oraz Konferencje 1.1 Wprowadzenie Co to są systemy uczące się? Problem rozpoznawanie wzorów jest jednym z podstawowych zagadnień w nauce, które ma długą długą historię sukcesów. Dla przykładu, Tycho Brahe w 16-stym wieku zgromadził olbrzymią 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ę w rozwoju fizyki kwantowej w początkach 20-go wieku. Dziedzina rozpoznawania obrazów zajmuje się automatycznym wyszukiwaniem regularności w danych za pomocą algorytmów komputerowych. Za pomocą znalezionych regularności systemy te są w stanie klasyfikować dane do różnych klas i kategorii. 1.2 Przykład i Filozofia Weźmy na początek praktyczny przykład rozpoznawania ręcznie pisanych cyfr, Rysunek 1.1. Każdej cyfrze odpowiada obraz 28 28 pikseli, który można reprezentować poprzez wektor x zawierający 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 R 28 28. Zadaniem jest zbudowanie urządzenia, które przyporządkuje taki wektor do jednej z cyfr 0, 1,..., 9. Jest to nietrywialny problem biorąc pod uwagę ilość różnych stylów ręcznego pisma. 7

Systemy uczące się 1.2. PRZYKŁAD I FILOZOFIA Rysunek 1.1: przykłady cyfr pisanych ręcznie Popatrzmy na statystyczne systemy uczące się z innego punktu widzenia. Załóżmy że bierzemy udział w grze w przepowiadanie pogody. Mając do dyspozycji dane z dni poprzednich, mam przepowiedzieć czy dzisiaj będzie świecić słońce czy padać deszcz. Za każdą poprawną przepowiednię wygrywam stawkę, za złą przegrywam. Jaką strategię przyjąć aby zmaksymalizować wygraną? Nawet, jeśli uda mi się wygrać wszystkie kolejne rundy, to czy mogę powiedzieć, że poznałem prawa natury rządzące pogodą? Jednym z podejść do zagadnienia uczenia się jest tak zwany model czarnej skrzynki. Załóżmy, że mamy system rozwijający się z czasem, system dynamiczny, którego działania nie znamy. 1 Wejście do tego systemu oznaczymy przez x(t) a wyjście przez y(t). Możemy obserwować jedynie ciągi x τ := (x(1), x(2),..., x(τ)) oraz y τ := (y(1), y(2),..., y(τ)). Chcemy poznać relację pomiędzy 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 y(t + 1) f(x t, y t ) 2. (1.1) t Łatwo zauważyć, że problem ten przypomina metodę regresji, sprowadzający się do wybrania takiego modelu ˆf G, który minimalizuje (1.1). Aby oszacować limitacje takiej regresji, sprecyzujmy ten problem jeszcze bardziej. Niech X oznacza przestrzeń wejściową a Y przestrzeń wyjściową. Ponadto, niech L: X Y R będzie funkcją, za pomocą ktrej można mierzyć koszt danej hipotezy f : X Y na parze (x, y) X Y. Niech ten koszt będzie oznaczony za pomocą φ((x, y), f) := L(y, f(x)). Oceniamy poprawność hipotezy f za pomocą oczekiwanego ryzyka, obliczając wartość oczekiwaną ze względu na gęstość prawdopodobieństwa P X Y : R(f) := E[L(Y, f(x))] = φ(z, f) dp (z), 1 Opracowano na podstawie [8]. wersja 12 X 2012 8 Uniwersytet Kardynała Stefana Wyszyńskiego

1.3. DEFINITION Systemy uczące się gdzie z = (x, y), oraz P jest funkcją gęstości zmiennych losowych (X, Y ) na zbiorze X Y. Nasz problem możemy teraz sformułować w następujący sposób: mając dane (x i, y i ) n, gdzie y i = f (x i ) + e i, gdzie e i jest szumem, znajdź gdzie F jest pewną klasą funkcji. 1.2.1 The Widrow-Hoff algorithm ˆf := arg min R(f), f F w t+1 = w t η w L(w t, (x t, y t )), 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łąd zmniejsza się w kolejnych krokach algorytmu Widrow-Hoff a 1.2.2 The stochastic descent learning algorithm 1.3 Definition Aktualne systemy informacyjne nie posiadają zdolności samokorekcji prostych błędów Rozwój systemów doradczych w wielu dziedzinach nabywanie wiedzy dla systemów eksperckich czy systemów z bazą 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ępniania informacji (także Internet!) Rozwój komputerowych systemów przetwarzania i rozpoznawania obrazów Uniwersytet Kardynała Stefana Wyszyńskiego 9 wersja 12 X 2012

Systemy uczące się 1.4. RELATED FIELDS 0.3 target parameter 0.2 p 2 0.1 0 0 0.1 0.2 0.3 p 1 Rysunek 1.3: uczenie się jest reprezentowane za pomocą krzywej zbliżającej się do punktu optymalnego Amari Prace nad rozumieniem ludzkiej mowy i przetwarzaniem języka naturalnego Zastosowania w robotyce i sterowaniu Inteligentne systemy kompresji danych Tworzenie inteligentnych systemów edukacyjnych Postęp w budowie systemów współpracy człowiek maszyna Rozwój badań nad ludzkim poznawaniem i uczeniem się 1.4 Related Fields 1.5 Some Basic Notation 1.6 Some Fundamental Types of Learning Dwie grupy metod: uczenie się nadzorowane uczenie się nienadzorowane wersja 12 X 2012 10 Uniwersytet Kardynała Stefana Wyszyńskiego

1.7. TRAINING REGIMES Systemy uczące się 1.6.1 Uczenie nadzorowane (ang.. supervised learning) System otrzymuje zbiór przykładów uczących (learning examples) w postaci ( x i, y i ) i ma na celu nauczyć się funkcji f, takiej że f(x i ) = y i dla każdego i. Określona liczba wartości y i klasy (classes) lub klasy decyzyjne (decision classes). Dla pojedynczych klas (odnoszących się do pewnych pojęć) definiuje się przykłady pozytywne (odnoszące się do tej klasy) i negatywne (odnoszące się do innych klas). Uczenie się pojęć (ang. concept learning) f jest definicją/uogólnieniem pojęcia, które wyjaśnia przykłady pozytywne i wyklucza negatywne. 1.7 Training Regimes??? (Batch Learning) All training data x = { x 1,..., x n } and targets t = { t1,..., t n } are given. Learn a mapping from x i to t i, which can then be applied to yet unseen data x = { x 1,..., x m} to find t = { t 1,..., t m}. Nauka On-Line (Online Processing) Pairs of (x i, t i ) become available one at a time. At each step, learn and refine a mapping from x i to t i which can then be applied to yet unseen data x i. 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 11 wersja 12 X 2012

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 12 X 2012 12 Uniwersytet Kardynała Stefana Wyszyńskiego

ROZDZIAŁ 2 ĆWICZENIA 1 WPROWADZENIE W R 2.1 Dlaczego R? Środowisko do obliczeń R jest dobrym programem dostępnym na wszystkich popularnych platformach: Linux, Microsoft Windows i Mac OS. Jest to projekt GNU, a zatem bezpłatny z dostępnym kodem źródłowym oraz posiada dobrą dokumentację. Posiada własny język programowania, który pozwala na szybkie pisanie własnych funkcji i dokonywania obliczeń na wektorach i macierzach. Choć jest narzędziem przeznaczonym głównie dla statystyków, bardzo dobrze nadaje się do nauki tego przedmiotu. Istnieją też ogólnie dostępne biblioteki z dziedziny nauczania maszynowego napisane w R. Dodam jeszcze, że urzeka w R bardzo dobra kolorowa grafika i wbudowane komendy pozwalające na obrazowanie danych w postaci wykresów słupkowych, kołowych oraz histogramów. W skrócie, wybór R podyktowany jest przez: Dostępność na wielu systemach operacyjnych Dobrą grafikę Wbudowane funkcje statystyczne Wiele wyspecjalizowanych pakietów jest już dostępnych (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ęzyku angielskim, są także i polskie pozycje, [7] i [1]. Ponadto Wprowadzenie do Środowiska R CRAN jest dostępny z internetu http://cran.r-project.org/doc/contrib/komsta-wprowadzenie.pdf 13

Systemy uczące się 2.2. REGRESJA ZA POMOCĄ WIELOMIANÓW 2.2 Regresja za pomocą wielomianów Zaczniemy od prostego przykładu, do którego będziemy jeszcze parę razy powracali. Generujemy dziesięć punktów ( x i, y i ) rozłożonych wzdłuż krzywej sinusoidalnej lekko zaburzonych poprzez szum. Szum jest symulowany za pomocą rozkładu normalnego (rnorm). len < 10 x < seq ( length=len, from=0, to=1) y < sin (2 pi x ) + rnorm( len, 0, 0.06) Kod źródłowy 2.1: fragment generujący punkty wzdłuż sinusoidy z szumem W R często opisuje się dane za pomocą ramki, stąd komenda data.frame w poniższym przykładzie. Potrzebny nam będzie dla porównania jeszcze jeden większy 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 istniejącego już wykresu, Rysunek 2.1. ds < data. frame ( x = x, y = y ) s t r ( ds ) plot ( y ~ x, main = " Wykres znanej f u n k c j i, z szumem " ) s < seq ( 0, 1, length = 100) l i n e s ( s, sin (2 pi s ), l t y = 1, col = " green " ) Teraz jesteśmy gotowi do dopasowania wielomianów do punktów ( x i, y i ). Zauważmy, że to dopasowywanie, czyli regresja jest operacją linową. Regresja polega na znalezieniu odpowiednich wartości w 1,..., w M+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ędziemy 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, predict ( f i t 1, data. frame ( x=s ) ), col= orange ) l i n e s ( s, predict ( f i t 2, data. frame ( x=s ) ), col= grey ) l i n e s ( s, predict ( f i t 3, data. frame ( x=s ) ), col= red ) Kod źródłowy 2.2: dopasowywanie wielomianów Co możemy zaobserwować przy zwiększaniu stopnia wielomianów? Jak zachowują się współczynniki w i przy rosnących stopniach wielomianów? wersja 12 X 2012 14 Uniwersytet Kardynała Stefana Wyszyńskiego

2.2. REGRESJA ZA POMOCĄ WIELOMIANÓW Systemy uczące się Wykres znanej funkcji, z szumem y -1.0-0.5 0.0 0.5 0.0 0.2 0.4 0.6 0.8 1.0 x Rysunek 2.1: Przybliżanie funkcji sin za pomocą wielomianów w R Uniwersytet Kardynała Stefana Wyszyńskiego 15 wersja 12 X 2012

ROZDZIAŁ 3 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ęcie niepewności. Wynika ona zarówno z błędów pomiarowych jak i ze skończoności zbiorów danych. Teoria prawdopodobieństwa umożliwia opis ilościowy niepewności i w związku z tym jest ona podstawą 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, znajdują się 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. Powtarzając 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 odpowiadająca wybranemu koszykowi oznaczymy przez K, ktora może przyjmować dwie wartości c koszyk jest czerwony oraz n koszyk jest niebieski. Podobnie zmienna losowa odpowiadająca wybranemu owocowi będzie oznaczona przez O, która będzie przyjmować dwie wartości: j jabłko i b banan. Zdefiniujemy teraz prawdopodobieństwa, to jest proporcję ilości razy wybrania czerwonego koszyka podzieloną przez ilość prób, w przypadku gdy ilość prób dąż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 są w przedziale (0, 1) oraz ich suma wynosi 1. Y = y j+1 Y = y j n ij Y = y j 1 X = x i 1 X = x i X = x i+1 Rysunek 3.2: dystrybucja dwóch zmiennych Rozważmy teraz ogólną sytuację dwóch zmiennych losowych X i Y zilustrowaną na Rysunku 3.2. Niech całkowita ilość prób będzie równa L. Załóżmy, że X może przyjmować jedną z wartości x i, dla i = 1,..., M, a Y może przyjmować jedną z wartości y j, dla j = 1,..., N. Niech c i oznacza liczbę prób gdzie X = x i, niezależnie od wartości Y. Podobnie, r j oznacza liczbę prób gdzie Y = y j, niezależnie od wartości X. Prawdopodobieństwo przypadku kiedy X przyjmuje wartość x i i jednocześnie Y przyjmuje wartość y j oznaczane jest p(x = x i, Y = y j ) i nazywane jest prawdopodobieństwem łącznym (ang.. joint probability). Jest ono równe ilorazowi obserwacji przyporządkowanych komórce (i, j) p(x = x i, Y = y j ) = n ij L. Podobnie, prawdopodobieństwo, że X przyjmie wartość x i równa jest ilości punktów w kolumnie i, a więc p(x = x i ) = c i L. Skoro ilość przypadków w kolumnie i jest równa sumie punktów każdej komórce z tej kolumny więc c i = N j=1 n ij. Dzieląc obie strony tej równości przez L dostajemy p(x = x i ) = c i L = N j=1 n ij N L = p(x = x i, Y = y j ). (3.1) Uniwersytet Kardynała Stefana Wyszyńskiego 17 wersja 12 X 2012 j=1

Systemy uczące się 3.1. PRAWDOPODOBIEŃSTWO Często p(x = x i ) nazywane jest prawdopodobieństwem brzegowym. Z drugiej strony, jeśli weżmiemy pod uwagę tylko te przypadki dla których X = x i wtedy ułamek przypadków kiedy Y = y j zapisuje się jako p(y = y j X = x i ) i nazywa się prawdopodobieństwem warunkowym tego, że Y = y j pod warunkiem, że zajdzie zdarzenie X = x i. Odpowiada ono ułamkowi punktów, które są w kolumnie i, a znalazły się w komórce (i, j) Z powyższych równań wynika, że p(x = x i, Y = y j ) = n ij L = n ij c i p(y = y j X = x i ) = n ij c i. ci L = p(y = y j X = x i ) p(x = x i ). (3.2) Zależnośc ta nazywana jest prawdopodobieństwem iloczynu zdarzeń. Jeśli p(x = x i, Y = y j ) = p(x = x i ) p(y = y j ) to zdarzenia te nazywają się niezależnymi. Ponieważ prawdopodobieństwo łączne jest symetryczne p(x, Y ) = p(y, X) więc z powyższych zależności otrzymujemy relację między prawdopodobieństwami zależnymi p(y X) = p(x Y ) p(y ) p(x) (3.3) zwaną twierdzeniem Bayesa. Powróćmy teraz do przykładu owoców z początku tego rozdziału zilustrowanego Rysunkiem 3.1. Widzieliśmy, że prawdopodobieństwo wybrania losowo koszyka niebieskiego równa się p(k = n) = 4/10 a czerwonego p(k = c) = 6/10. Zauważmy, że suma tych prawdopodobieństw równa się jeden p(k = n) + p(k = c) = 1. Załóżmy, że wybieramy losowo koszyk, który okazuje się koszykiem niebieskim. W takim razie prawdopodobieństwo wyciągnięcia 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 są 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 pomocą powyższych reguł (3.1) i (3.2) możemy obliczyć całkowite prawdopodobieństwo wyciągnięcia jabłka p(o = j) = p(o = j K = c) p(k = c) + p(o = j K = n) p(k = n) = 2 8 6 10 + 3 4 4 10 = 3 20 + 3 10 = 9 20. Podobnie możemy obliczyć prawdopodobieństwo wyciągnięcia banana p(o = b) = 1 p(o = j) = 11/20. Odwrotnie, załóżmy że wyciągnięto 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ędne w zależności od rodzaju owoca. Z twierdzenia Bayesa (3.3) wynika p(k = c O = j) = p(o = j K = c) p(k = c) p(o = j) = 2 8 6 10 20 9 = 1 3. wersja 12 X 2012 18 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ępującą interpretację twierdzenia Bayesa. Jeśli mielibyśmy określić prawdopodobieństwa który z koszyków został wybrany zanim wyciągnięto z niego owoc, wtedy jedyną informację jaką posiadamy to p(k). Dlatego p(k) nazywa się prawdopodobieństwem a priori. Natomiast, jeśli wiemy że wyciągnięto z koszyka któryś z owoców, wtedy z twierdzenia Bayesa możemy obliczyć p(k O), które nazywa się prawdopodobieństwem a posteriori. Zauważmy, że w powyższym przypadku, bez znajomości wyciągniętego owocu, prawdopodobieństwo a priori, że wybrano koszyk czerwony jest równe 6/10. Natomiast gdy znany jest wyciągnięty 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 są 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 19 wersja 12 X 2012

ROZDZIAŁ 4 ĆWICZENIA 2 ANALIZA BŁĘDÓW PRZYBLIŻENIA W R 4.1 Regresja za pomocą wielomianów Kontynuujemy temat z poprzednich zajęć. Zobaczymy bliżej jak regresja działa w praktyce. Najpierw wygenerujemy punkty i narysujemy krzywą, wzdłuż której są one rozłożone. len < 10 x < seq ( length=len, from=0, to=1) y < sin (2 pi x ) + rnorm( len, 0, 0.5) ds < data. frame ( x = x, y = y ) plot ( y ~ x, main = " Sinusoida z szumem " ) s < seq ( 0, 1, length = 100) l i n e s ( s, sin (2 pi s ), l t y = 1, col = " green " ) Najprościej w R można obliczyć regresję za pomocą 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 pomocą wielomianów Każdy wielomian stopnia M daje się napisać jako f M (x) = M+1 Wielomian stopnia 3 można zdefiniować następująco w i x i 1. func < function (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ędu 20

4.1. REGRESJA ZA POMOCĄ WIELOMIANÓW Systemy uczące się i obliczyć jego wartość za pomocą 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 ( x i, y i ). Niech E będzie funkcją błędu określającą jak dobrze funkcja f przybliża się do danych punktów E(w) = 1 2 N ( ) 2. f(xi, w) y i (4.1) Zadanie 4.1: Porównaj regresję lm z optymalizacją funkcji błędu (4.1) za pomocą wielomianu określonego stopnia. Rozwiązanie: Wybierzmy wielomian trzeciego stopnia. Zakładamy, że dane ( x, y ), func oraz fit3 są już zdefiniowane. # # d e f i n c j a f u n k c j i bledu e r r o r e r r o r < function (w) { out < sum(( func (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 ( e r r o r ( c ( 0. 1, 0. 2, 0. 3, 0. 4 ) ) ) # # p r z y k l a d o p t y m a l i z a c j i w R optim ( par=c (0,0,0,0), fn=error, gr = NULL, method = c ( " BFGS " ), lower = Inf, 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łędu oraz regresja Widzimy więc, że obydwie metody dają ten sam wynik. W tym przypadku wspólczynniki wielomianu trzeciego stopnia są dane przez w 1 0.58134917 w 2 0.23299657 w 3-0.14437023 w 4 0.01338987 Uniwersytet Kardynała Stefana Wyszyńskiego 21 wersja 12 X 2012

ROZDZIAŁ 5 WYKŁAD 3 RACHUNEK PRAWDOPODOBIEŃSTWA I PODSTAWY ALGEBRY LINIOWEJ Zagadnienia 5.1 Gęstość Prawdopodobieństwa 5.2 Wartość Oczekiwana 5.3 Prawdopodobieństwo Bayesa 5.4 Podstawy Algebry Liniowej 5.1 Gęstość Prawdopodobieństwa Często rozważać będziemy zagadnienia związane ze zmienną losową, która jest należy do zbioru ciągłego (rozkład ciągł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 ciągłej x oraz odpowiadająca jemu dystrybuanta P (x) 22

5.2. WARTOŚĆ OCZEKIWANA Systemy uczące się Załóżmy, że prawdopodobieństwo zmiennej rzeczywistej x znajdującej się w przedziale (x, x + δx) wynosi p(x) δx, dla δx 0. Wtedy p(x) nazywa się gęstością prawdopodobieństwa zmiennej x, zobacz Rysunek 5.1. Prawdopodobieństwo, że x leży w przedziale (a, b) dane jest p(x (a, b)) = b a p(x) dx. Ponieważ prawdopodobieństwa są nieujemne a wartość x leży gdzieś w przedziale (, ), gęstość prawdopodobieństwa zawsze spełnia dwa warunki p(x) 0 oraz p(x) dx = 1. Prawdopodobieństwo zdarzenia: x leży w przedziale (, z) dane jest poprzez dystrybuantę P (z) zdefiniowaną jako P (z) = z p(x) dx. Powyższe definicje naturalnie uogólniają się do zmiennych wielowymiarowych, wektorów losowych x R D w następujący sposób. Jeśli x = ( ) x 1,..., x D to gęstość prawdopodobieństwa łącznego definiuje się poprzez p(x) = p(x 1,..., x D ). Wielowymiarowa gęstość spełnia te same warunki co gęstość jednowymiarowa p(x) 0 oraz p(x) dx = 1, R D gdzie całkowanie odbywa się po całej przestrzeni wielowymiarowej zmiennej x. Formalnie mówi się o mierze oraz funkcjach Borela, ponieważ rachunek prawdopodobieństwa jest ściśle związana z teorią miary. Reguła sumowanie, mnożenia oraz twierdzenie Bayesa stosują się także do gęstości prawdopodobieństwa. Dla przykładu, dla zmiennych ciągłych x i y zachodzą 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 Jedną z najistotniejszych operacji w rachunku prawdopodobieństwo jest obliczanie średnich ważonych funkcji. W obecności funkcji gęstości prawdopodobieństwa p, przeciętna funkcji f nazywa się wartością oczekiwaną zdefiniowaną jako E[f] = f(x) p(x) dx. Uniwersytet Kardynała Stefana Wyszyńskiego 23 wersja 12 X 2012

Systemy uczące się 5.2. WARTOŚĆ OCZEKIWANA W tej części ograniczymy się tylko do przypadku rozkładu ciągłego. Wzory dla rozkładu dyskretnego są identyczne, jeśli zamienić całkę na sumę. W każdym razie, jeśli mamy skończoną ilość N punktów wybranych losowo zgodnie z funkcją gęstości prawdopodobieństwa, to wtedy wartością oczekiwaną można przybliżyć za pomocą skończonej sumy E[f] 1 N f(x i ). N Zauważmy, że wartość oczekiwana jest operatorem liniowym, to znaczy E[a f + b g] = a E[f] + b E[g], (5.1) dla dowolnych stałych a, b R. Dla funkcji wielu zmiennych f(x, y) definiujemy wartość oczekiwana E x [f(x, y)] = f(x, y) p(x) dx. (5.2) Funkcja E x [f(x, y)] jest funkcją y. Podobnie definiujemy warunkową wartość oczekiwana funkcji jednej zmiennej f(x) E x [f y] = f(x) p(x y) dx. Funkcja E x [f y] jest funkcją y. Zastanówmy się czym jest E[E[f(x) y]]? Oznaczać to może jedynie E y [E x [f(x) y]]. Mamy E y [E x [f(x) y]] = E x [f(x) y] p(y) dy = p(y) p(x y)f(x) dx = f(x) p(x, y) dx dy = f(x) p(x) dx = E x [f(x)]. Wariancję definiuje się za pomocą 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ę dwóch zmiennych losowych x R i y R definiujemy jako cov[x, y] = E x,y [(x Ex)(y E[y])] = E x,y [xy] E[x] E[y]. Pokażemy ostatnią równość. Oznaczmy E[x] = a oraz E[y] = b, wtedy cov[x, y] = E x,y [(x a)(y b)] = E x,y [xy] E x,y [xb] E x,y [ay] + E x,y [ab] = E x,y [xy] b E x,y [x] a E x,y [y] +ab E x,y [1] } {{ } } {{ } E x[x] E y[y] = E x,y [xy] ba ab + ab = E x,y [xy] E[x] E[y]. Kowariancja określa jak bardzo zmienne x i y są ze sobą związane. Jeśli x i y są losowo niezależne to kowariancja znika cov[x, y] = 0. wersja 12 X 2012 24 Uniwersytet Kardynała Stefana Wyszyńskiego

5.3. PRAWDOPODOBIEŃSTWO BAYESA Systemy uczące się Rysunek 5.2: Gęstość prawdopodobieństwa Gaussa dla 2-wymiarowego wektora losowego 5.3 Prawdopodobieństwo Bayesa Gęstość prawdopodobieństwa Gaussa opisana jest funkcją ( ) N (x n µ, σ 2 ) = 1 σ 2π exp (x µ)2 2σ 2. (5.3) Dziwna stała ( σ 2π ) 1 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ęstość prawdopodobieństwa Gaussa, Rysunek 5.2, wyrażana jest poprzez N (x µ k, Σ k ) = 1 (2π) D/2 det Σ exp ( 1 ) 2 (x µ)t Σ 1 (x µ). W praktyce często zakłada się, że zmienne losowe niezależne o identycznym rozkładzie (ang. independant and identically drawn). W takim przypadku, rozkład wielowymiarowy daje się łatwo sprowadzić do prostej postaci p(x µ, σ 2 ) = N N (x n µ, σ 2 ) n=1 wtedy logarytmiczna funkcja wiarygodności jest dana poprzez ln p(x µ, σ 2 ) = 1 2σ 2 N ( xn µ ) 2 N 2 ln σ2 N 2 ln(2π). n=1 Dla oszacowania parametrów µ oraz σ 2 szukamy wartości maksymalizujących ln p(x µ, σ 2 ). Kryterium na istnienie minimum dla µ ML oraz σml 2 jest by pochodne cząstkowe tej funcji zerowały się. To jest 0 = µ ln p(x µ, σ2 ) = 1 µ=µml σ 2 N ( ) xn µ ML Uniwersytet Kardynała Stefana Wyszyńskiego 25 wersja 12 X 2012 n=1

Systemy uczące się 5.3. PRAWDOPODOBIEŃSTWO BAYESA oraz 0 = σ 2 ln p(x µ, σ2 ) = σ 2 =σml 2 1 2 (σ 2 ) 2 N ( xn µ ) 2 N 2σ 2. W rezultacie widzimy, że funkcja prawdopodobieństwa Gaussa (5.3) osiąga swoje maksimum dla parametrów µ ML i σ 2 ML, gdzie n=1 µ ML = 1 N N x n oraz σml 2 = 1 N N ( ) 2. xn µ ML n=1 Warto dodać jeszcze, że estymator wariancji σml 2 nie jest najkorzystniejszym. Rozpatrzmy próbę x 1, x 2,..., x N z wartością oczekiwaną E[x i ] = µ oraz var[x i ] = σ 2. Estymator jest nieobciążony, jeśli wartość oczekiwana rozkładu estymatora jest równa wartości szacowanego parametru E[ˆθ] = θ. Różnica pomiędzy wartością oczekiwaną rozkładu estymatora a wartością szacowanego parametru E[ˆθ] θ nazywamy obciążeniem estymatora a estymator nazywamy obciążonym. Pokażemy, że σ 2 jest estymatorem obciążonym. Policzmy wartość oczekiwaną dla powyższej próby. Otóż N (x i E[x i ]) 2 = Zatem wartość oczekiwana N ( x 2 i 2x i E[x i ] + E[x i ] 2) = N N E[ (x i E[x i ]) 2 ] = E[ x 2 i N E[x i ] 2 ] = N x 2 i N E[x i ] 2. N E[x 2 i ] N E[E[x i ] 2 ] = N E[x 2 i ] N E[µ 2 ]. Ponieważ wartość E[x 2 i ] jest identyczna dla każdego i a wariancja var[x] = E[x2 ] E[x] 2 zatem E[x 2 i ] = σ2 + µ 2. Podobnie var[µ 2 ] = σ 2 /N. Zatem N E[ (x i E[x i ]) 2 ] = N ( σ 2 + µ 2) N ( σ 2 /N + µ 2) = (N 1) σ 2. Ostatecznie zatem widzimy, że dla prawdopodobieństwa Gaussa E[µ ML ] = µ oraz E[σ 2 ML] = N 1 N σ2. Powrócimy teraz po raz kolejny do regresji krzywej za pomocą wielomianów. Celem regresji jest by móc przewidzieć wartość funkcji dla nowej wartości x znając wyniki t = ( t 1,..., t N ) dla wartości x = ( x 1,..., x N ). Obliczymy niepewność przewidywanej wartości t za pomocą rachunku prawdopodobieństwa. Założymy, że mając zadaną wartość x, odpowiadająca 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ęstości prawdopodobieństwa. Teraz, znając wartości x oraz t, oszacujemy nieznane parametry w i β metodą funkcji niepewności. Mamy p(t x, w, β) = N N (t i y(x i, w), β 1 ). wersja 12 X 2012 26 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, β) = β 2 N ( y(xi, w) t i ) 2 + N 2 ln β N 2 ln(2π). Widzimy, że szukanie maksimum logarytmicznej funkcji wiarygodności równoważne jest szukania minimum funkcji kwadratowej, identycznej z funkcją kosztu którą używaliśmy przy regresji (4.1) N ( ) 2. E(w) = y(xi, w) t i Używając znanych już metod możemy znaleźć minimalizującą wartość β 1 = 1 ( ) 2. y(xi, w ML ) t i β ML N W tym momencie możemy oszacować niepewność przewidywanej wartości t podstawiając do (5.4) oszacowane parametry p(t x, w ML, β ML ) = N (t y(x, w ML ), β 1 ML ). Krokiem w kierunku podejścia Bayessowskiego jest wprowadzenie gęstości a priori na współczynniki w. Dla ułatwienia załóżmy, że p(w α) = N (w 0, α 1 I) = ( α 2π ) (M+1)/2 exp ( α 2 w 2). Tutaj α jest niezależnym parametrem a M +1 pochodzi stąd, ż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 prawdopodobną wartość w poprzez powyższą maksymalizację niepewności, lub minimalizować logarytmiczną wiarygodność. Łatwo znajdujemy, że odpowiada to minimum β 2 N ( y(xi, w) t i ) 2 + α 2 w 2. W powyższych rozważaniach, mimo że wprowadziliśmy gęstość prawdopodobieństwa a priori p(w α), w dalszym ciągu 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 p(t x, x, t) = p(t x, w, β) p(w x, t, α, β) dw. Uniwersytet Kardynała Stefana Wyszyńskiego 27 wersja 12 X 2012

Systemy uczące się 5.4. PODSTAWY ALGEBRY LINIOWEJ 5.4 Podstawy Algebry Liniowej Wektory: Przypomnijmy sobie kilka faktów związanych z przestrzeniami linowymi, czyli przestrzeniami wektorowymi, które będą 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 istnieją te obiekty nazywa się przestrzenią wektorową. Dla przykładu, D-wymiarowa przestrzeń Euklidesowa R D jest przestrzenią wektorową o skończonym wymiarze D. Obiektami są wektory wyrażone poprzez D współrzędnych. Utożsamiamy te obiekty z ich D współrzędnymi u R D gdzie u = ( u 1, u 2,..., u D ). Oczywiście suma wektorów u = ( u 1, u 2,..., u D ) oraz v = ( v1, v 2,..., v D ), i mnożenie wektora przez skalar a R są określone poprzez u + v = ( u 1 + v 1, u 2 + v 2,..., u D + v D ) W przestrzeni wektorowej definiuje się iloczyn skalarny D u, v = u i v i R. oraz a u = ( au 1, au 2,..., au D ). Czasem stosuje się inne notacje, przyjmując że wektor jest tablicą D 1-wymiarową, to znaczy jest jedną kolumną. Wtedy u, v = u T v, gdzie kropka oznacza mnożenie macierzy. Warto pamiętać, że iloczyn skalarny jest operacją dwu-liniową i symetryczną. To jest u, v = v, u oraz a u + b v, w = a u, w + b v, w. Dodatkowo określa się normę (długość) wektorów u poprzez u 2 = u, u. Widzimy, że dla każdego u R D zachodzi u 0 i u = 0 wtedy i tylko wtedy gdy u = 0. Macierze: Często będziemy używali macierzy. Z jednej strony macierze są to odwzorowania przestrzeni wektorowych, to znaczy D D -macierz A odwzorowuje A: R D R D. Innymi słowy, A przyporządkowuje wektorowi u R D przestrzeni wektorowej R D, wektor v = Au R D przestrzeni wektorowej R D. Z drugiej strony, zbiór D D -macierzy również należą do przestrzeni liniowej R D D. To znaczy, że określone są dodawanie macierzy i mnożenie macierzy przez skalar. Iloczyn skalarny jest zdefiniowany poprzez operację śladu tr macierzy kwadratowych 1 D A, B = 2 tr(bt A), gdzie tr(c) = C ii. Często będziemy dwóch własności operacji śladu tr(a B) = tr(b A) oraz tr(a) = tr(a T ). (5.5) wersja 12 X 2012 28 Uniwersytet Kardynała Stefana Wyszyńskiego

5.4. PODSTAWY ALGEBRY LINIOWEJ Systemy uczące się Wynikają one natychmiastowo z definicji tr. Zauważmy jeszcze, że każdą macierz A można rozłożyć na sumę dwóch macierzy: symetrycznej i antysymetrycznej A = A s + A a, gdzie A st = A s oraz A at = A a. Łatwo zauważyć, że takie macierze zawsze istnieją i dane są A s = 1 ( A + A T ) oraz A a = 1 ( A A T ). 2 2 Zauważmy, że A s i A a są do wzajemnie do siebie ortogonalne, A s A a, to znaczy A s, A a = 0. Rzeczywiście, korzystając z własności śladu (5.5) zachodzi A s, A a = 1 2 tr(aat A s ) = 1 2 tr(as A at ) = A at, A at = A a, A s. Zatem A s, A a = A s, A a więc A s, A a = 0. Na koniec podajmy jeszcze ważną własność iloczynu skalarnego dotyczącego macierzy u, Av = A T 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ę transpozycji macierzy A. Wartości własne: Każda symetryczna macierz kwadratowa A R D D posiada rzeczywistą własność własną λ R, to znaczy, że istnieją takie λ R oraz wektor własny u R D takie, że Au = λu. Powstaje pytanie, ile najwięcej 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 rozwiązanie, potrzeba by wyznacznik det(a λi) = 0. Ale det(a λi) jest wielomianem stopnia D ze względu na λ, zatem posiada on co najwyż ej D rozwiązań rzeczywistych. Niech λ i, λ j będą dwoma wartościami własnymi symetrycznej macierzy A i niech u i, u j będą odpowiadającymi im wektorami właściwymi. Wtedy ui, Au j = ui, λ j u j = λj ui, u j i jednocześnie, ponieważ A jest symetryczna ui, Au j = A T u i, u j = Aui, u j = λi u i, u j = λi ui, u j. Stąd wynika, że (λ i λ j ) u i, u j = 0. (5.6) Zatem, jeśli λ i λ j to ich wektory własne u i i u j są do siebie ortogonalne, u i u j. Uniwersytet Kardynała Stefana Wyszyńskiego 29 wersja 12 X 2012

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 : R D R w punkcie X R D w kierunku wektora ξ R D jest określona jako df(x)(ξ) = s s=0 f(x + s ξ) 1( ) = lim f(x + s ξ) f(x). s 0 s Pochodna df(x) jest liniowym przybliżeniem funkcji f w punkcie X. Wobec tego, dla funkcji linowych, pochodna jest dokłdnie tą samą funkcją, ale zdefiniowaną dla ξ. Na przykład, niech dana jest funkcja f(x) = tr(x T CX), wtedy według definicji pochodnej kierunkowej 1( df(x)(ξ) = lim 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 ) ξ ). Związany z pochodną kierunkową 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 ), ξ. Stąd wynika, że gradf(x) = 2X T( C T + C ). wersja 12 X 2012 30 Uniwersytet Kardynała Stefana Wyszyńskiego

ROZDZIAŁ 6 ĆWICZENIA 3 ANALIZA BŁĘDÓW PRZYBLIŻENIA W R Kontynuujemy zagadnienie regresji nieznanej funkcji za pomocą wielomianów. Tutaj główny nacisk jest położony na optymalizację. To znaczy, mając dane treningowe zbiór par {(x i, y i )}, gdzie 0 i N, zadanie polega na znalezienie takich współczynników w j wielomianu f M (x, w) aby zminimalizować daną funkcję błędu. W efekcie tej optymalizacji dostajemy wybrany wektor w = ( ) w 1,..., w M+1 R M+1 a przez to wybrany wielomian f M (x, w ). Chcemy teraz porównać, jak dobrze wielomiany f M (x, w ), dla różnych M, przybliżają nieznaną funkcję ˆf za pomocą której dane treningowe {(x i, y i )} zostały wygenerowane. 6.1 Regresja za pomocą wielomianów Zróbmy analizę przybliżania danej funkcji, w tym wypadku sin, za pomocą wielomianów różnych stopni. Zapiszmy wielomian stopnia M w postaci f M (x, w) = M+1 w i x i 1, gdzie x R oraz w R M+1. Zwróćmy uwagę, że f M (x, w) zależy od w w sposób liniowy. Niech E będzie funkcją błędu daną poprzez E(w) = 1 N ( ) 2. f(xi, w) y i (6.1) 2 Zadanie 6.1: Zadanie podzielone jest na punkty. Wygeneruj 10 punktów wzdłuż krzywej sin z szumem pochodzącym z rozkładu normalnego N (0, 0.5), o średniej 0 i wariancji 0.5. Dokonaj regresji wielomianami o stopniach M = 1, 2,..., 7 uzyskując 7 różnych wartości w. Dla wielomianów wyższych stopni 8 i 9 standardowe metody optymalizacji są rozbieżne i nie dają poprawnego rozwiązania. 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ętny błąd, określony za pomocą funkcji root-mean square dla N = 100 punktów wzdłuż funkcji sin. E RMS = 2E(w )/N Rozwiązanie: Generacją punktów i definicja funkcji błędu (6.1) były już omawiane na poprzednich ćwiczeniach. Nowym elementem jest zdefiniowanie wielomianu dowolnego stopnia. Określimy stopień wielomianu za pomocą 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 < function (h,w) { out < 0 for ( i in length (w) : 1 ) { out < out h + w[ i ] } return < out } ( p o l y e v a l (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 pomocą iteracji f M (h, w) = (( (w M+1 h + w M ) h + w M 1 ) h + ) h + w1. Przykład rozwiązania podaję niżej. Proszę 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 treningowych len < 10 x < seq ( length=len, from=0, to=1) y < sin (2 pi 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 e r r o r e r r o r < function (w) { out < sum(( p o l y e v a l (x,w) y )^2) return < out } # # wielomian s t o p n i a l e n g t h (w) 1 p o l y e v a l < function (h,w) { out < 0 for ( i in length (w) : 1 ) { out < out h + w[ i ] } return < out } wersja 12 X 2012 32 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 wartosc startowa res1 < nlm( error, c (0:1) 0, i t e r l i m = 523) res2 < nlm( error, c (0:2) 0, i t e r l i m = 523) res3 < nlm( error, c (0:3) 0, i t e r l i m = 523) res4 < nlm( error, c (0:4) 0, i t e r l i m = 523) res5 < nlm( error, c (0:5) 0, i t e r l i m = 523) res6 < nlm( error, c (0:6) 0, i t e r l i m = 523) res7 < nlm( error, c (0:7) 0, i t e r l i m = 523) res8 < nlm( error, c (0:8) 0, i t e r l i m = 523) # # policzmy t e r a z Erms na d u z e j p u l i danych erms < function (w, x, y ) { out < sum(( p o l y e v a l (x,w) y )^2) return < sqrt (2 out / length ( x ) ) } # # zbieramy bledy, t u t a j w sa d o s t e p n e za pomoca r e s 6 [ [ 2 ] ] t7 < ( erms ( res7 [ [ 2 ] ], s, sin (2 pi s ) ) ) t6 < ( erms ( res6 [ [ 2 ] ], s, sin (2 pi s ) ) ) t5 < ( erms ( res5 [ [ 2 ] ], s, sin (2 pi s ) ) ) t4 < ( erms ( res4 [ [ 2 ] ], s, sin (2 pi s ) ) ) t3 < ( erms ( res3 [ [ 2 ] ], s, sin (2 pi s ) ) ) t2 < ( erms ( res2 [ [ 2 ] ], s, sin (2 pi s ) ) ) t1 < ( erms ( res1 [ [ 2 ] ], s, sin (2 pi s ) ) ) # # koncowy wykres bledu plot ( c (1,2,3,4,5,6,7), c ( t1, t2, t3, t4, t5, t6, t7 ), type = " b ", col= red, xlab=" s t o p n i e wielomianu ", ylab=" Erms " ) Kod źródłowy 6.2: optymalizacja funkcji bledu za pomoca wielomianow roznego stopnia W rezultacie otrzymujemy wykres błędu, Rysunek 6.1. W powyższym zadaniu, widzimy że proces optymalizacji staje się rozbieżny dla dużych stopni wielomianów. lm( y~poly (x, 7, raw=true) ) nlm( error, 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, przestają pokrywać się dla wielomianów wyższego rzędu Na koniec ćwiczeń, powtórzymy powyższe punkty i szukamy optymalnych wielomianów po raz kolejny. Tym razem jednak zmodyfikujemy funkcję błędu, wprowadzając dodatkowy składnik regulacyjny. E(w) = 1 N ( ) 2 λ f(xi, w) t i + 2 2 w 2. (6.2) Uniwersytet Kardynała Stefana Wyszyńskiego 33 wersja 12 X 2012

Systemy uczące się 6.2. PROBLEM Z DUŻYMI WYMIARAMI Erms 0.50 0.55 0.60 0.65 0.70 1 2 3 4 5 6 7 stopnie wielomianu Rysunek 6.1: Root-mean-square error funkcja błędu E RMS w zależności od stopnia wielomianu użytego do regresji; widzimy że wbrew intuicji, najmniejszy błąd uzyskujemy przy stopniu trzy Zadanie 6.2: Powtórz powyższe zadanie lecz tym razem używając funcji (6.2) jako funkcji błędu. Przyjmij λ = 0.5 Jaki wpływ ma składnik w 2 na otrzymane wyniki? 6.2 Problem z dużymi wymiarami W regresji za pomocą wielomianów widzimy, że paradoksalnie, regresja za pomocą wielomianów dużych stopni daje gorsze wyniki niż za pomocą stopnia 3-go lub 4-go. Mimo, że funkcja sin ma nieskończone rozwinięcie Taylora! Jest to ogólny problem związany ze zwiększającym się wymiarem. Wektor w należy do przestrzeni o wymiarze o jeden większy niż stopień wielomianu. Jednak jednocześnie ze zwiększaniem wymiaru dramatycznie rosną błędy przybliżenia. Zobaczymy to na jeszcze jednym przykładzie. wersja 12 X 2012 34 Uniwersytet Kardynała Stefana Wyszyńskiego

6.2. PROBLEM Z DUŻYMI WYMIARAMI Systemy uczące się Zadanie 6.3: Rozważ kulę o promieniu r = 1 w n-wymiarowej przestrzeni. Jaka część jej objętości znajduje się w warstwie pomiędzy r = 1 ε oraz r = 1. Narysuj wyniki za pomocą linii dla n = 1, 2, 5, 9, 20. Zinterpretuj wyniki. Rozwiązanie: Objętość D-wymiarowej kuli K D (r) o promieniu r jest proporcjonalna do D- tej potęgi r. To znaczy vol(k D (r)) = c D r D, gdzie c D jest stałą zależną tylko od wymiaru D. Zatem szukana proporcja jest równa vol(k D (1)) vol(k D (1 ε)) vol(k D (1)) = 1 (1 ε) D. plot ( s,1 (1 s )^1, type= l, col= black ) 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 xt ( 0. 6, 0.5, "D=1" ) t e xt (0.45, 0.6, "D=2" ) t e xt (0.05, 0.9, "D=20" ) Nota bene, nie jest tak łatwo obliczyć stałą c D. Okazuje się, że jest ona dana poprzez c D = 2πD/2 Γ( 1 2 D), gdzie Γ(z + 1) = z Γ(z) oraz Γ(1) = 1, Γ( 1 2 ) = π. Uniwersytet Kardynała Stefana Wyszyńskiego 35 wersja 12 X 2012

BIBLIOGRAFIA [1] BIECEK, P. Przewodnik po pakiecie R. Oficyna Wydawnicza GiS, 2008. [2] BISHOP, C. M. Pattern Recognition and Machine Learning (Information Science and Statistics), 1st ed. 2006. corr. 2nd printing ed. Springer, Oct. 2007. [3] HASTIE, T., TIBSHIRANI, R., AND FRIEDMAN, 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 uczące się. Exit, 2008. [5] KRZYŚKO, M., WOŁYŃSKI, W., GÓRECKI, T., AND SKORZYBUT, M. Systemy uczące się. Rozpoznawanie wzorców analiza skupień i redukcja wymiarowości. Wydawnictwa Naukowo- Techniczne, 2008. [6] R DEVELOPMENT CORE TEAM. 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 GATNAR, E. Statystyczna analiza danych z wykorzystaniem programu R. Wydawnictwo Naukowe PWN, 2009. [8] WILLIAMSON, R. Some results in statistical learning theory with relevance to nonlinear system identification. Nonlinear Control Systems Design Symposium (1998), 443 448. 81

Appendix 82