Wybór modelu i ocena jakości klasyfikatora Błąd uczenia i błąd testowania Obciążenie, wariancja i złożoność modelu (klasyfikatora) Dekompozycja błędu testowania Optymizm Estymacja błędu testowania AIC, BIC, MDL, VC, SRM Walidacja krzyżowa, Bootstrap
Błąd uczenia i błąd testowania X zmienna wejściowa (np. wektor cech) Y zmienna wyjściowa (np. numer klasy) Y t f(x) prawdziwa zależność między Y a X Y f(x) + ε mierzona zależność między Y a X ε zakłócenia T {(x,y ),, (x,y )} zbiór obserwacji (np. zbiór uczący) ( ) L[ Y, f(x)] funkcja strat, np. Y f ˆ ( X ) (błąd średniokwadratowy) I ( Y f ˆ ( X )) (zerojedynkowa funkcja strat)
3 Błąd uczenia (training error): err i L ( y, fˆ ( )) i x i Błąd uogólniania (generalization error, test error): Err [ ( ) ] L Y, fˆ( X Z Ε ) T Y, X jest to błąd wyznaczony na niezależnym zbiorze testującym T Średni błąd testowania (uogólniania) (expected test error): Err Ε T [ Err ] T
4 Obciążenie, wariancja i złożoność Złożoność modelu (klasyfikatora) liczba parametrów stopień wielomianu liczba funkcji bazowych liczba splajnów funkcji sklejanej liczba reguł liczba neuronów i warstw sieci neuronowej wartość parametru (np. k w algorytmie k-) liczba stopni swobody modelu
5 α parametr określający złożoność modelu ˆ f α ( X ) model (klasyfikator) o złożoności α Jak znaleźć wartość α, dla której średni błąd testowania Err przyjmuje wartość najmniejszą?
6 Err T Err Ε[ Err T ] err Ε[ err]
7 Jak wyznaczać błędy testowania dla dużych prób? Losowy podział zbioru uczącego: Uczenie Walidacja Testowanie Wybór najlepszego modelu Model selection Ocena modelu Model assessment
8 Metody przybliżonego wykonania walidacji Kryteria analityczne AIC Akaike Information Criterion BIC Bayesian Information Criterion MDL Minimum Description Length Wymiar VC (Vapnika-Chernovenkisa) i SRM Structural Risk Minimization Wielokrotny podział próby Walidacja krzyżowa (CV Cross Validation) Bootstrap
Dekompozycja błędu testowania 9 Y f(x) + ε Załóżmy, że E[ε] 0 oraz Var [ε] σ ε Dla ustalonego wejścia X x błąd testowania (uogólniania) ma postać: [ ] x ( ) Ε L( Y, fˆ( x ) Err x ) X Przyjmując średniokwadratową funkcję strat L, możemy zdekomponować błąd testowania na obciążenie i wariancję.
0 Ε Ε Ε ( Y fˆ( ) Ε σ σ σ ( Y f ( + f ( fˆ( ) [ ] [( ) ] + Ε ( ) + Ε ( )( ) Y f ( f ( fˆ( Y f ( f ( fˆ( [ ] ( ) ( [ ] [ ] [ ] [ ] + Ε + Ε Ε Ε + Ε ) ε f ( fˆ( Yf ( Yfˆ( f ( f ( fˆ( ε ε ε ( ) ( [ ] [ ] [ ] [ ] + Ε Ε Ε + Ε ) f ( fˆ( Y f ( Y fˆ( f ( f ( fˆ( + Ε Ε f [ Y ] X ( ) ( [ ] [ ] + Ε + Ε ) f ( fˆ( f ( f ( fˆ( f ( f ( fˆ( + Ε ( ) f ( fˆ( + Ε x (
Ε ( f ( fˆ( ) Ε Ε Ε Ε Bias ( [ ] [ ] f ( Ε fˆ( + Ε fˆ( fˆ( ) ( [ ]) ( [ ] f ( Ε fˆ( + Ε Ε fˆ( fˆ( ) + Ε [( [ ])( [ ] )] f ( Ε fˆ( Ε fˆ( fˆ( ( [ ]) ( [ ] f ( Ε fˆ( + Ε Ε fˆ( fˆ( ) + Ε [ [ ] [ ] ( [ ]) [ [ ] ˆ( ] f ( Ε fˆ( Ε f ( fˆ( Ε Ε fˆ( + Ε Ε fˆ( f ( [ ]) ( [ ] f ( Ε fˆ( + Ε Ε fˆ( fˆ( ) + f ( Ε [ ] [ ] fˆ( + Var fˆ( [ ] [ ] ( [ ]) [ ] [ ˆ( ] fˆ( f ( Ε fˆ( Ε fˆ( + Ε fˆ( Ε f + + +
Błąd testowania został zdekomponowany na: ( ) [ ] [ ] x σ + Bias fˆ( Var fˆ( Err + ε wariancja zakłóceń nie można jej zredukować, gdyż nie zależy od modelu Błąd testowania Err minimalizujemy poprzez odpowiedni dobór fˆ Problem: Zmiany fˆ prowadzące do obniżenia obciążenia Bias prowadzą jednocześnie do podwyższenia wariancji i odwrotnie Var [ ] fˆ( [ f ˆ ] ( x )
3 Przykład : algorytm k- Err ( Ε ( Y fˆ( ) σ σ ε ε + + Bias f ( [ ] [ ] fˆ( + Var fˆ( k X x k σ ε f ( x( ) ) + k gdzie indeksuje sekwencję k najbliższych sąsiadów wektora x. Mała wartość k małe obciążenie, duża wariancja Duża wartość k duże obciążenie, mała wariancja Złożoność modelu /k
( ) [ ] [ ] ( ) ( ) [ ] ( ) i ˆ ) ( ˆ ) ( ˆ ε ε ε σ σ σ p x f x f f Var f Bias x Err i i p i p p i + Ε + + + x x Przykład : model (klasyfikator) liniowy ) ( ) ( ˆ x a x ϕ T p f p liczba parametrów modelu Mała wartość p duże obciążenie, mała wariancja Duża wartość p małe obciążenie, duża wariancja Złożoność modelu p 4
5 optymizm
Optymizm 6 Błąd err na zbiorze uczącym nie doszacowuje błędu ErrT na zbiorze testującym (jest zbyt optymistyczny ) Jak można zmierzyć ten optymizm? y Dla wszystkich wejść x i ze zbioru T zaobserwujmy ponownie wyjścia y i, otrzymując w rezultacie nowy zbiór. Wielokrotne wykonanie tej procedury daje podstawę do zdefiniowania błędu x Err in :
7 Err in i Ε Y [ ( ) ] L Y, fˆ( x ) T i i Optymizm zdefiniowany jest jako: op Err err (na ogół op > 0) in Średni optymizm: ω Ε Y ( op) Można pokazać, że dla błędu średniokwadratowego i dowolnej funkcji strat zachodzi: ω Cov y ˆ,y i i i ( ) Ε Y [ Err ] Ε[ err] + Cov ( yˆ,y ) in Y Im bardziej model jest dopasowany do danych w zbiorze T, tym większa kowariancja Cov ( yˆ i,y i ) i, a co za tym idzie tym większy optymizm. i i
8 Przykład: dla modelu liniowego o d wejściach lub funkcjach bazowych zachodzi: Cov i i i ( yˆ,y ) dσ ε więc ω d σ ε Optymizm rośnie ze wzrostem d, ale maleje ze wzrostem rozmiaru próby. Zamiast estymować błąd Err przy użyciu złożonej procedury, będziemy w jego miejsce stosować prostszy estymator błędu Err in : Eˆ rrin err + ωˆ
9 Estymacji tego błędu dokonujemy dla zbioru modeli (klasyfikatorów) fˆα, gdzie α jest parametrem opisującym złożoność modelu. AIC Akaike Information Criterion ( α ) err( α ) AIC + ( α ) d ˆ σ ε σ ˆε estymator wariancji zakłóceń wyznaczony z wykorzystaniem błędu średniokwadratowego modelu o niskim obciążeniu Szukamy modelu o takiej złożoności αˆ, dla którego AIC(α) przyjmuje wartość najmniejszą. Uzyskany model to ˆf αˆ.
0 Przykład: rozpoznawanie fonemów AIC(α) Err αˆ α err
BIC Bayesian Information Criterion BIC ( α ) err( α ) ( α ) d + log ˆ σ ε ˆ σ ε Prowadzi do modelu o największym prawdopodobieństwie a posteriori Jeżeli klasa modeli zawiera prawdziwy model, to prawdopodobieństwo, że BIC do niego doprowadzi zmierza do dla. Dla małych prób BIC prowadzi do zbyt prostych modeli Dla AIC prowadzi do zbyt złożonych modeli Małe lepsze AIC, duże lepsze BIC
MDL Minimum Description Length Jest równoważne BIC, lecz wyprowadzone z teorii kodowania wiadomość kod z z z 3 z 4 0 0 0 0 Jak przyporządkować kody do wiadomości, aby minimalizować średnią długość wiadomości? Częste wiadomości krótsze kody, a dokładnie: długość kodu z i log P(z i ) (Shannon) średnia długość wiadomości i P(z i ) log P(z i )
3 Analogia do wyboru modelu: Odbiorca zna wejścia X, prawdopodobieństwa warunkowe wyjść y Chcemy przesłać wiadomość y Wówczas minimalizacja długości wiadomości prowadzi do modelu maksymalizującego prawdopodobieństwo a posteriori, a tym samym minimalizujące BIC
4 VC wymiar Vapnika-Chernovenkisa Ogólna miara złożoności modelu (klasyfikatora) p Klasa modeli { f ( x,α )}, x R Przykład klasyfikator binarny z dwoma parametrami: ( ) α 0,α α ( ) ( T f x α I α + α x 0), 0 > może odseparować na płaszczyźnie do trzech punktów
5 Przykład klasyfikator sinusoidalny z jednym parametrem: f ( x, α ) I( sinα x > 0), α R, x R może odseparować na płaszczyźnie dowolny zbiór punktów, przy odpowiednio dobranej wartości parametru α Pytanie: modele której z tych dwóch klas są bardziej złożone?
6 Def. Wymiar Vapnika-Chernovenkisa (VC) klasy f(x,α) jest równy największej liczbie punktów, które mogą być odseparowane przez klasyfikatory z tej klasy. Wymiar VC p-wymiarowego klasyfikatora liniowego jest równy p + Wymiar VC modeli z klasy sin αx jest nieskończony Dla funkcji g(x,α) przyjmującej wartości rzeczywiste, wymiar VC jest zdefiniowany jako wymiar VC klasy ( g( x, α ) β > 0) przyjmuje wartości z tej samej dziedziny, co funkcja g I, gdzie β
7 Związek VC i optymizmu Jeżeli dopasowujemy punktów za pomocą modeli z klasy f(x,α) o wymiarze VC równym h, wówczas z prawdopodobieństwem η zachodzi: gdzie: ξ 4err Err T err + + + ξ ξ a Err T h err ( c ξ ) + [ log( a h) + ] log( η 4), Zaleca się c, a dla regresji a a. (klasyfikator binarny) (regresja) a ( 0,4], a (0,]
8 Alternatywne, praktyczne ograniczenie dla regresji: Err T err h ( log( h )) + log + Widać, że optymizm rośnie ze wzrostem h i maleje ze wzrostem SRM Structural Risk Minimization Polega na sekwencji uczenia kolejnych zagnieżdżonych modeli o rosnących wymiarach VC: h < h < Wybierany jest model z najmniejszą wartością górnego ograniczenia na Err T Obliczanie wymiaru VC oraz SRM to trudne zadania obliczeniowe SRM można łatwo przeprowadzić dla klasyfikatorów SVM
Walidacja krzyżowa 9 Cross Validation (CV) Dysponując niewielką próbą, staramy się estymować błąd testowania Err Ε L Y [ ( )], fˆ( X ) K-krotna walidacja krzyżowa (K-fold CV) Dzielimy zbiór uczący na K mniej więcej równych partycji k-ty krok (k,,k): k-tą partycję przeznaczamy na obliczenie błędu testowania, dla pozostałych K- partycji uczymy model (klasyfikator) k 3 4 5 Uczenie Uczenie Walidacja Uczenie Uczenie
Oznaczmy przez κ : {,, } {,, K} funkcję indeksującą, która 30 i-tej obserwacji przyporządkowuje partycję fˆ k ( x,α ) model uczony z pominięciem k-tej partycji Estymator CV błędu testującego jest dany wzorem: CV ( ) ( ( )) i fˆ ( ), L y fˆ κ α x α i i, i, Typowe wartości K to 5 i 0. Przypadek K nosi nazwę leave-one-out CV (wówczas κ(i) i ). W procedurach rozpoznawania obrazów (z etapami grupowania i selekcji cech) należy pamiętać, że partycje metody CV muszą zostać uwzględnione na wszystkich poprzednich etapach
3 CV dla K 0 Err złożoność modelu: α
Bootstrap 3 Podobnie jak poprzednio, staramy się z niewielkiej próby { z, z,, z }, z ( x y ) Z, i i i estymować błąd testowania Err Ε L Y [ ( )], fˆ( X ) Próba bootstrapowa ze zbioru Z zawierającego obserwacji losujemy ze zwracaniem elementów, otrzymując zbiór Z * Bootstrapowa replikacja S(Z * ) dowolna statystyka wyznaczona z próby bootstrapowej Metoda bootstrap pozwala estymować różne parametry rozkładu statystyki S(Z)
33 Metoda bootstrap Generujemy B bootstrapowych prób Z *,, Z *B Uzyskujemy bootstrapowe replikacje S(Z * ),,S(Z *B )
34 Traktując bootstrapowe replikacje jak próbę, estymuję wybrane parametry rozkładu S(Z), np. średnią: S B B b S b ( Z ) i wariancję Var ˆ B b [ S( Z )] S( Z ) B ( S ) b
35 Estymacja błędu testowania metodą bootstrap Ze zbioru uczącego Z generujemy B bootstrapowych prób Z *,, Z *B Uczymy model na próbach Z *,, Z *B : fˆ b model uczony na b-tej próbie bootstrapowej Replikacjami bootstrapowymi S(Z *b ;Z), b,,,b są błędy testowania na oryginalnym zbiorze Z: Err ˆ boot B B b i L ( ( )) b y, fˆ x i i
36 Jakość estymatora jest niska, gdyż zbiory Z i Z *b mają wiele obserwacji wspólnych (w metodzie CV zbiory uczący i testujący są rozłączne) Pomysł: Dla każdej obserwacji x i należy uwzględniać tylko błędy wyznaczone z tych prób bootstrapowych, które nie zawierają x i (leave-one-out bootstrap estimate): Err ˆ ( ) L ˆ i i i C i b C ( ( )) b y, f x gdzie C -i to zbiór indeksów prób bootstrapowych b nie zawierających x i, natomiast C -i jest liczbą tych prób B musi być wystarczająco duże, aby wszystkie C -i > 0 i