rysunek Stork
Transkrypt
rysunek Stork
Pattern Classification All materials in these slides were taken from Pattern Classification (2nd ed) by R. O. Duda, P. E. Hart and D. G. Stork, John Wiley & Sons, 2000 with the permission of the authors and the publisher Chapter 4 (Part 1): Nieparametryczne metody rozpoznawania (Sections 4.1-4.3) • Wprowadzenie • Estymacja funkcji gęstości • Estymator Parzena 2 Wprowadzenie • Wszystkie sparametryzowane funkcje gęstości są jednomodalne (mają jedno maksimum), natomiast wiele problemów spotykanych w praktyce wymaga opisu w postaci wielomodalnej funkcji gęstości • Metody nieparametryczne mogą być stosowane zarówno przy ustalonej klasie rozkładu jak i przy nieznanej postaci funkcji gęstości • Wyróżniamy dwa typy nieparametrycznych metod: • • Estymacja rozkładów P(x | ωj ) Bezpośrednia estymacja prawdopodobieństw a’posteriori Pattern Classification, Ch4 (Part 1) Estymacja funkcji gęstości 3 Podstawy działania metody: • Prawdopodobieństwo, że wektor x leży w pewnym obszarze R jest równe: P = ∫ p ( x' )dx' (1) R • P jest wygładzonym (uśrednionym) odpowiednikiem funkcji gęstości p(x) dla próby o liczebności n; Prawdopodobieństwo, że k punktów przypadnie na dany obszar R jest równe: n k Pk = P (1 − P) n − k k (2) a wartość oczekiwana k jest równa: E(k) = nP (3) Pattern Classification, Ch4 (Part 1) Estymator ML dla P = θ Max( Pk | θ ) jest dany wyrażeniem θˆ = k ≅ P θ 4 n Zatem stosunek k/n jest zgodnym estymatorem prawdopodobieństwa P oraz dla funkcji gęstości p. Jeżeli p(x) jest ciągła, obszar R jest tak mały, że p nie zmienia się znacząco wewnątrz niego, to: ∫ p( x' )dx' ≅ p( x)V (4) R gdzie x’ to punkt w R a V objętością obszaru R. Pattern Classification, Ch4 (Part 1) Łącząc równania (1), (3) i (4) otrzymujemy: k /n p( x) ≅ V 5 Pattern Classification, Ch4 (Part 1) 6 Estymacja funkcji gęstości • Uzasadnienie równania (4) ∫ p( x' )dx' ≅ p( x)V (4) R Zakładamy, że p(x) jest ciągła i obszar R jest tak mały, że p nie zmienia się znacząco wewnątrz niego. Jeżeli p(x) = const., to można je wyciągać przed całkę. Pattern Classification, Ch4 (Part 1) 7 ∫ p( x' )dx' = p( x' )∫ dx' = p( x' )∫ 1 ℜ R R ( x)dx' = p ( x' ) µ ( R ) R gdzie µ(R) jest: polem powierzchni w przestrzeni euklidesowej R 2 objętością w przestrzeni euklidesowej R 3 hiperobjętością w przestrzeni euklidesowej R n Ponieważ p(x) ≅ p(x’) = const., więc w przestrzeni euklidesowej R 3: ∫ p( x' )dx' ≅ p( x)V R k p( x) ≅ nV Pattern Classification, Ch4 (Part 1) 8 • Warunek zbieżności Stosunek k/(nV) jest uśrednioną wartością p(x). p(x) można wyznaczyć tylko wtedy, gdy V zmierza do zera. lim p ( x) = 0 (if n = fixed) V →0 , k = 0 Ale to jest przypadek, gdy obszar R nie zawiera żadnych próbek! Estymator jest wówczas rozbieżny. lim p ( x) = ∞ V →0 , k ≠ 0 Pattern Classification, Ch4 (Part 1) 9 • The volume V needs to approach 0 anyway if we want to use this estimation • V nie może być zbyt małe ponieważ liczba próbek jest zawsze • • ograniczona Nie da się całkowicie zredukować wariancji wielkości k/n Teoretycznie, jeśli dostępna jest nieskończona liczba próbek, nie ma tego problemu W celu estymacji funkcji gęstości x, konstruujemy sekwencję obszarów R1, R2,… zawierających x: pierwszy obszar zawiera jedną próbkę, kolejny dwie, itd. Niech Vn będzie objętością obszaru of Rn, kn liczbą próbek w obszarze Rn a pn(x) n-tym estymatorem p(x): pn(x) = (kn/n)/Vn (7) Pattern Classification, Ch4 (Part 1) 10 Następujący zestaw warunków koniecznych musi być spełniony aby pn(x) zmierzał w granicy do p(x): 1) lim Vn = 0 n →∞ 2) lim k n = ∞ n →∞ 3) lim k n / n = 0 n →∞ Są dwa podejścia do konstrukcji sekwencji obszarów spełniających te warunk (a) Zmniejszanie początkowego obszaru: Vn = 1/√n pn ( x ) → p ( x ) n →∞ To podejście nosi nazwę “estymacji przy użyciu okien Parzena” (b) Ustal kn jako funkcję n: kn = √n; objętość Vn zwiększa się dotąd, aż n-ty obszar obejmie kn próbek leżących w sąsiedztwie x. To podejście nosi nazwę “metody kn-najbliższych sąsiadów”. Pattern Classification, Ch4 (Part 1) 11 Pattern Classification, Ch4 (Part 1) 12 Estymator Parzena • Zakładamy, że Rn jest d-wymiarowym hiperszaścianem Vn = hnd (h n : długość krawędzi Rn ) Niech ϕ (u) będzie funkcją okna: 1 j = 1,... , d 1 u j ≤ ϕ (u) = 2 0 w przec. przyp. • ϕ((x-xi)/hn) przyjmuje wartość 1, jeżeli xi leży wewnątrz hipersześcianu o objętości Vn i środku w x, a w przeciwnym przypadku przyjmuje wartość 0. Pattern Classification, Ch4 (Part 1) 13 • Liczba próbek zawartych wewnątrz hipersześcianu: x − xi k n = ∑ ϕ i =1 hn i =n Wstawiając wyrażenie na kn do równania (7), otrzymujemy estymator: 1 i =n 1 pn ( x ) = ∑ n i =1 Vn x − xi ϕ hn Pn(x) estymuje p(x) jako średnią z funkcji zmiennej x i próbek (xi) (i = 1,… ,n). Funkcje ϕ mogą być dowolne! Pattern Classification, Ch4 (Part 1) 14 Przykład • Szczególny przypadek p(x) N(0,1) Niech ϕ (u ) = 1 exp[− u 2 2] i hn = h1 (n > 1) 2π n (h1: znany parametr) Zatem: 1 i =n 1 pn ( x ) = ∑ n i =1 hn x − xi ϕ hn jest średnią rozkładów normalnych z wartościami oczekiwanymi równymi xi. Pattern Classification, Ch4 (Part 1) 15 Rezultaty obliczeń numerycznych: Dla n = 1 i h1=1 1 −1/ 2 e ( x − x1 ) 2 → N ( x1 ,1) p1 ( x) = ϕ ( x − x1 ) = 2π Dla n = 10 i h = 0.1, wpływ pojedynczych próbek można łatwo ocenić Pattern Classification, Ch4 (Part 1) 16 Pattern Classification, Ch4 (Part 1) 17 Pattern Classification, Ch4 (Part 1) 18 Analogiczne wyniki dla dwóch wymiarów: Pattern Classification, Ch4 (Part 1) 19 Pattern Classification, Ch4 (Part 1) 20 • Przypadek p(x) = λ1.U(a,b) + λ2.T(c,d) (nieznany rozkład) (mieszanina rozkładów jednostajnego i trójkątnego) Pattern Classification, Ch4 (Part 1) 21 Pattern Classification, Ch4 (Part 1) 22 Przykład rozpoznawania Klasyfikator oparty o estymator Parzena • Estymujemy funkcje gęstości dla każdej klasy i przypisujemy nowe próbki do klasy odpowiadającej maksimum a’posteriori • Postać obszaru decyzyjnego klasyfikatora opartego o estymator Parzena zależy od wyboru funkcji okna, co przedstawiono na następnym rysunku. Pattern Classification, Ch4 (Part 1) 23 Pattern Classification, Ch4 (Part 1) Chapter 4 (part 2): Nieparametryczne metody rozpoznawania (Sections 4.3-4.5) • Estymator Parzena (ciąg dalszy) • Estymator Kn –najbliższych sąsiadów • Algorytm najbliższego sąsiada Estymator parzena (ciąg dalszy) 25 • Estymator Parzena– implementacja w postaci Probabilistycznej Sieci Neuronowej • Wyznaczenie estymatora Parzena przy użyciu n próbek .. . . • d-wymiarowe obrazy (wektory cech), c klas • Wejścia są związane z n obrazami x1 x2 Wejścia . . . xd .. . W11 p1 p2 Wd2 Wdn . . . Obrazy wejściowe pn parametry (wagi) podlegające „uczeniu” Pattern Classification, Chapter 4 (Part 2) 26 pn Obrazy wejściowe .. . . p1 p2 . . . pk . . . pn .. . ω1 ω2 . . . klasy ωc Nieliniowe funkcje aktywacji Pattern Classification, Chapter 4 (Part 2) 27 Algorytm uczenia sieci 1. Normalizacja do wartości 1 obrazów x z ciągu uczącego 2. Prezentacja pierwszego obrazu na wejście sieci 3. Ustal wartości parametrów połączeń pomiędzy wejściami sieci i pierwszym obrazem w taki sposób, że: w1 = x1 4. Utwórz pojedyncze połączenie pomiędzy pierwszym obrazem a klasą, która w ciągu uczącym jest związana z tym obrazem 5. Powtórz kroki 2-4 dla pozostałych obrazów z ciągu uczącego poprzez ustalenie parametrów (wag) tak, że: wk = xk (k = 1, 2, …, n) Ostatecznie otrzymujemy następującą sieć: Pattern Classification, Chapter 4 (Part 2) 28 Pattern Classification, Chapter 4 (Part 2) 29 Algorytm testowania sieci 1. Normalizuj próbki x z ciągu testującego i podaj je na wejście sieci 2. Dla każdego obrazu wyznacz iloczyn skalarny: netk = wkT x a rezultat podaj na wejście funkcji aktywacji: net − 1 f (netk ) = exp k 2 σ 3. Wyznacz wartość wyjścia jako sumę wkładów od wszystkich obrazów połączonych z tym wyjściem n Pn ( x | ω j ) = ∑ ϕi ∝ P(ω j | x) i =1 4. Jako numer klasy zwróć taką wartość j , dla której Pn(x | ωj) (j = 1, …, c) jest największe. Pattern Classification, Chapter 4 (Part 2) • Estymator Kn – najbliższych sąsiadów • 30 Cel: rozwiązanie problemu wyboru nieznanej „najlepszej” funkcji okna • • • Niech objętość hipersześcianu będzie funkcją danych uczących Ustal położenie środka hipersześcianu nad x i zwiększaj jego objętość, aż w jego wnętrzu znajdzie się kn próbek (kn = f(n)) kn noszą nazwę kn najbliższych sąsiadów próbki x Wyróżniamy dwa przypadki: • • W otoczeniu x znajduje się dużo sąsiadów; objętość hipersześcianu jest mała, co skutkuje dobrą „rozdzielczością” W otoczeniu x znajduje się niewiele sąsiadów; objętość hipersześcianu staje się duża a jej wzrost zatrzymuje się po osiągnięciu obszarów skupiających wiele próbek (sąsiadów) Możemy otrzymać rodzinę estymatorów, przyjmując kn=k1/√n i wybierając różne wartości k1 Pattern Classification, Chapter 4 (Part 2) 31 Przykład Dla kn = √n = 1 ; estymator ma postać: Pn(x) = kn / nVn = 1 / V1 =1 / 2|x-x1| Pattern Classification, Chapter 4 (Part 2) 32 Pattern Classification, Chapter 4 (Part 2) 33 Pattern Classification, Chapter 4 (Part 2) 34 Estymacja prawdopodobieństw a’posteriori • Cel: estymacja P(ωi | x) na podstawie ciągu uczącego n sklasyfikowanych próbek • Konstruujemy hipersześcian o objętości V wokół x i zbieramy k próbek ki próbek spośród k będzie pochodzić z klasy ωi i wówczas: pn(x, ωi) = ki /nV Estymator pn(ωi| x) ma postać: • pn (ωi | x) = p n ( x , ωi ) j =c ∑ p ( x, ω ) j =1 n ki = k j Pattern Classification, Chapter 4 (Part 2) 35 • ki/k określa względną liczebność próbek z klasy ωi wewnątrz hipersześcianu • Aby zminimalizować liczbę błędów, wybierana jest klasa najczęściej reprezentowana wewnątrz hipersześcianu • Algorytm działa najlepiej, jeżeli k jest duże i hipersześcian dostatecznie mały Pattern Classification, Chapter 4 (Part 2) 36 • Algorytm najbliższego sąsiada • Dn = {x1, x2, …, xn} – zbiór uczący • Niech x’ ∈ Dn będzie próbką uczącą leżącą najbliżej nowej próbki x; Klasyfikacja próbki x sprowadza się do przypisania jej tej samej klasy, z której pochodzi x’ • Algorytm najbliższego sąsiada prowadzi do błędu większego niż błąd popełniany przez optymalny klasyfikator Bayesa • Jeżeli liczba próbek w ciągu uczącym jest bardzo duża (nieskończona), wówczas algorytm najbliższego sąsiada popełnia nie więcej niż dwukrotnie więcej błędów od optymalnego klasyfikatora Bayesa • Jeżeli n → ∞, zawsze można znaleźć x’ takie, że: P(ωi | x’) ≅ P(ωi | x) Pattern Classification, Chapter 4 (Part 2) 37 Przykład: x = (0.68, 0.60)T Obrazy z ciągu uczącego Klasy (0.50, 0.30) ω2 ω3 0.25 0.75 = P(ωm | x) (0.70, 0.65) ω5 ω6 0.70 0.30 Estymowane prawdopodobieństwa a’posteriori Decyzja: próbce x przypisujemy klasę ω 5 Pattern Classification, Chapter 4 (Part 2) 38 • Jeżeli P(ωm | x) ≅ 1, to rezultaty algorytm najbliższego sąsiada są bardzo podobne do rezultatów optymalnego klasyfikatora Bayesa Pattern Classification, Chapter 4 (Part 2) 39 Pattern Classification, Chapter 4 (Part 2) 40 • Reguła k – najbliższych sąsiadów • Cel: Klasyfikacja próbki x przez przypisanie jej klasy najczęściej reprezentowanej przez k najbliższych próbek z ciągu uczącego Pattern Classification, Chapter 4 (Part 2) 41 Pattern Classification, Chapter 4 (Part 2) 42 Przykład: k = 3 (liczba nieparzysta) i x = (0.10, 0.25)T Ciąg uczący (0.15, (0.10, (0.09, (0.12, 0.35) 0.28) 0.30) 0.20) Klasy ω1 ω2 ω5 ω2 Próbki z ciągu uczącego najbliższe próbce x wraz z ich klasami: {(0.10, 0.28, ω2); (0.12, 0.20, ω2); (0.15, 0.35,ω1)} ω2 pojawia jest najczęściej reprezentowana i to ta klasa jest przypisana próbce x Pattern Classification, Chapter 4 (Part 2)