Machine learning Lecture 5

Podobne dokumenty
Machine learning Lecture 6

Uczenie maszynowe w zastosowaniu do fizyki cząstek

IMPLEMENTACJA SIECI NEURONOWYCH MLP Z WALIDACJĄ KRZYŻOWĄ

Sieć przesyłająca żetony CP (counter propagation)

Wstęp do sieci neuronowych, wykład 13-14, Walidacja jakości uczenia. Metody statystyczne.

Jakość uczenia i generalizacja

Wstęp do sieci neuronowych, wykład 09, Walidacja jakości uczenia. Metody statystyczne.

Kombinacja jądrowych estymatorów gęstości w klasyfikacji - zastosowanie na sztucznym zbiorze danych

METODY INŻYNIERII WIEDZY

Wybór modelu i ocena jakości klasyfikatora

Projekt Sieci neuronowe

Testowanie modeli predykcyjnych

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

KATEDRA SYSTEMÓW MULTIMEDIALNYCH. Inteligentne systemy decyzyjne. Ćwiczenie nr 12:

Wprowadzenie. Data Science Uczenie się pod nadzorem

Elementy modelowania matematycznego

Dariusz Brzeziński Instytut Informatyki, Politechnika Poznańska

Systemy agentowe. Sieci neuronowe. Jędrzej Potoniec

Kombinacja jądrowych estymatorów gęstości w klasyfikacji wstępne wyniki

ALGORYTM RANDOM FOREST

Systemy agentowe. Sieci neuronowe. Jędrzej Potoniec

Zastosowania sieci neuronowych

Metody klasyfikacji danych - część 1 p.1/24

Sztuczna Inteligencja Tematy projektów Sieci Neuronowe

Kombinacja jądrowych estymatorów gęstości w klasyfikacji - testy na sztucznych danych

Prof. Stanisław Jankowski

Optymalizacja ciągła

Zastosowania sieci neuronowych

Wstęp do teorii sztucznej inteligencji Wykład II. Uczenie sztucznych neuronów.

METODY STATYSTYCZNE W BIOLOGII

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Metody eksploracji danych Laboratorium 2. Weka + Python + regresja

synaptycznych wszystko to waży 1.5 kg i zajmuje objętość około 1.5 litra. A zużywa mniej energii niż lampka nocna.

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

Python : podstawy nauki o danych / Alberto Boschetti, Luca Massaron. Gliwice, cop Spis treści

Widzenie komputerowe (computer vision)

Elementy inteligencji obliczeniowej

Wprowadzenie. Metody bayesowskie Drzewa klasyfikacyjne i lasy losowe Sieci neuronowe SVM. Klasyfikacja. Wstęp

O wielorękich bandytach, nieuczciwych kasynach i sprytnych statystykach. Łukasz Czekaj

ESTYMACJA BŁĘDU PREDYKCJI I JEJ ZASTOSOWANIA

Wstęp do sieci neuronowych, wykład 6 Wsteczna propagacja błędu - cz. 3

Wybór / ocena atrybutów na podstawie oceny jakości działania wybranego klasyfikatora.

Uczenie sieci radialnych (RBF)

Widzenie komputerowe

Klasyfikacja LDA + walidacja

2. Empiryczna wersja klasyfikatora bayesowskiego

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

Klasyfikator. ˆp(k x) = 1 K. I(ρ(x,x i ) ρ(x,x (K) ))I(y i =k),k =1,...,L,

Temat: Sztuczne Sieci Neuronowe. Instrukcja do ćwiczeń przedmiotu INŻYNIERIA WIEDZY I SYSTEMY EKSPERTOWE

WYKORZYSTANIE SIECI NEURONOWEJ DO BADANIA WPŁYWU WYDOBYCIA NA SEJSMICZNOŚĆ W KOPALNIACH WĘGLA KAMIENNEGO. Stanisław Kowalik (Poland, Gliwice)

Rozpoznawanie obrazów

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

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

