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)