Wstęp do sieci neuronowych, wykład 09, Walidacja jakości uczenia. Metody statystyczne. Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 2011-12-06
1 Przykład Przeuczenie sieci 2 Przypomnienie ze statystyki Problem Modele walidacji danych 3 Eksperyment myślowy Błędy pierwszego i drugiego rodzaju 4 Regresja liniowa prosta Regresja liniowa wielomian stopnia d
Przykład Przeuczenie sieci 1 Przykład Przeuczenie sieci 2 Przypomnienie ze statystyki Problem Modele walidacji danych 3 Eksperyment myślowy Błędy pierwszego i drugiego rodzaju 4 Regresja liniowa prosta Regresja liniowa wielomian stopnia d
Przykład Przykład Przeuczenie sieci Rozważmy problem XOR; 1.5 1 0.5 0-0.5-1 -1.5-1.5-1 -0.5 0 0.5 1 1.5 (Poprawnie) nauczona sieć daje poprawną odpowiedź na wszystkich 4 przykładach, Tablica haszująca da ten sam efekt bez zaawansowanej teorii i przy porównywalnym (albo i mniejszym) koszcie pamięciowym, Ale co się stanie gdy zapytamy się o klasyfikację punktu (1.3, 0.5)?
Przykład Przykład Przeuczenie sieci Co się stanie gdy zapytamy się o klasyfikację punktu (1.3, 0.5)? Tablica haszująca: (zależnie od wybranego języka) ArrayIndexOutOfBoundsException, Segmentation fault itp. Sieć neuronowa: zwróci (jakąś) odpowiedź dla każdego z punktów na płaszczyźnie, Od czego zależy odpowiedź?
Wnioski Przykład Przeuczenie sieci nie chcemy w zbiorze treningowym każdej możliwej wartości jaka może paść, chcemy reprezentatywną próbkę przestrzeni o jaką sieć będzie pytana podczas normalnego działania,
Przykład Przeuczenie sieci Co to jest reprezentatywna próbka? Co autor może mieć na myśli: 2 1.5 1 0.5 0-0.5-1 -1-0.5 0 0.5 1 1.5 2
Przykład Przeuczenie sieci Co to jest reprezentatywna próbka? Co sieć może z tego zrozumieć: 2 1.5 1 0.5 0-0.5-1 -1-0.5 0 0.5 1 1.5 2
Przykład Przeuczenie sieci jest zdolnością sieci do porawnej klasyfikacji danych, na których sieć nie była uczona.
Przykład Przeuczenie sieci Dane uczące: 2 1.5 1 0.5 0-0.5-1 -1-0.5 0 0.5 1 1.5 2
Przykład Przeuczenie sieci Sieć niedouczona: 2 1.5 1 0.5 0-0.5-1 -1-0.5 0 0.5 1 1.5 2
Przykład Przeuczenie sieci Sieć dobrze nauczona: 2 1.5 1 0.5 0-0.5-1 -1-0.5 0 0.5 1 1.5 2
Przykład Przeuczenie sieci Sieć przeuczona: 2 1.5 1 0.5 0-0.5-1 -1-0.5 0 0.5 1 1.5 2
Przeuczenie sieci Przykład Przeuczenie sieci przeuczenie sieci jest sytuacją gdy sieć uczy się przykładów na pamięć, zdarza się to gdy sieć ma zbyt wiele punktów swobody (za dużo neuronów do nauczenia w porównaniu do skomplikowania problemu i ilości danych), przeuczona sieć traci możliwości generalizacji.
Systuacja ekstremalna Przykład Przeuczenie sieci Dane uczące: 2 1.5 1 0.5 0-0.5-1 -1-0.5 0 0.5 1 1.5 2
Systuacja ekstremalna Przykład Przeuczenie sieci Wewnętrzna reprezentacja 2 1.5 1 0.5 0-0.5-1 -1-0.5 0 0.5 1 1.5 2
Przypomnienie ze statystyki Problem Modele walidacji danych 1 Przykład Przeuczenie sieci 2 Przypomnienie ze statystyki Problem Modele walidacji danych 3 Eksperyment myślowy Błędy pierwszego i drugiego rodzaju 4 Regresja liniowa prosta Regresja liniowa wielomian stopnia d
Przypomnienie ze statystyki Przypomnienie ze statystyki Problem Modele walidacji danych Dana jest próbka losowa x 1,..., x n wartości, losowanych niezależnie z rozkładu X. Średnia z próby definiowana jest jako x = n i=1 x i n Średnia jest (mocno) zgodnym estymatorem wartości oczekiwanej rozkładu X (o ile EX istnieje!).
Przypomnienie ze statystyki Przypomnienie ze statystyki Problem Modele walidacji danych Estymator wariancji (o ile rozkład X posiada wariancję!): ˆσ 2 = 1 n 1 n (x i x) 2 i=1 Estymator odchylenia standardowego: ˆσ = 1 n (x i x) n 1 2 i=1
Przypomnienie ze statystyki Przypomnienie ze statystyki Problem Modele walidacji danych Medianą próbki losowej x i1,..., x in będzie tą próbką po posortowaniu. Mediana jest zdefiniowana jako: jeżeli n jest nieparzyste x i(n+1/2) (element na samym środku posortowanej listy), jeżeli n jest parzyste x i n/2 +x in/2+1 2 (średnia dwóch środkowych elementów)
Zagadnienie Przypomnienie ze statystyki Problem Modele walidacji danych Dane niech będzie zbiór punktów uczących wraz z poprawnymi odpowiedziami, Skonstruowana i nauczona została sieć neuronowa, Chcemy ocenić jakość klasyfikacji i generalizacji uzyskanej sieci.
Proste rozwiązanie Przypomnienie ze statystyki Problem Modele walidacji danych Po nauczeniu sieci sprawdzamy ile z przykładów jest klasyfikowanych poprawnie, Obliczamy ilość wszystkich przykładów, Przypisujemy: jakość uczenia := ilość przykładów sklasyfikowanych poprawnie ilość wszystkich przykładów
Proste rozwiązanie Przypomnienie ze statystyki Problem Modele walidacji danych Rozwiązanie jest aż za proste! nie mówi nic o zachowaniu się sieci na danych, których nie widziała, preferuje uczenie się danych na pamięć, ignoruje generalizację, zaletą jest to, że maksymalnie wykorzystuje zestaw danych do uczenia.
Walidacja prosta Przypomnienie ze statystyki Problem Modele walidacji danych dane uczące są losowo dzielone na dwa rozłączne zbiory: próbkę uczącą U, próbkę testową T, sieć jest uczona za pomocą próbki uczącej, jakość sieci jest badana tylko za pomocą próbki testowej jakość := ilość przykładów T sklasyfikowanych poprawnie ilość wszystkich przykładów w T
Walidacja prosta Przypomnienie ze statystyki Problem Modele walidacji danych
Walidacja prosta Przypomnienie ze statystyki Problem Modele walidacji danych Uwagi i niebezpieczeństwa: większy wpływ na wynik może mieć zaimplementowany algorytm, U U T, niż rozsądnym minimum dla U jest około 1 4 całego zbioru, z drugiej strony U nie powinno być większe niż 9 10 całego zbioru, podając wynik, zawsze podajemy proporcje w jakich podzielono zbiór, mamy informację o możliwości generalizacji, ale algorytm uczenia sieci korzystał tylko z ułamka dostępnej wiedzy,
k-krotna walidacja krzyżowa Przypomnienie ze statystyki Problem Modele walidacji danych Ang. k-fold cross-validation dane uczące są losowo dzielone na k rozłącznych i równolicznych zbiorów: T 1,..., T k, dla i = 1...k powtarzamy uczymy sieć na zbiorze uczącym T 1...T i 1 T i+1 T k, testujemy tak nauczoną sieć na danych T i (na tych danych sieć nie była uczona), zapamiętujemy rezultat jako r i podajemy wszystkie rezultaty r i, lub przynajmniej ich średnią, medianę, minimum, maksimum i odchylenie standardowe,
k-krotna walidacja krzyżowa Przypomnienie ze statystyki Problem Modele walidacji danych
Przypomnienie ze statystyki Problem Modele walidacji danych k-razy dwukrotna walidacja krzyżowa Ang. k-times 2-fold cross-validation odmiana walidacji krzyżowej, dla i = 1...k powtarzamy: wykonujemy 2-krotną walidację, za każdym razem losujemy zbiory treningowy i testowy od nowa, zapamiętujemy wyniki r i1 r i2 (po dwa na każdą iterację), zwracamy statystyki uzyskanych wyników,
Przypomnienie ze statystyki Problem Modele walidacji danych k-razy dwukrotna walidacja krzyżowa
Leave One Out Przypomnienie ze statystyki Problem Modele walidacji danych odmiana walidacji krzyżowej, w której k = ilość elementów w T, dla i = 1...n powtarzamy: uczymy sieć na zbiorze uczącym T \T i, testujemy sieć na pozostałym przykładzie T i, zapamiętujemy wynik r i (będzie on albo +1, albo 0), obliczamy średnią i odchylenie standardowe wyników, można stosować w przypadku małej ilości danych w zbiorze T.
Leave One Out Przypomnienie ze statystyki Problem Modele walidacji danych
Eksperyment myślowy Błędy pierwszego i drugiego rodzaju 1 Przykład Przeuczenie sieci 2 Przypomnienie ze statystyki Problem Modele walidacji danych 3 Eksperyment myślowy Błędy pierwszego i drugiego rodzaju 4 Regresja liniowa prosta Regresja liniowa wielomian stopnia d
Błędy i błędy Eksperyment myślowy Błędy pierwszego i drugiego rodzaju jeżeli przyjmowana klasyfikacja jest binarna to możemy się pomylić na dwa sposoby: przypadek, który powinien być prawdziwy, oceniamy jako fałszywy, (ang. false negative error) przypadek fałszywy oceniamy jako prawdziwy (ang. false positive), który błąd jest gorszy?
Przykład Eksperyment myślowy Błędy pierwszego i drugiego rodzaju egzamin z przedmiotu (np. WSN) powinien testować wiedzę zdających jeżeli zdający zna materiał i dostał ocenę pozytywną, to egzaminator poprawnie ocenił wiedzę, jeżeli zdający nie zna materiału i nie zaliczył, to ocena jest poprawna, jeżeli zdający umiał, ale mimo tego nie zaliczył, to egzaminator popełnił błąd (false negative), jeżeli zdający nie umiał a zaliczył, to egzaminator popełnił (dramatyczny) błąd (false positive). ponieważ zawsze przysługuje egzamin poprawkowy, to ostatnia opcja jest najgorsza...
Błędy pierwszego i drugiego rodzaju Eksperyment myślowy Błędy pierwszego i drugiego rodzaju klasyfikacja pozytywna klasyfikacja negatywna faktyczny stan poprawna odpowiedź false negative jest pozytywny true positive (błąd II-go rodzaju) faktyczny stan false positive poprawna odpowiedź jest negatywny (błąd I-go rodzaju) true negative
Bardziej życiowe przykłady Eksperyment myślowy Błędy pierwszego i drugiego rodzaju filtr antyspamowy, kontrola bezpieczeństwa na lotnisku, diagnoza lekarska, diagnoza usterek technicznych, kontrola jakości,
Wrażliwość i specyficzność Eksperyment myślowy Błędy pierwszego i drugiego rodzaju wrażliwość testu (ang. sensitivity) jest odsetkiem poprawnych odpowiedzi wśród poprawnych przypadków, test o wysokiej wrażliwości popełnia mało błędów II-go rodzaju TPR = true positives positives specyficzność testu (ang. specificity) jest odsetkiem poprawnych odpowiedzi wśród negatywnych przypadków, test o wysokiej specyficzności popełnia mało błędów I-go rodzaju TNR = true negatives negatives
Wrażliwość i specyficzność Eksperyment myślowy Błędy pierwszego i drugiego rodzaju stuprocentowa wrażliwość tak na każdy przypadek, stuprocentowa specyficzność nie na każdy przypadek ( bardzo asertywny test ), wysokie oba wskaźniki są cechą dobrych testów (co oznacza: trudne do osiągnięcia), znając cel (np. unikanie fałszywych alarmów), szukamy najlepszego kompromisu kontrolując ważniejszą statystykę,
Reciever Operation Characteristic Eksperyment myślowy Błędy pierwszego i drugiego rodzaju Funkcja wrażliwości testu w zależności od progu przyjmowania odpowiedzi:
Regresja liniowa prosta Regresja liniowa wielomian stopnia d 1 Przykład Przeuczenie sieci 2 Przypomnienie ze statystyki Problem Modele walidacji danych 3 Eksperyment myślowy Błędy pierwszego i drugiego rodzaju 4 Regresja liniowa prosta Regresja liniowa wielomian stopnia d
Co robić jeżeli wyniki są ciągłe? Regresja liniowa prosta Regresja liniowa wielomian stopnia d błędy mierzymy jako odległość uzyskanego wyniku od oczekiwanego: ERR = E(t) O(t) t lub kwadrat odległości ERR = t (E(t) O(t)) 2
Co robić jeżeli wyniki są ciągłe? Regresja liniowa prosta Regresja liniowa wielomian stopnia d w przypadku wielowymiarowym dodatkowo suma po współrzędnych ERR = (E i (t) O i (t)) 2 t im mniejszy błąd tym lepsza klasyfikacja i
Co robić jeżeli wyniki są ciągłe? Regresja liniowa prosta Regresja liniowa wielomian stopnia d im więcej elementów w zbiorze, tym większy błąd nawet dla dobrej sieci, zatem uśrednimy wyniki: ERR = 1 n n (E(t i ) O(t i )) 2 i=1 n ilość przykładów w zbiorze
Regresja liniowa prosta Regresja liniowa wielomian stopnia d Regresja liniowa / Metoda najmniejszych kwadratów danych mamy n punktów na R 2 : (x 1, y 1 ),..., (x n, y n ) chcemy znaleźć równanie prostej y = ax + b przybliżającej te punkty
Regresja liniowa prosta Regresja liniowa wielomian stopnia d Regresja liniowa / Metoda najmniejszych kwadratów danych mamy n punktów na R 2 : (x 1, y 1 ),..., (x n, y n ) chcemy znaleźć równanie prostej y = ax + b przybliżającej te punkty idea: znajdziemy równanie prostej f, która minimalizuje odległość od tych punktów n (f (x i ) y i ) 2 i=1
Regresja liniowa prosta Regresja liniowa wielomian stopnia d Regresja liniowa / Metoda najmniejszych kwadratów 5 5 0 0-5 -5-10 -10-15 0 2 4 6 8 10-15 0 2 4 6 8 10
Regresja liniowa prosta Regresja liniowa wielomian stopnia d Regresja liniowa / Metoda najmniejszych kwadratów Rozważania na tablicy
Regresja liniowa prosta Regresja liniowa wielomian stopnia d Regresja liniowa / Metoda najmniejszych kwadratów Da tych, którzy wolą uczyć się ze slajdów
Regresja liniowa prosta Regresja liniowa wielomian stopnia d Regresja liniowa / Metoda najmniejszych kwadratów Da tych, którzy wolą uczyć się ze slajdów postać prostej f (x) = ax + b błąd E(a, b) = i (f (x i) y i ) 2 = i (ax i + b y i ) 2
Regresja liniowa prosta Regresja liniowa wielomian stopnia d Regresja liniowa / Metoda najmniejszych kwadratów Da tych, którzy wolą uczyć się ze slajdów postać prostej f (x) = ax + b błąd E(a, b) = i (f (x i) y i ) 2 = i (ax i + b y i ) 2 błąd chcemy minimalizować więc liczymy pochodne po a i po b E a = i E b = i (ax i + b y i ) 2 a (ax i + b y i ) 2 b
Regresja liniowa Regresja liniowa prosta Regresja liniowa wielomian stopnia d E a = i i (ax i + b y i ) 2 a = i 2(ax i + b y i )x i = 2(a i 2(ax i + b y i ) (ax i + b y i ) a x 2 i + b i x i i x i y i ) =
Regresja liniowa Regresja liniowa prosta Regresja liniowa wielomian stopnia d E a = i Podobnie i (ax i + b y i ) 2 a = i 2(ax i + b y i )x i = 2(a i E b = (ax i + b y i ) 2 b i i = i 2(ax i + b y i )1 = 2(a i 2(ax i + b y i ) (ax i + b y i ) a x 2 i + b i x i i x i y i ) 2(ax i + b y i ) (ax i + b y i ) b x i + b i 1 i y i ) = =
Regresja liniowa prosta Regresja liniowa wielomian stopnia d Regresja liniowa / Metoda najmniejszych kwadratów Oznaczmy S 1 = i 1 = n S x = i x i S y = i y i S xy = i x iy i S xx = i x i 2
Regresja liniowa prosta Regresja liniowa wielomian stopnia d Regresja liniowa / Metoda najmniejszych kwadratów Nasze równania teraz wyglądają następująco: 2(aS xx + bs x S xy ) = 0 2(aS x + bs 1 S y ) = 0
Regresja liniowa prosta Regresja liniowa wielomian stopnia d Regresja liniowa / Metoda najmniejszych kwadratów Nasze równania teraz wyglądają następująco: 2(aS xx + bs x S xy ) = 0 2(aS x + bs 1 S y ) = 0 as xx + bs x = S xy as x + bs 1 = S y
Regresja liniowa prosta Regresja liniowa wielomian stopnia d Regresja liniowa / Metoda najmniejszych kwadratów Nasze równania teraz wyglądają następująco: 2(aS xx + bs x S xy ) = 0 2(aS x + bs 1 S y ) = 0 as xx + bs x = S xy as x + bs 1 = S y a = b = n Sxy Sx Sy n S xx S 2 x Sxx Sy Sxy Sx n S xx S 2 x
Regresja liniowa prosta Regresja liniowa wielomian stopnia d Regresja liniowa / Metoda najmniejszych kwadratów Jeżeli f (x) = a d x d + a d 1 x d 1 + a 1 x + a 0 błąd E(a, b) = i (f (x i) y i ) 2
Regresja liniowa prosta Regresja liniowa wielomian stopnia d Regresja liniowa / Metoda najmniejszych kwadratów Jeżeli f (x) = a d x d + a d 1 x d 1 + a 1 x + a 0 błąd E(a, b) = i (f (x i) y i ) 2 ponownie liczymy pochodne po każdym ze współczynników E a i = j (a d x d j +... + a 1 x 1 j + a 0 y j ) 2 a j dla i = 0...d,
Aproksymacja wielomianem st. 2 Regresja liniowa prosta Regresja liniowa wielomian stopnia d 10 5 0-5 -10 0 2 4 6 8 10
Regresja liniowa prosta Regresja liniowa wielomian stopnia d Regresja liniowa / Metoda najmniejszych kwadratów E a i = j (a d x d j +... + a 1 x 1 j + a 0 y j ) (ad x d j +... + a 0 y j ) a j dla i = 0...d,
Regresja liniowa prosta Regresja liniowa wielomian stopnia d Regresja liniowa / Metoda najmniejszych kwadratów E a i = j (a d x d j +... + a 1 x 1 j + a 0 y j ) (ad x d j +... + a 0 y j ) a j dla i = 0...d, E a i = j (a d x d j +... + a 1 x 1 j + a 0 y j ) x i j dla i = 0...d,
Regresja liniowa prosta Regresja liniowa wielomian stopnia d Regresja liniowa / Metoda najmniejszych kwadratów E a i = j (a d x d j +... + a 1 x 1 j + a 0 y j ) (ad x d j +... + a 0 y j ) a j dla i = 0...d, E a i = j (a d x d j +... + a 1 x 1 j + a 0 y j ) x i j dla i = 0...d, E = a d a i j x d+i j +... + a 1 j x 1+i j + a 0 xj i j j y j x i j = 0
Regresja liniowa prosta Regresja liniowa wielomian stopnia d Regresja liniowa / Metoda najmniejszych kwadratów Oznaczmy: S x k = j x k j S yx k = j y j x k j S 1 = j 1
Regresja liniowa prosta Regresja liniowa wielomian stopnia d Regresja liniowa / Metoda najmniejszych kwadratów Otrzymujemy układ równań: S x 2d S x 2d 1... S x d+1 S x d S x 2d 1 S x 2d 2... S x d S x d 1.. S x d S x d 1... S x 1 S x 0 a n a n 1. a 0 = S yx d S yx d 1. S yx 0
Regresja liniowa prosta Regresja liniowa wielomian stopnia d Aproksymacja wielomianem zbyt wysokiego stopnia dla wysokich stopni wielomianu d i złośliwych danych problem może być źle uwarunkowany (np. w danych jest para (x i, y i )(x j, y j ) gdzie x i jest dość bliski x j, a odpowiadające im y znacznie się różnią), wielomian trafia idealnie (niemal idealnie, jeżeli d < n 1) w każdy z punktów uczących, ale nie oddaje tego, co się dzieje poza nimi, jeżeli d n (ilość danych), to prostszym rozwiązaniem jest interpolacja wielomianowa Lagrange a.
Regresja liniowa prosta Regresja liniowa wielomian stopnia d Aproksymacja wielomianem zbyt wysokiego stopnia 40 20 0-20 -40 0 2 4 6 8 10
Regresja liniowa prosta Regresja liniowa wielomian stopnia d znajdź wielomiany stopni 1, 2 i 3 przybliżający punkty (0, 0), (1, 1), (2, 3), znajdź wielomiany stopni 1, 2 i 3 przybliżający punkty (0, 0), (1, 1), (2, 3), (4, 0), (*) znajdź wielomian interpolacyjny Lagrange a stopnia 1, 2 i 3 dla danych z zadań powyżej, zaimplementuj uczenie perceptronu i prostej sieci skierowanej na przykładzie XOR (lub innym nietrywialnym), zbadaj jakość uczenia w obu przypadkach, Skorzystaj z walidacji prostej, krzyżowej, LOO, estymacji poprawnie klasyfikowanych punktów itp.
Regresja liniowa prosta Regresja liniowa wielomian stopnia d zbadaj specyficzność i wrażliwość (sensitivity and specificity) nauczonej sieci z zadania wyżej, (**) kontrolując ręcznie próg neuronu a tym samym wrażliwość testu (zawsze nie do zawsze tak ), wyświetl wykres zależności specyficzności od wrażliwości (wykres ROC). (**) Oblicz numerycznie pole pod wykresem (AUC) z zadania powyżej.