Stan dotychczasowy. OCENA KLASYFIKACJI w diagnostyce. Metody 6/10/2013. Weryfikacja. Testowanie skuteczności metody uczenia Weryfikacja prosta

Uczenie sieci typu MLP

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

SPOTKANIE 3: Regresja: Regresja liniowa

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym, kontynuacja badań

Instrukcja realizacji ćwiczenia

I EKSPLORACJA DANYCH

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład I dr inż. 2015/2016

Drzewa decyzyjne i lasy losowe

PROGNOZOWANIE OSIADAŃ POWIERZCHNI TERENU PRZY UŻYCIU SIECI NEURONOWYCH**

Sieci neuronowe w Statistica

Podstawy Sztucznej Inteligencji (PSZT)

Lekcja 5: Sieć Kohonena i sieć ART

Rozdział 1 Sztuczne sieci neuronowe. Materiały do zajęć dydaktycznych - na podstawie dokumentacji programu Matlab opracował Dariusz Grzesiak

Sieci neuronowe jako sposób na optymalizacje podejmowanych decyzji. Tomasz Karczyoski Wydział W-08 IZ

Weryfikacja hipotez statystycznych, parametryczne testy istotności w populacji

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

Podstawy Sztucznej Inteligencji Sztuczne Sieci Neuronowe. Krzysztof Regulski, WIMiIP, KISiM, B5, pok. 408

Metody klasyfikacji i rozpoznawania wzorców. Najważniejsze rodzaje klasyfikatorów

Identyfikacja istotnych atrybutów za pomocą Baysowskich miar konfirmacji

Zastosowanie metod eksploracji danych Data Mining w badaniach ekonomicznych SAS Enterprise Miner. rok akademicki 2014/2015

WSKAZÓWKI DO WYKONANIA SPRAWOZDANIA Z WYRÓWNAWCZYCH ZAJĘĆ LABORATORYJNYCH

Sztuczne sieci neuronowe (SNN)

Zastosowanie optymalizacji rojem cząstek (PSO) w procesie uczenia wielowarstwowej sieci neuronowej w problemie lokalizacyjnym

Ontogeniczne sieci neuronowe. O sieciach zmieniających swoją strukturę

Wprowadzenie do statystyki oraz analizy danych

Uczenie sieci neuronowych i bayesowskich

Budowa sztucznych sieci neuronowych do prognozowania. Przykład jednostek uczestnictwa otwartego funduszu inwestycyjnego

A Zadanie

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wstęp do teorii sztucznej inteligencji Wykład III. Modele sieci neuronowych.

8. Neuron z ciągłą funkcją aktywacji.

Machine learning Lecture 2

Inteligentne systemy decyzyjne: Uczenie maszynowe sztuczne sieci neuronowe

Pattern Classification

Błędy przy testowaniu hipotez statystycznych. Decyzja H 0 jest prawdziwa H 0 jest faszywa

Metody probabilistyczne klasyfikatory bayesowskie

Metody systemowe i decyzyjne w informatyce

KADD Metoda najmniejszych kwadratów funkcje nieliniowe

Metody systemowe i decyzyjne w informatyce

Oprogramowanie Systemów Obrazowania SIECI NEURONOWE

wiedzy Sieci neuronowe

TEORETYCZNE PODSTAWY INFORMATYKI

ALGORYTMY SZTUCZNEJ INTELIGENCJI

Zastosowanie sieci neuronowych w problemie klasyfikacji wielokategorialnej. Adam Żychowski

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0

1.7. Eksploracja danych: pogłębianie, przeszukiwanie i wyławianie

Transkrypt:

Machine learning Lecture 5 Marcin Wolter IFJ PAN 21 kwietnia 2017 Uczenie -sprawdzanie krzyżowe (cross-validation). Optymalizacja parametrów metod uczenia maszynowego. Deep learning 1

Uczenie z nauczycielem 2

