Rozpoznawanie wzorców
Dr inż. Michał Bereta
p. 144 / 10, Instytut Informatyki
mbereta@pk.edu.pl
beretam@torus.uck.pk.edu.pl www.michalbereta.pl
Dyskryminacja liniowa
Twierzdzenie:
Prawdopodobieostwo, że n obserwacji wybranych losowo według dwolnego rozkładu ciągłego na Rp, losowo podzielonych na 2 klasy, ma własnośd liniowej
separowalności wynosi 1, gdy
natomiast w ogólności jest równe
Wniosek z twierdzenia: im różnica (2p-n) jest większa co do bezwzględnej
wielkości, tym prawdopodobieośtwo liniowej separowalności jest mniejsze (przy losowych obserwacjach i losowym przydziale do klas).
Dyskryminacja liniowa
Jak najlepiej rozdzielid te klasy za pomocą liniowej funkcji dyskryminacyjnej?Dyskryminacja liniowa
Szukamy takiego kierunku, żeby po zrzutowaniu na niego obserwacji (przykładów) klasy były jak najlepiej od siebieDyskryminacja liniowa
Funkcja dyskryminacyjna jest wtedy prostopadła do wyznaczonego kierunkuDyskryminacja liniowa
• Sir Rnald Fisher 1936 r.
• Liniowa analiza dyskryminacyjna (LDA, ang.
Linear discriminant analysis)
• Zakładamy, że wektory obserwacji są
wektorami w p-wymiarowej przestrzeni
Euklidesa
• Metoda prowadzi do reguły dyskryminacyjnej
opartej na funkcji liniowej
Dyskryminacja liniowa
• Cel:
Znajdź kierunek a w X, który najlepiej rozdziela
obie klasy, przy czym oprócz odległości między
klasami uwględnij również zmiennośd
Dyskryminacja liniowa
• Miarą odległości między klasami jest odległośd
między wartościami oczekiwanymi przykładów
z każdej klasy
• W przypadku wielowymiarowym jest to
wektor wartości oczekiwanych dla każdego z
atrybutów
Dyskryminacja liniowa
• Próbkowym odpowiednikiem wartości
oczekiwanej jest wektorowa średnia
Dyskryminacja liniowa
• Miarą zróżnicowania danych jest w przypadku
jedego atrybutu wariancja, a w przypadku
wielowymiarowym macierz kowariancji
• Na przekątnej znajdują się wariancje
poszczególnych atrybutów
• Jest to maceirz symetryczna
Dyskryminacja liniowa
• Próbkowym odpowiednikiem macierzy
kowariancji jest macierz S
Dyskryminacja liniowa
• Wartośd wariancji rzutu wektora x na prostą o
wektorze kierunkowym a: jaka jest wariancja
a
Tx?
Dyskryminacja liniowa
• Założenie Fishera: klasy charakteryzują się taką
samą macierzą kowariancji
• Wpólnie dla obu klas ustala się wskaźnik
zmienności wewnątrzgrupowej
Dyskryminacja liniowa
• Próbkową miarą zmienności
Dyskryminacja liniowa
• Sformułowanie Fishera: znajdź kierunek
najlepiej oddzielający klasy, jako kierunek
maksymalizujący wyrażenie:
Dyskryminacja liniowa
• Mając kierunek a, zrzutuj średnie obu klas
oraz nowy wektor x na ten kierunek i
zaklasyfikuj x do klasy j jeśli
Dyskryminacja liniowa
• Rozwiązanie to daje często dobre wyniki
nawet jeśli założenie o równości macierzy
kowarancji nie jest spełnione.
Dyskryminacja liniowa
• Rozwiązanie : można wykazad, że poszukiwany
wektor a jest proporcjonalny do
• Rozwiązanie jest jednoznaczne z dokładnością
do długości wektora a
Dyskryminacja liniowa
• Zmienna a
Tx to pierwsza zmienna kanoniczna
Dyskryminacja liniowa
• Alternatywne sformułowanie hiperpłaszczyzny
dyskryminacyjnej:
Dyskryminacja liniowa
• Reguła dyskryminacyjna: przypisz punkt x do
klasy 2 jeśli:
Dyskryminacja liniowa
Kierunek rzutowania
Prosta dyskryminacyjna jest prostopadła do znalezionego kierunku i przechodzi przez punkt pośrodku pomiędzy średnimi klas.
Dyskryminacja liniowa
Dyskryminacja liniowa
• Sformułowanie zadania: znajdź a
maksymalizujące wyrażenie:
Dyskryminacja liniowa
• Rozwiązanie:
Wektorem maksymalizującym to wyrażenie
jest wektor własny macierzy W
-1B
odpowiadający największej wartości własnej
tej macierzy.
Dyskryminacja liniowa
• Reguła dyskryminacyjna
Obserwację x przypisz do klasy j jeśli
Dyskryminacja liniowa
• Można również rozwiązad zadao
dyskryminacji pomiędzy parami klas
• Należy przyjąd wtedy wpólną macierz
Dyskryminacja liniowa
• Rzutowanie na jeden kierunek może nie
wystarczyd
• Można poszukiwad kolejnych kierunków
najlepiej rozdzielających klasy, ale
jednocześnie ortogonalnych do wcześniej
znalezionych kierunków
• Znajdź a
rmaksymalizujący po
warunkiem, że
Dyskryminacja liniowa
• Kolejne zmienne kanoniczne są
nieskorelowane z poprzednimi
• Kolejny kierunek kanoniczny jest wyznaczany
jako wektor własny odpowiadający r-tej co do
wielkości wartości własnej macierzy W
-1B
• Najwyższy możliwy rząd macierzy B wynosi g-1
zatem tyle można otrzymad wektorów
Dyskryminacja liniowa
• Wektory kanoniczne mogą służyd do
przeniesienia problemu klasyfikacyjnego do
nowej przestrzeni (oryginalne atrybuty
zastępujemy zmiennymi kanonicznymi)
• W nowej przestrzeni problem może byd
rozwiązywany dowolnymi metodami
(dowolnymi klasyfikatorami)
Dyskryminacja liniowa
Regresja liniowa
• Zadanie dyskryminacji można potraktowad jako
zadanie estymacji funkcji o wartościach nominalnych (np. ze zbioru {0, 1} dla dwóch klas ).
• Funkcja regresji jest dana warunkową wartością
oczekiwaną zmiennej objaśnianej (wskaźnik klasy w naszych zadaniach dyskryminacji).
• Aby rozwiązad problem dyskryminacji z wieloma
klasami za pomocą regresji liniowej, przedstawimy je jako wielowymiarową analizę regresji (zmienna
Dyskryminacja liniowa
Regresja liniowa Dla dwóch klas:
• Jeśli oszacowane prawdopodobieostwo warunkowe jest >0.5 to x jest klasyfikowany do klasy 1, jeśli <0.5 to do klasy 0.
Dyskryminacja liniowa
Regresja liniowa Dla liczby klas >2:
• Etykiety klas zakodowane są za pomocąwektora wskaźnikowego o g współrzędnych (g – liczba klas) • Etykieta klasy k ma 1 na pozycji k-tej i 0 na wszystkich
innych pozycjach • Przykład:
– Dla 5 klas, jeśli x pochodzi z klasy 3, jego wektor wskaźnikowy to *0,0,1,0,0+
• Zadanie polega na jednoczesnym rozwiązaniu zadania regresji dla każdej pozycji wektora
Dyskryminacja liniowa
Regresja liniowa
Stosując zapis macierzowy mamy macierz obserwacji:
oraz macierz etykiet obserwacji (wskaźnikowa macierz wektorów oodpowiedzi):
Dyskryminacja liniowa
Regresja liniowa
Stosując zapis macierzowy mamy macierz obserwacji:
oraz macierz etykiet obserwacji (wskaźnikowa macierz wektorów oodpowiedzi):
Kolumna jedynek umożliwia
wystąpienie
Dyskryminacja liniowa
Regresja liniowa
• Co się stanie jak nie będzie wyrazu wolnego? • Przykład w 2D (dwa atrybuty):
– Szukamy granicy decyzyjnej między dwiema klasami w postaci liniowej zależności atrybutów x:
– w0 to wyraz wolny y = w1*x1 + w2*x2 + w0
Przykład x jest klasyfikowany do pierwszej klasy jeśli y>0 a do klasy drugiej w przeciwnym przypadku, zatem granica decyzyjna to
Dyskryminacja liniowa
Regresja liniowa 0 = w1*x1 + w2*x2 + w0
z tego
x2 = -w1/w2*x1 – w0/w2 Jest to zależnośd typu y = ax+b
Jeśli brak w0 (tzn. w0=0) to y = ax
tzn. prosta musi przechodzid przez początek układu współrzędnych (nie może reprezentowad dowolnej granicy)
Dyskryminacja liniowa
Regresja liniowa
Celem regresji liniowej jest znalezienie współczynników zależności liniowej (macierz B), które minimalizują odpowiednie wyrażenie oparte na metodzie
najmniejszych kwadratów
Dyskryminacja liniowa
Regresja liniowa
Dyskryminacja liniowa
Regresja liniowa
• Mamy do czynienia z prostymi liniowymi
estymatorami prawdopodobieośtwa a posteriori p(k|x)
• Można powiedzied, że operamy się na metodzie Bayesa, tyle że nie uwzględniamy
prawdopodobieostw a priori oraz estymatory są bardzo proste
• Można wykazad, że Uwaga: wartości w tej sumie mogą byd >1 lub ujemne!
Dyskryminacja liniowa
Regresja liniowa
• Reguła dyskryminacyjna: wybierz klasę
odpowiadającą największej wartości współrzędnych wketora odpowiedzi
Dyskryminacja liniowa
Regresja liniowa • Gdy g=2:
– Rozwiązanie regresyjne jest bardzo bliskie rozwiązaniu przez metodę LDA (Fishera)
– Model regresji liniowej wyznacza kierunek zgodzny z kryterium LDA
– Obie reguły dyskryminacyjne są identyczne, gdy obie próby uczące (z obu klas) są równoliczne
Dyskryminacja liniowa
Regresja liniowa
• Miarą dopasowania modelu w regresji liniowej jest współczynnik R2 zdefiniowany jako proporcja
wariancji wyjaśnionej przez model – R2=1-model bardzo dobry
Dyskryminacja liniowa
Model logistyczny
• Model logistyczne zapewnia wartości estymatora p(2|x) w przedziale [0,1]
• Jest to szczególny przypadek uogólnionego modelu liniowego
Dyskryminacja liniowa
Model logistyczny • Dla g=2:
Dyskryminacja liniowa
Model logistyczny
• Estymacja parametrów (w0, w) odbywa się na
podstawie próby uczącej poprzez metodę nawiększej wiarygodności, czyli maksymalizacji podlega:
Dyskryminacja liniowa
Model logistyczny Reguła dyskryminacyjna:
Wybierz większą z wartości oraz I odpoweidnio zaklasyfikuj obserwację x.
Dyskryminacja liniowa
Model logistyczny • Przypadek wielu klas (g>=2)
….
Dyskryminacja liniowa
Model logistyczny • Stosując ten model dostajemy:
dla k=1,..,g-1
Dyskryminacja liniowa
Model logistyczny
• Jeśli klasy mają rokłady normalne o takiej samej
macierzy kowariancji, równe pradopodobieostwa a priori to dla g=2 model logistyczny daje dokładnie to samo rozwiązanie do model LDA.
Dyskryminacja liniowa
Dyskryminacja liniowa
Perceptron 1 x1 x2 w0 w1 w2 Funkcja progowa – funkcja aktywacji perceptronuDyskryminacja liniowa
Perceptron
• Zakładamy liniową separowalnośd danych
• Szukamy hiperpłaszczyzny decyzyjnej w postaci
• Wektory w oraz x zwierają już wyraz wolny (zwany również biasem)
• W przypadku poprawnej kalsyfikacji, dla pierwszej klasy mamy a dla drugiej
Dyskryminacja liniowa
Perceptron • Oznaczenie:
• Wtedy dla zi poprawnie zaklasyfikowanego mamy:
Dyskryminacja liniowa
Perceptron
• Dla przykładów ze zbioru M (przykłady, dla których brak poprawnej klasyfikacji przez perceptron)
definiujemy tzw. Kryterium perceptronowe:
Zadanie uczenia perceptronu:
zminimalizuj ze względu na wagi w wartośd kryterium perceptronowego.
Dyskryminacja liniowa
Perceptron
• Jeśli klasy rzeczywiście są liniowo separowalne, to zadanie to można łatwo rozwiązad metodą
najszybszego spadku.
• Gradient kryterium perceptronowego wynosi
• Aktualizacja wag odbywa iteracyjnie się zgodnie z:
nl jest parametrem uczenia sterującym szybskością zmian wartości wag.
Dyskryminacja liniowa
Perceptron
• Aktualizacja wag może odbywad się: – W trybie wsadowym (poprzedni slajd)
– Po prezentacji każdego przykłądu, jeśli został on błędnie zaklasyfikowany
Dyskryminacja liniowa
Perceptron
• Dowiedzione jest, że jeśli klasy są liniowo
separowalne, oraz przy pewnych założeniach co do wartości nl, algorytm ten znajduje rozwiązanie w skooczonej liczbie kroków.
• Wady
– Czasami potrzebna jest duża liczba iteracji – Rozwiązanie nie jest jednoznaczne, zależy od
początkowego wektora wag
– Jeśli problem nie jest liniowoseparowalny, algorytm nie jest zbieżny
Dyskryminacja liniowa
Perceptron 1 x1 x2 w0 w1 w2Przykład dla dwóch atrybutów
Reguła Widrowa-Hoffa
Na wyjściu neuronu jest liniowa kombinacja
atrybutów (brak funkcji progowej)
Dyskryminacja liniowa
Perceptron Reguła Widrowa-Hoffa
• Kryterium uczenia perceptronu może byd również minimalizacja kwadratów odległości między
odpowiedzią modelu a pożądanymi odpowiedziami
y, np. -1 dla klasy pierwszej oraz 1 dla klasy drugiej
Różnica między wartościami pożądanymi a odpowiedziami modelu
Minimalizacji podlega
Dyskryminacja liniowa
Perceptron
• Gradientem względem wektora w jest:
• Podobnie jak w regresji liniowej otrzymujemy metodę obliczenia wag:
Dyskryminacja liniowa
Perceptron
• W wersji iteracyjnej (aktualizacja wag po prezentacji każego przykłądu uczącego) otrzymujemy regułę
Dyskryminacja liniowa
Perceptron • Dla wielu klas
– Każda klasa ma przyporządkowany sobie jeden perceptron – Dla tego perceptronu, jego klasa to “1”, wszystkie
Dyskryminacja liniowa
Perceptron wielowarstwowy
• Czy jest sens łączyd perceptrony liniowe w większe sieci?
w1 w2 w3 1 x1 x2 y3 y1 y2 w1=[w10, w11, w12] w2=[w20, w21, w22] w3=[w30, w31, w32] 1
Dyskryminacja liniowa
Perceptron wielowarstwowy y1 = w10+w11x1+w12x2 y2 = w20+w21x1+w22x2 y3 = w30+w31y1+w32y2 = w30+w31*(w10+w11x1+w12x2) + w32*(w20+w21x1+w22x2) = (w30 + w31w10 + w32w20) + x1*(w31w11+w32w21) + x2*(w31w12+w32w22) = w40 + w41x1 + w42x2Dyskryminacja liniowa
Perceptron wielowarstwowy y1 = w10+w11x1+w12x2 y2 = w20+w21x1+w22x2 y3 = w30+w31y1+w32y2 = w30+w31*(w10+w11x1+w12x2) + w32*(w20+w21x1+w22x2) = (w30 + w31w10 + w32w20) + x1*(w31w11+w32w21) + x2*(w31w12+w32w22) = w40 + w41x1 + w42x2 Liniowa kombinacja liniowych kombinacjiDyskryminacja liniowa
Perceptron wielowarstwowy
Neurony w warstwach ukrytych powinny mied nieliniowe funkcje
Dyskryminacja liniowa
Perceptron wielowarstwowy
• Neurony w warstwach ukrytych powinny mied nieliniowe funkcje aktywacji.
• Warstwy ukryte, poprzez nieliniowe transformacje sygnałów wejściowych, przenoszą problem do nowych przestrzeni, w których są one rozwiązywane przez liniowe neurony z warstwy wyjściowej sieci.