Wstęp do sieci neuronowych, wykład 13-14,. Metody statystyczne. M. Czoków, J. Piersa Faculty of Mathematics and Computer Science, Nicolaus Copernicus University, Toruń, Poland 2011.01.11
1 Przykład Przeuczenie sieci 2 Problem Walidacja prosta Walidacja krzyżowa Leave One Out 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 Problem Walidacja prosta Walidacja krzyżowa Leave One Out 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; 2 1.5 1 0.5 0-0.5-1 -1-0.5 0 0.5 1 1.5 2 (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, Sieć neuronowa zwróci (jakąś) odpowiedź dla każdego z punktów na płaszczyźnie, np +1 Od czego zależy odpowiedź?
Wnioski Przykład Przeuczenie sieci ucząc sieć neuronową 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
Problem Walidacja prosta Walidacja krzyżowa Leave One Out 1 Przykład Przeuczenie sieci 2 Problem Walidacja prosta Walidacja krzyżowa Leave One Out 3 Eksperyment myślowy Błędy pierwszego i drugiego rodzaju 4 Regresja liniowa prosta Regresja liniowa wielomian stopnia d
Przypomnienie Problem Walidacja prosta Walidacja krzyżowa Leave One Out 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 Problem Walidacja prosta Walidacja krzyżowa Leave One Out Dana jest próbka losowa x 1,..., x n wartości, losowanych niezależnie z rozkładu X. 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 Problem Walidacja prosta Walidacja krzyżowa Leave One Out Dana jest próbka losowa x 1,..., x n wartości, losowanych niezależnie z rozkładu X. 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 Problem Walidacja prosta Walidacja krzyżowa Leave One Out Dane nych będzie zbiór punktów uczących wraz z poprawnymi odpowiedziami, Stosując poznane metody skonstruowana i nauczona została sieć neuronowa, Chcemy ocenić jakość klasyfikacji i generalizacji uzyskanej sieci.
Proste rozwiązanie Problem Walidacja prosta Walidacja krzyżowa Leave One Out 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 Problem Walidacja prosta Walidacja krzyżowa Leave One Out Powyższe rozwiązanie jest aż za proste! powyższa metoda nie mówi nic o zachowaniu się sieci na danych, których nie widziała, test preferuje uczenie się danych na pamięć, ignoruje generalizację, zaletą jest to, że maksymalnie wykorzystuje cały dostępny zestaw danych do uczenia.
Walidacja prosta Problem Walidacja prosta Walidacja krzyżowa Leave One Out 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 Problem Walidacja prosta Walidacja krzyżowa Leave One Out
Walidacja prosta Problem Walidacja prosta Walidacja krzyżowa Leave One Out Uwagi i niebezpieczeństwa: czasami na wynik większy wpływ ma stosunek zaimplementowany algorytm, U U T, niż rozsądnym minimum dla wielkości 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 walidacji zawsze należy podać 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 Problem Walidacja prosta Walidacja krzyżowa Leave One Out Ang. k-fold cross-validation dane uczące są losowo dzielone na k rozłącznych zbiorów: T 1,..., T k, zbiory powinny być równoliczne (lub różnić się o maksymalnie 1 element, jeżeli nie da się podzielić dokładnie), 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 zależnie od ilości miejsca podajemy wszystkie rezultaty r i, lub przynajmniej ich średnią, medianę, minimum, maksimum i odchylenie standardowe,
Walidacja krzyżowa Problem Walidacja prosta Walidacja krzyżowa Leave One Out
Problem Walidacja prosta Walidacja krzyżowa Leave One Out 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,
Leave One Out Problem Walidacja prosta Walidacja krzyżowa Leave One Out 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.
Eksperyment myślowy Błędy pierwszego i drugiego rodzaju 1 Przykład Przeuczenie sieci 2 Problem Walidacja prosta Walidacja krzyżowa Leave One Out 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: możemy przypadek, który powinien być prawdziwy, ocenić jako fałszywy, (ang. false negative error) możemy przypadek fałszywy ocenić jako prawdziwy (ang. false positive), czasami oba typy błędów są jednakowo złe...
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 również ocena jest poprawna, jeżeli zdający umiał, ale mimo tego nie zaliczył, to egzaminator popełnił błąd (false negative), jeżeli zdające nie umiał a zaliczył, to egzaminator popełnił dramatyczny błąd (false positive). ponieważ zawsze przysługuje egzamin poprawkowy, to błędna odpowiedź pozytywna jest znacznie gorsza (w tym przypadku)...
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,...
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 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 stuprocentową wrażliwość da się łatwo osiągnąć odpowiadając tak na każdy przypadek, podobnie stuprocentową specyficzność łatwo osiągnie bardzo asertywny test, wysokie oba wskaźniki są cechą dobrych testów (co oznacza: trudne do osiągnięcia), jeżeli projektując test zadany jest cel (np. unikanie fałszywych alarmów), to 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 Problem Walidacja prosta Walidacja krzyżowa Leave One Out 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 można mierzyć 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 błędy można mierzyć 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 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, uśrednimy zatem 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 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 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 2(ax i + b y i ) (ax i + b y i ) a a 2(ax i + b y i )x i = 2(a i i 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 E b = i i i (ax i + b y i ) 2 2(ax i + b y i ) (ax i + b y i ) a a 2(ax i + b y i )x i = 2(a i (ax i + b y i ) 2 b 2(ax i + b y i )1 = 2(a i i i 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 ni 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