Przetrenowanie Przetrenowanie algorytm uczy się poszczególnych przypadków, a nie ogólnych zasad. Efekt występuje we wszystkich metodach uczących się. Remedium kontrola z użyciem dodatkowego zbioru danych. Poprawnie Y T Przetrenowanie AMY W!!! Y Ż N IA U E E A L U CZ O D O LK Ę Z C Ś D I C Y N A CH zbiór treningowy zbiór testowy STOP testowy treningowy Przykład z użyciem sieci neuronowej. 3

Jak uczyć z nauczycielem? Jak uczyć algorytm aby uniknąć przeuczenia? Używać jednego zbioru do uczenia a drugiego do walidacji? Prowadzi to do zawyżenia estymatora błędu (bo używamy części danych). Drugi problem: w zasadzie aby zminimalizować przeuczenie powinniśmy używać trzeciego zbioru danych do ostatecznego wyznaczenia wydajności algorytmu. Jak zoptymalizować parametry algorytmu użytego do uczenia (np. liczba drzew w BDT, liczba ukrytych warstw/nodów w sieci neuronowej)? 4

Walidacja 5

Walidacja krzyżowa cross-validation Mamy niezależne zbiory uczący Ln oraz testowy Tm. Poziom błędu klasyfikatora próby uczącej Ln skonstruowanego za pomocą Estymator ponownego podstawienia (te same dane użyte do nauki i do określenia błędu) jest estymatorem obciążonym. Zmniejszenie obciążenia: np.. podział danych na dwie części wykorzystanie tylko części informacji. Sprawdzanie krzyżowe z próby Ln usuwamy przypadek j, trenujemy, sprawdzamy na jednej obserwacji j. Powtarzamy n razy. Otrzymujemy estymator: Estymator granicznie nieobciążony, wymagający obliczeniowo, ma większą wariancję niż et. 6

Walidacja krzyżowa Rozwiązanie pośrednie v-fold cross-validation Podział próby na v podzbiorów, v-1 z nich używamy do uczenia, jeden do sprawdzenia. Powtarzamy v razy. Mniejsza ilość obliczeń w porównaniu ze sprawdzaniem krzyżowym. Zalecane v ~ 10 w zagadnieniu estymacji poziomu błędu. W zagadnieniu wyboru modelu (np. przy dobieraniu parametrów modelu) wybieramy wtedy klasyfikator, dla którego błąd klasyfikacji ma wartość najmniejszą. 7

Walidacja krzyżowa 4-krotny folding Znajdowanie zależności CV od alpha (dane medyczne) Rysuję średnią i odchylenie standardowe oraz, na drugim rysunku, poszczególne zależności dla każdego v Dostaję szacunkowy błąd estymacji CV 8

Bootstrap 9

Model performance https://www.slideshare.net/0xdata/top-10-data-science-practitioner-pitfalls 10

Train vs Test vs Valid 11

Optymalizacja hiperparametrów Każda (prawie) metoda ma szereg parametrów (np. struktura sieci neuronowej). Powinny one być zoptymalizowane dla danego problemu. Zadanie: dla danego zbioru danych znaleźć taki zestaw parametrów używanej metody uczenia maszynowego, aby estymowany błąd metody była jak najmniejszy. Cechy szczególne naszego problemu: Uzyskanie kolejnego pomiaru jest kosztowne Znaczący poziom szumu Możemy obliczyć wartość funkcji (czyli nasz błąd estymatora) w punkcie x, ale nie możemy obliczyć pochodnej. 12

Optymalizacja hiperparametrów Jak optymalizować: Grid search - skanowanie możliwych wartości parametrów. Random search Jakieś dopasowanie Popularną metodą jest optymalizacja bayesowska Zbuduj model prawdopodobieństwa Weź rozkład a priori parametrów Znajdź dla jakiej wartości parametrów masz szansę najbardziej poprawić model Oblicz wartość błędu Znajdź rozkład prawdopodobieństwa a posteriori Powtórz 13

Jak to działa w praktyce? Dopasowanie prostej y(x, w) = w0 + w1x do danych. 1) Prior gaussowski, nie ma danych 2) Jeden punkt. Obliczamy likelihood na podstawie tego punktu. Mnożymy rozkład a priori*likelihood, otrzymujemy rozkład a posteriori. 3) Dodajemy drugi punkt i powtarzamy procedurę. 4) Dodajemy następne punkty danych. Uwaga: dane obarczone szumem. 14

Punkt startowy Nieznana funkcja (z szumem), cztery obserwacje. Gdzie przeprowadzić następne (kosztowne) próbkowanie? 15

Szereg funkcji Rozkład funkcji a posteriori Rozkład a posteriori możliwych funkcji, które mogłyby wygenerować obserwowane dane. 16

Funkcje a posteriori Gaussian Processes (GP) Funkcje muszą być jakoś sparametryzowane. Np. (ale niekoniecznie) mogą to być funkcje Gaussa. 17

Funkcja akwizycji Posterior GP (Gaussian Processes) dają nam średnią z funkcji μ(x) oraz przewidywaną wariancję funkcji σ2(x). Eksploracja (Exploration) szukamy miejsc z dużą wariancją Eksploatacja (Exploitation) szukamy miejsc z najwyższą wartością μ(x) Funkcja akwizycji musi zbalansować te metody poszukiwania: Probability of Improvement (Kushner 1964): api(x) = Φ(γ(x)) Expected Improvement (Mockus 1978) GP Upper Confidence Bound (Srinivas et al. 2010): alcb(x) = μ(x) - κσ(x) 18

Te funkcje są dość podobne... 19

Wybieramy x próbkowania u(x) funkcja akwizycji 20

Dokonujemy próbkowania i powtarzamy procedurę... 21

t=2 t=4 t=3 t=5 22

Ograniczenia Optymalizacja Bayesowska zależy od wybranych parametrów Oraz wyboru funkcji akwizycji I wyboru prioru Jest sekwencyjna kłopoty z paralelizacją. Istnieją alternatywne metody, które można zrównoleglić (np. Random Search czy Tree of Parzen Estimators (TPE) używane przez pakiet hyperopt). 23

Implementacje Python Spearmint https://github.com/jaspersnoek/spearmint GPyOpt https://github.com/sheffieldml/gpyopt RoBO https://github.com/automl/robo Scikit-optimize https://github.com/mechcoder/scikit-optimize C++ MOE https://github.com/yelp/moe 24

Literatura Brochu, E., Cora, V. M., and De Freitas, N. (2010). A tutorial on bayesian optimization of expensive cost functions, with application to active user modeling and hierarchical reinforcement learning. arxiv preprint arxiv:1012.2599. Shahriari, B., Swersky, K., Wang, Z., Adams, R. P., and de Freitas, N. (2016). Taking the human out of the loop: A review of bayesian optimization. Proceedings of the IEEE, 104(1):148 175. 25

Deep Learning 26

1. Co oznacza deep learning? 2. Dlaczego daje lepsze rezultaty niż inne metody przy rozpoznawaniu obrazu, mowy i nie tylko? 27

Odpowiedź: Deep Learning - użycie sieci neuronowej z wieloma warstwami ukrytymi Seria warstw ukrytych dokonuje dokonuje identyfikacji cech obiektów (feature identification) I przetwarza je w ciągu operacji: identyfikacja cech dalsza identyfikacja selekcja Ale przecież sieci neuronowe znane są od lat 80-tych??? Zawsze mieliśmy dobre algorytmy do uczenia sieci z jedną (ew. dwoma) warstwami ukrytymi. Ale one nie działały przy treningu większej liczby warstw nowość: algorytmy do treninging sieci z wieloma warstwami! 28

Jak uczymy sieć neuronową? -0.06 W1-2.5 W2 f(x) Funkcja aktywacji W3 1.4 29

-0.06 2.7-2.5-8.6 0.002 f(x) x = -0.06 2.7 + 2.5 8.6 + 1.4 0.002 = 21.34 1.4 30

Trening sieci neuronowej Pola Klasa 1.4 2.7 1.9 0 3.8 3.4 3.2 0 6.4 2.8 1.7 1 4.1 0.1 0.2 0 etc 31

Dane treningowe Pola Klasa 1.4 2.7 1.9 0 3.8 3.4 3.2 0 6.4 2.8 1.7 1 4.1 0.1 0.2 0 etc Inicjalizacja przypadkowymi wagami 32

Dane treningowe Pola Klasa 1.4 2.7 1.9 0 3.8 3.4 3.2 0 6.4 2.8 1.7 1 4.1 0.1 0.2 0 etc Wczytujemy dane Przepuszczamy przez sieć Wynik porównujemy z prawdziwym rezultatem 1.4 2.7 1.9 0.8 0 Błąd 0.8 Modyfikujemy wagi na podstawie uzyskanego błędu Powtarzamy miliony razy za każdym modyfikując wagi Algorytmy uczenia zadbają, aby błąd się zmniejszał w kolejnych iteracjach.. 33

34

35

36

37

38

39

Uwaga Jeśli f(x) jest funkcją nieliniową, to sieć z jedną warstwą ukrytą może klasyfikować dowolny problem (odtwarza dowolną funkcję). Istnieje zbiór wag, który to zapewnia. Niestety problemem jest znalezienie go. 40

Jak zidentyfikować cechy (features)? 41

Co robi ten neuron? 42

Neurony w warstwach ukrytych są samoorganizującymi się detektorami cech 1 5 10 15 20 25 1 Duża waga Mała waga 63 43

Co on wykrywa? 1 5 10 15 20 25 1 Duża waga Mała waga Wysyła silny sygnał, jeśli znajdzie poziomą linię w górnym rzędzie. Ignoruje wszstko inne. 63 44

Co on wykrywa? 1 5 10 15 20 25 1 Duża waga Mała waga Wysyła silny sygnał, jeśli znajdzie ciemny obszar w lewym górnym rogu. 63 45

Jakie cechy powinna wykrywać sieć neuronowa czytająca pismo ręczne? 46

Pionowe linie 1 63 47

Poziome linie 1 63 48

Kółka 1 A co z niewrażliwością na położenie??? 63 49

Następne warstwy mogą uczyć się cech wyższego stopnia etc Wykrywa linie w określonych miejscach Detektory wyższego rzędu v etc 50

Wielowarstwowa sieć ma sens... Nasze mózgi prawdopodobnie pracują w ten sposób. 51

Niestety, do niedawna nie umieliśmy uczyć sieci wielowarstwowych 52

Nowa metoda uczenia (w zarysie) 53

Nowa metoda uczenia (w zarysie) Trenuj tę warstwę 54

Nowa metoda uczenia (w zarysie) Trenuj tę warstwę Potem ta 55

Nowa metoda uczenia (w zarysie) Trenuj tę warstwę Potem ta Potem ta 56

Nowa metoda uczenia (w zarysie) Trenuj tę warstwę Potem ta Potem ta Potem ta 57

Nowa metoda uczenia (w zarysie) Trenuj tę warstwę Potem ta Potem ta Potem ta Na koniec ta 58

Nowa metoda uczenia (w zarysie) Każda warstwa ukryta jest automatycznym detektorem cech auto-encoder 59

auto-encoder jest wytrenowany tak, aby reprodukował to, co otrzyma na wejściu. W ukrytej warstwie jest mniej neuronów niż w wejściowej, co zmusza warstwę ukrytą do efektywnego wykrywania ważnych cech 60

Warstwy ukryte są wytrenowane do identyfikacji cech 61

Warstwa wyjściowa identyfikuje, do jakiej klasy należy przypadek. 62

To tyle na dziś... Applet pokazujący działanie głębokiej sieci neuronowej: http://cs.stanford.edu/people/karpathy/convnetjs/ 63