Metody eksploracji danych 6. Klasyfikacja (kontynuacja)

Podobne dokumenty
7. Maszyny wektorów podpierajacych SVMs

Data Mining Wykład 6. Naiwny klasyfikator Bayes a Maszyna wektorów nośnych (SVM) Naiwny klasyfikator Bayesa.

UCZENIE MASZYNOWE III - SVM. mgr inż. Adam Kupryjanow

Interpolacja. Interpolacja wykorzystująca wielomian Newtona

Wstęp do przetwarzania języka naturalnego. Wykład 11 Maszyna Wektorów Nośnych

SVM: Maszyny Wektorów Podpieraja cych

Elementy inteligencji obliczeniowej

W ostatnim wykładzie doszliśmy do tego, że problem znalezienia klasyfikatora optymalnego pod względem marginesów można wyrazić w następujący sposób:

Programowanie liniowe

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Matematyka licea ogólnokształcące, technika

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

2. Szybka transformata Fouriera

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

Agnieszka Nowak Brzezińska Wykład III

Optymalizacja ciągła

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Agnieszka Nowak Brzezińska Wykład III

Popularne klasyfikatory w pakietach komputerowych

Przestrzeń unitarna. Jacek Kłopotowski. 23 października Katedra Matematyki i Ekonomii Matematycznej SGH

FUNKCJA LINIOWA, RÓWNANIA I UKŁADY RÓWNAŃ LINIOWYCH

WYKŁAD: Perceptron Rosenblatta. Maszyny wektorów podpierających (SVM). Empiryczne reguły bayesowskie. Zaawansowane Metody Uczenia Maszynowego

VII. Elementy teorii stabilności. Funkcja Lapunowa. 1. Stabilność w sensie Lapunowa.

5. Analiza dyskryminacyjna: FLD, LDA, QDA

Algorytmy i Struktury Danych, 9. ćwiczenia

Ontogeniczne sieci neuronowe. O sieciach zmieniających swoją strukturę

UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH


Parametryczny koder mowy - wokoder. Synteza mowy w odbiorniku: d=1 - mowa dźwięczna (T 0 = okres tonu krtaniowego) d=0 - mowa bezdźwięczna

WSPOMAGANIE DECYZJI - MIŁOSZ KADZIŃSKI LABORATORIUM VI METODA WĘGIERSKA

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

Klasyfikator. ˆp(k x) = 1 K. I(ρ(x,x i ) ρ(x,x (K) ))I(y i =k),k =1,...,L,

= = a na podstawie zadania 6 po p. 3.6 wiemy, że. b 1. a 2 ab b 2

Aproksymacja. j<k. L 2 p[a, b] l 2 p,n X = Lemat 1. Wielomiany ortogonalne P 0,P 1,...,P n tworza przestrzeni liniowej Π n. Dowód.

Algorytm wstecznej propagacji błędów dla sieci RBF Michał Bereta

5. Rozwiązywanie układów równań liniowych

3. FUNKCJA LINIOWA. gdzie ; ół,.

SAS wybrane elementy. DATA MINING Część III. Seweryn Kowalski 2006

Interpolacja. Marcin Orchel. Drugi przypadek szczególny to interpolacja trygonometryczna

Eksploracja Danych. wykład 4. Sebastian Zając. 10 maja 2017 WMP.SNŚ UKSW. Sebastian Zając (WMP.SNŚ UKSW) Eksploracja Danych 10 maja / 18

Definicja i własności wartości bezwzględnej.

METODY INŻYNIERII WIEDZY

Zadania egzaminacyjne

Sztuczna inteligencja : Algorytm KNN

Systemy uczące się Lab 4

Metody eksploracji danych 2. Metody regresji. Piotr Szwed Katedra Informatyki Stosowanej AGH 2017

Adrian Horzyk

Metody iteracyjne rozwiązywania układów równań liniowych (5.3) Normy wektorów i macierzy (5.3.1) Niech. x i. i =1

Analiza składowych głównych. Wprowadzenie

METODY INŻYNIERII WIEDZY

IX. Rachunek różniczkowy funkcji wielu zmiennych. 1. Funkcja dwóch i trzech zmiennych - pojęcia podstawowe. - funkcja dwóch zmiennych,

Metody systemowe i decyzyjne w informatyce

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

Metody sztucznej inteligencji Zadanie 3: (1) klasteryzacja samoorganizująca się mapa Kohonena, (2) aproksymacja sieć RBF.

Metody Sztucznej Inteligencji II

Agnieszka Nowak Brzezińska

Zbiory wypukłe i stożki

Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.

Funkcje liniowe i wieloliniowe w praktyce szkolnej. Opracowanie : mgr inż. Renata Rzepińska

Definicje i przykłady

CEL PRACY ZAKRES PRACY

Wykład z Technologii Informacyjnych. Piotr Mika

SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.

Zagadnienia brzegowe dla równań eliptycznych

macierze jednostkowe (identyczności) macierze diagonalne, które na przekątnej mają same

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane.

Równania trygonometryczne z parametrem- inne spojrzenie

( ) Arkusz I Zadanie 1. Wartość bezwzględna Rozwiąż równanie. Naszkicujmy wykresy funkcji f ( x) = x + 3 oraz g ( x) 2x

RÓWNANIA NIELINIOWE Maciej Patan

Metody numeryczne I Równania nieliniowe

Metody numeryczne. materiały do ćwiczeń dla studentów. 1. Teoria błędów, notacja O

Funkcje wymierne. Jerzy Rutkowski. Działania dodawania i mnożenia funkcji wymiernych określa się wzorami: g h + k l g h k.

jest ciągiem elementów z przestrzeni B(R, R)

Rachunek różniczkowy i całkowy w przestrzeniach R n

Optymalizacja ciągła

Wstęp do sieci neuronowych, wykład 07 Uczenie nienadzorowane.

1 Funkcje dwóch zmiennych podstawowe pojęcia

n=0 (n + r)a n x n+r 1 (n + r)(n + r 1)a n x n+r 2. Wykorzystując te obliczenia otrzymujemy, że lewa strona równania (1) jest równa

MACIERZE. ZWIĄZEK Z ODWZOROWANIAMI LINIOWYMI.

Klasyfikacja LDA + walidacja

Definicja pliku kratowego

Rozwiązania zadań testowych. a n, że a 1 = 5 oraz a n = 100. Podać sumy następujących n=1

Wprowadzenie Metoda bisekcji Metoda regula falsi Metoda siecznych Metoda stycznych RÓWNANIA NIELINIOWE

cx cx 1,cx 2,cx 3,...,cx n. Przykład 4, 5

Uczenie się pojedynczego neuronu. Jeśli zastosowana zostanie funkcja bipolarna s y: y=-1 gdy z<0 y=1 gdy z>=0. Wówczas: W 1 x 1 + w 2 x 2 + = 0

Rozwiązywanie równań nieliniowych

Macierze. Rozdział Działania na macierzach

dodatkowe operacje dla kopca binarnego: typu min oraz typu max:

Biometria WYKŁAD 7: ROZPOZNAWANIE I KLASYFIKACJA OBIEKTÓW

Regresja nieparametryczna series estimator

Systemy uczące się wykład 2

POD- I NADOKREŚLONE UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH

METODY INŻYNIERII WIEDZY

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Elementy modelowania matematycznego

Matematyka rozszerzona matura 2017

Transkrypt:

Metody eksploracji danych 6. Klasyfikacja (kontynuacja) Piotr Szwed Katedra Inforatyki Stosowanej AGH 2016 Support Vector Machines k-nearest Neighbors

Support Vector Machines Maszyny Wektorów Wspierających P. Szwed: Metody eksploracji danych (2016) 2

Liniowa separowalność danych Rozważy zagadnienie binarnej klasyfikacji, w który zbiore etykiet jest { 1,1} Zbiór danych D = { x i, y i : i = 1,, }, gdzie x i R n jest linowo separowalny, jeżeli istnieje hiperpłaszczyzna w T x + b = 0, taka że: i: y i = +1. w T x i + b > 0 i: y i = 1. w T x i + b < 0 Powyższe dwa warunki ożna zapisać jako jeden: i: y i = sign(w T x i + b) W ty przypadku: w R n, b to eleent dotychczas oznaczny jako w 0. P. Szwed: Metody eksploracji danych (2016) 3

Liniowa separowalność danych W przypadku danych, które nie są bezpośrednio separowalne przez hiperpłaszczynę, ożliwe jest wprowadzenie nieliniowych cech h(x), np. wieloianów. W przestrzeni cech odel dalej jest liniowy i równanie hiperpłaszczyzny a postać: w T h x + b = 0 P. Szwed: Metody eksploracji danych (2016) 4

Liniowa separowalność danych Nieliniowe odele: Drzewa decyzyjne Sieci neuronowe Najbliżsi sąsiedzi (knn) Nieliniowe odele ogą zapewnić kształty regionów decyzyjnych zgodne z etykietai klas trudniejsze do uczenia ryzyko nadiernego dopasowania Regresja logistyczna Drzewo decyzyjne P. Szwed: Metody eksploracji danych (2016) 5

Koncepcja SVM Zakładając, że dane są separowalne, zazwyczaj istnieje (nieskończenie) wiele hiperpłaszczyzn π(w, b) rozdzielających dane. Kryteriu wyboru: π(w 1, b 1 ) jest lepszą granicą klas niż π(w 2, b 2 ) jeżeli obserwacje są od niej bardziej odległe. (Mniejsza podatność na szu i nadierne dopasowanie) π(w 1, b 1 ) π(w 2, b 2 ) P. Szwed: Metody eksploracji danych (2016) 6

Margines Hiperpłaszczyznę separującą klasy ożna rozsuwać w obie strony (linie przerywane), aż do oentu, w który pojawią się na nich obserwacje. Margines to odległość poiędzy hiperpłaszczyznai oznaczonyi liniai przerywanyi Wielkość arginesu zależy od ułożenia hiperpłaszczyzny P. Szwed: Metody eksploracji danych (2016) 7

Model ateatyczny Załóży, że zbiór uczący D = { x i, y i : i = 1,, } jest linowo separowalny przez hiperpłaszczyznę o arginesie ρ. Wówczas: 1. w T x i + b ρ 2 jeżeli y i = 1 2. w T x i + b + ρ 2 jeżeli y i = +1 Oba warunki ożna zapisać jako: y i (w T x i + b) ρ 2 Przeskalujy w i b dzieląc obie strony przez ρ. Równanie (po 2 przeskalowaniu) a postać: y i (w T x i + b) 1 P. Szwed: Metody eksploracji danych (2016) 8

Wektory wspierające Wektory wspierające (nośne, ang. support vectors) to obserwacje, dla których nierówność y i (w T x i + b) 1 jest równością, czyli zachodzi: x s : y s w T x s + b = 1 Obliczy odległość wektora wspierającego od hiperpłaszczyny: 1 w r = wt x s + b w = y s(w T x s + b) w = 1 w 1 w 1 w Czyli argines dla przeskalowanych w i b oże być wyrażony jako: ρ = 2r = 2 w P. Szwed: Metody eksploracji danych (2016) 9

Optyalna hiperpłaszczyzna Zagadnienie optyalizacji Znajdź w i b takie, że: ρ = 2r = 2 w przeforułowane jako: jest aksyalizowane (funkcja celu) przy ograniczeniach: i = 1, : y i (w T x i + b) 1 Zagadnienie optyalizacji kwadratowej Znajdź w i b takie, że: Φ w = 1 2 wt w jest inializowane (funkcja celu) przy ograniczeniach: i = 1, : y i (w T x i + b) 1 Kwadratowa funkcja celu: zienne to w i b Z liniowyi ograniczeniai (y i i x i odgrywają rolę współczynników) P. Szwed: Metody eksploracji danych (2016) 10

Proble optyalizacji Proble optyalizacji z ograniczeniai rozwiązuje się przez zastosowanie tzw. nożników Lagrange a [Także https://en.wikipedia.org/wiki/karush%e2%80%93kuhn%e2%80%93tucker_conditions ]. W punkcie optyalny spełniający ograniczenia wektory gradientów funkcji i aktywnych ograniczeń uszą być równoległe i przeciwnie skierowane g 1 (x 1,x 2 ) 0 g 2 (x 1,x 2 ) 0 f(x 1,x 2 ) (x 1 *x 2 *) L x 1, x 1, α = f x 1, x 2 α i g i (x 1, x 2 ) α i - nożniki Lagrange a Ograniczenie g 1 nie jest aktywne w punkcie optyalny. Stąd: g 1 x 1, x 2 < 0 oraz α 1 = 0 Ograniczenie g 2 jest aktywne w punkcie optyalny, czyli spełnione będzie g 2 (x 1, x 2 ) = 0 oraz α 2 0 i P. Szwed: Metody eksploracji danych (2016) 11

Mnożniki Lagrange a Funkcja Lagrange a dla zgadnienia SVM: L w, b, α = 1 2 w 2 α i (y i w T x i + b 1) 1 w 2 to oryginalna funkcja celu 2 i=1 α i y i ( w T x i + b 1) to ograniczenia wynikające z obserwacji w zbiorze uczący. Zauważy, że α i = 0, dla obserwacji nie będących wektorai wspierającyi oraz α i 0 dla wektorów wspierających. Rozwiązanie polega na: obliczeniu pochodnych L w, b, α względe ziennych w i b przyrównaniu pochodnych do 0 (warunek konieczny) wstawieniu otrzyanych zależności na w i b do L w, b, α rozwiązaniu probleu dualnego aksyalizacji L w, b, α w przestrzeni współczynników α. w, b, α jest punkte siodłowy, będący iejsce iniu L w, b, α względe w i b oraz aksiu L w, b, α względe α. P. Szwed: Metody eksploracji danych (2016) 12

Mnożniki Lagrange a 1. Obliczay pochodne i przyrównujey do 0: i=1 L w, b, α = 1 2 w 2 α i (y i w T x i + b 1) L w,b,α = w w j i=1 α i y i x ij j L w,b,α L w,b,α, stąd = 0 w w j = i=1 α i y i x ij w = i=1 α i y i x i j b = 0 i=1 α i y i = 0 2. Podstawiay do wzoru L w, b, α : L α = 1 α 2 i=1 i y i x 2 i i=1 α i y i ( j=1 α j y j x j ) T x i i=1 α i y i b + i=1 α i 1 L α = 1 2 i=1 α i y i x i L α = i=1 α i 1 2 2 ( j=1 α j y j x j ) T i=1 α i y i x i + i=1 α i 1 i=1 α i y i x i 2 P. Szwed: Metody eksploracji danych (2016) 13

Zagadnienie dualne Zagadnienie dualne aksyalizacji ax α i=1 przy ograniczeniach: α i 0 oraz α i 1 2 i=1 α i y i x i i=1 α i y i = 0 2 Postać alternatywna ax α Składnik i=1 α i odpowiada aksyalizacji arginesu, który jest ograniczany przez odległości poiędzy wektorai wspierającyi (drugi składnik). Pierwsza postać wydaje się bardziej efektywna (ale druga jest preferowana): suuje się wektorów i oblicza ich iloczyn skalarny. w drugiej wersji oblicza się 2 iloczynów skalarnych i=1 α i 1 2 przy ograniczeniach: α i 0 oraz i=1 i=1 α i i=1 α i y i = 0 α j y i y j (x i T x j ) P. Szwed: Metody eksploracji danych (2016) 14

Model SVM Hiperpłaszczyzna wx + b = 0 wyznacza granicę klas. Stąd funkcja decyzyjna a postać: f x = sign wx + b. i=1 Podstawiając w = α i y i x i, otrzyujey: f x = sign i=1 α i y i x T x i + b Oznaczy przez S zbiór indeksów wektorów wspierających S = {i: α i 0}. Postać funkcji decyzyjnej ożna uprościć Składnik b = 1 S f x = sign α i y i x T x i + b i S (y i i S j=1 α j y j (x T i x j )) Model klasyfikatora SVM jest reprezentowany przez: zbiór wektorów wspierających: {x j : j S} zbiór współczynników probleu dualnego α j : j S współczynnik b (intercept) Nie jest konieczne jawne wyznaczanie wektora w P. Szwed: Metody eksploracji danych (2016) 15

Przykład Niezależnie od liczby obserwacji, w obu przypadkach odel składa się z 3 wektorów wspierających wykorzystywanych przez funkcję decyzyjną. Ogólnie: liczba wektorów wspierających S n + 1, czyli zależy od wyiarów probleu (dla liniowo separowalnych obserwacji). P. Szwed: Metody eksploracji danych (2016) 16

Obserwacje na ogół nie są liniowo separowalne Dwie ożliwości: Transforacja zagadnienia, w który obserwacje x i R n do postaci w przestrzeni cech h x i R N, gdzie N będzie wystarczająco duże, aby zapewnić separowalność h x i. Na przykład transforacja oże polegać na wyznaczeniu czynników wieloianowych wybranego stopnia Wprowadzenie iękkiego arginesu: dopuszczenie obserwacji naruszających separowalność i uwzględnienie ich w funkcji celu jako kary za przekroczenie ograniczeń. W praktyce stosuje się kobinację obu rozwiązań P. Szwed: Metody eksploracji danych (2016) 17

Transforacja do przestrzeni cech - przykład Nieseparowalne dane w R Separowalne obserwacje w przestrzeni R 2 Niech h x R 2, gdzie h 1 x) = x h 2 (x) = x 2 Transforacja pozwala na odseparowanie obserwacji w R 2 P. Szwed: Metody eksploracji danych (2016) 18

Funkcja jądra (kernel) Po transforacji do przestrzeni cech funkcja decyzyjna a postać: f x = sign α i y i h x T h(x i ) + b i S Oznaczy K(x i, x j ) = h x T h(x i ). Po podstawieniu: f x = sign α i y i K(x, x i ) + b i S Czynnik K(x i, x j ) to tzw. jądro (kernel), czyli funkcja odpowiedzialna za obliczanie iloczynu skalarnego w przestrzeni cech. Przykład: Dwuwyiarowy wektor x = x 1 x 2 Kernel K(x, z) = 1 + x T z 2 K x, z = 1 + 2x 1 z 1 + 2x 2 z 2 + 2x 1 z 1 x 2 x 2 + x 1 2 z 1 2 + x 2 2 z 2 2 = 1 2x 1 2x 2 2x 1 x 2 x 1 2 x 2 2 T 1 2z 1 2z 2 2z 1 z 2 z 1 2 z 2 2 Czyli h(x) = 1 2x 1 2x 2 2x 1 x 2 x 1 2 x 2 2 Kernel w niejawny sposób odwzorowuje przestrzeń X do przestrzeni cech h(x) bez konieczności ich wyznaczania. Jest to tzw. kernel trick P. Szwed: Metody eksploracji danych (2016) 19

Kernel Liniowy Stosowane funkcje jądra K(x i, x j ) = x i T x j Odwzorowuje h(x) = x Wieloian stopnia p K(x i, x j ) = 1 + x i T x j p Funkcja Gaussa (RBF, radial basis function) Sigoidalny n + p 1 Wyiar h(x) to. p Jest to liczba rzędu n p. Np. dla n = 100 i p = 6 N = 1 609 344 100 2 K(x i, x j ) = e x i x j 2σ 2 Wektor cech jest nieskończeniewyiarowy. Granicą klas jest kobinacja funkcji obliczana dla wektorów wspierających K(x i, x j ) = tanh γ x i T x j + r Uczenie SVM wyaga obliczenia K(x i, x j ) dla wszystkich par obserwacji. Aby funkcja ogła być użyta jako kernel wyagane jest, aby acierz [K(x_i,x_j)] była nieujenie określona dla dowolnych wektorów (x_i,i=1,,). Dalsze inforacje: acierz Graa i twierdzenie Mercera. P. Szwed: Metody eksploracji danych (2016) 20

Przykłady Granice klas i arginesy dla różnych funkcji jądra (kerneli) Najlepsze rezultaty dla kernela gaussowskiego (RBF) ale równocześnie duża liczba wektorów wspierających W przypadku kernela wieloianowego, stopień wynosił 3 W rzeczywistości uczenie odelu z użycie iękkich arginesów (patrz dalej). Widoczne dla kernela sigoidalnego. P. Szwed: Metody eksploracji danych (2016) 21

Miękkie arginesy Jeżeli w zbiorze uczący występują obserwacje (x i, y i ), oraz x j, y j takie, że x i = x j i y i y j, dane nigdy nie będą liniowo separowalne, nawet po transforacji do przestrzeni cech o dowolnej złożoności. Miękkie arginesy są rozwiązanie, które pozwala w taki przypadku zbudować klasyfikator SVM (ale a ono charakter bardziej ogólny). 1 2 3 4 W odelu dopuszcza się obserwacje leżące po niewłaściwej stronie hiperpłaszczyzn wyznaczających arginesy. W funkcji celu wprowadza się współczynniki kary ξ i za przekroczenie ograniczeń. P. Szwed: Metody eksploracji danych (2016) 22

Zagadnienie optyalizacji Znajdź w, b, takie, że: Miękkie arginesy Φ w, b, = 1 2 wt w + C i=1 i jest inializowane przy ograniczeniach: i = 1, : y i w T x i + b i = 1, : i 0 1 i Paraetr C pozwala na kontrolowanie koproisu poiędzy cele aksyalizacji arginesu oraz dopasowanie do danych uczących Jeżeli stała C jest ała wybierany jest szeroki argines koszte dopasowania do danych uczących Jeżeli stała C jest duża, argines staje się ały i następuje dobre dopasowanie do danych uczących P. Szwed: Metody eksploracji danych (2016) 23

Funkcja celu: Hinge loss Φ = 1 2 wt w + C l(w T x + b, y i ) i=1 Złożoność odelu Błąd uczenia Dla odelu z iękkii arginesai drugi składnik a postać funkcji składanej z dwóch półprostych (z zawiase ). Nachylenie półprostej zależy od stałej C l(w T x i +b, y i ) 1 y i (w T x i +b) P. Szwed: Metody eksploracji danych (2016) 24

Przykłady P. Szwed: Metody eksploracji danych (2016) 25

Optyalizacja Wprowadzenie stałej C w funkcji celu w niewielki stopniu zienia dualną postać probleu (dodatkowe ograniczenie) ax α J α = i=1 α i 1 2 przy ograniczeniach: 0 α i C oraz Optyalizacja i=1 i=1 α i α j y i y j (x T i x j ) i=1 α i y i = 0 Ze względu na ograniczenie i=1 α i y i = 0 nie jest ożliwa optyalizacja wzdłuż współrzędnych, jeśli 1 współczynników jest ustalonych, nie ożna optyalizować -tego [Patrz dla porównania etoda Gaussa Seidla/coordinate descent] Muszą być optyalizowane co najniej dwa współczynniki na raz Najbardziej popularny algoryte jest SMO (Sequential inial optiization) while (nie stop): 1. Wybierz parę α i i α j naruszającą ograniczenia (etoda wyboru heurystyczna). 2. Popraw wartość J α, dla ziennych α i i α j, zachowując pozostałe współczynniki stałe. W taki przypadku J α jest zwykłą funkcją kwadratową jednego ze współczynników α i lub α j Patrz np: http://brain.fuw.edu.pl/edu/index.php/uczenie_aszynowe_i_sztuczne_sieci_neuronowe/wyk%c5%82ad_9#algoryt_smo_- _sekwencyjnej_inialnej_optyalizacji P. Szwed: Metody eksploracji danych (2016) 26

knn Algoryt najbliższych sąsiadów P. Szwed: Metody eksploracji danych (2016) 27

Algoryt najbliższych sąsiadów Algoryt najbliższych sąsiadów opiera się na prosty poyśle przewidywane wartości wyjściowe ogą być ustalane na podstawie podobieństw do obserwacji w zbiorze uczący. jaka klasa? x k Na przykład etykieta klasy dla nieznanej obserwacji (na rys. oznaczonej robe) oże być ustalona na podstawie etykiety najbliższego sąsiada. Po prawej zbiór punktów V(x k ) których odległość od pozostałych obserwacji x i jest większa od odległości od x k. Obszar V(x k ) = {x R 2 : i. d x, x k d x, x i } nazywany jest koórką Woronoja (ang. Voronoi cell) P. Szwed: Metody eksploracji danych (2016) 28

Diagra Woronoja Podział przestrzeni na koórki Woronoja nazywany jest diagrae Woronoja (ang. Voronoi tessalation) Granice poiędzy dwoa obszarai wyznaczają syetralne odcinków łączących dwa punkty (w 2D) W przestrzeni wielowyiarowej koórki są wielobokai wypukłyi, a ich ściany eleentai hiperpłaszczyzn P. Szwed: Metody eksploracji danych (2016) 29

Odległość + Odległość (etryka): to funkcja d: X X R 0 spełniająca 3 warunki 1. Identyczność d x, y = 0 x = y 2. Syetria d(x, y) = d(y, x) 3. Nierówność trójkąta: d x, z d x, y + d(y, z) Przykłady: Metryka Minkowskiego (X = R n ): d(x, y) = x i y i p n i=1 n i=1 Metryka Manhattan (p = 1): d(x, y) = x i y i n Metryka Euklidesa (p = 2): d(x, y) = x i y 2 i=1 i Metryka Czebyszewa (p = ): d(x, y) = ax x i y i i 1 p P. Szwed: Metody eksploracji danych (2016) 30

Podobieństwo Podobieństwo si: X X R jest funkcją o charakterze przeciwny do odległości (dla blisko położonych obiektów, d(x, y) = 0, si(x, y) przyjuje duże wartości. Często podobieństwo jest skalowane do przedziału [0,1]. Podobieństwo ające własność rozróżnialności obiektów spełnia: 1. si x, y = 1 x = y 2. si x, z si x, y + si y, z 1 Przykład: dla x, y R n podobieństwo cosinusowe: Nie zapewnia rozróżnialności obiektów si(x, y) = xt y x y Podobieństwo oże zostać przekształcone w (pół)etrykę : d(x, y) = 1 si(x, y) Warunek trójkąta nie usi być spełniony (stąd półetryka, ang. seietrc). Podobieństwo oże być zdefiniowane dla różnego typu obiektów bez konieczności wyznaczania ich cech w R n : ciągów syboli, zbiorów, grafów, itd. Funkcje jądra (kernele) K(x, y) ogą być postrzegane jako rodzaj podobieństwa. P. Szwed: Metody eksploracji danych (2016) 31

Różne iary odległości/podobieństwa Dla ziennych binarnych lub noinalnych d(x i, x j ) = 1 I(x i, x j ), gdzie I(a, b) to tzw. funkcja wskaźnikowa: I(a, b) = Dla ziennych będących zbiorai: odległość to tzw. odległość Hainga d(x i, x j ) = x i \x j (x j \x i ) podobieństwo definiuje się jako indeks Jaccarda: si x i, x j = x i x j x i x j 0, gdy a b 1, gdy a = b Dla ciągów syboli (np. tekstów) x j = (x 11,, x 1k ), x 2 = (x 21,, x 2 ), gdzie x 1j, x 2i A odległość Levenshteina to najniejsza liczba edycji: usunięć, zaian, przestawień przekształcających ciąg x 1 w x 2. P. Szwed: Metody eksploracji danych (2016) 32

Brakujące dane Przy obliczaniu odległości poiędzy obserwacjai x i i x j oże zdarzyć się, że dla pewnego atrybutu k dane nie są określone (reprezentowane przez sybol? ). Czyli na przykład x ik =? Strategia zachowawcza: Dla ziennych noinalnych zawsze I?, = I,? = 1 Dla ziennych nuerycznych, gdy x ik =? wybierana jest najbardziej odległa w stosunku do x jk wartość ze zbioru uczącego x ik arg ax x k X(k) { x k x jk } gdzie X(k) = {x ik : j = 1,, } Jeśli obie wartości nueryczne są nieokreślone, składnik odległości to: sup X k inf X(k) Strategia optyistyczna Dla ziennych noinalnych zawsze I?, = I,? = 1, ale I(?,? ) = 0 (równoważne dodaniu dodatkowej ziennej noinalnej?) Zastąpienie brakujących wartości średnii: x ik ean(x k ) Jeśli obie wartości nieokreślone, ich różnica wynosi 0 P. Szwed: Metody eksploracji danych (2016) 33

K najbliższych sąsiadów Niech D = { x i, y i : i = 1,, } będzie zbiore danych (uczący) Dla danej nieznanej obserwacji x uporządkujy D w postaci ciągu D(x) = ((x j, y j ): j = 1,, ), takiego, że j = 1, 1. d x, x j d(x, x j+1 ) Pierwszych k wyrazów ciągu D x definiuje N k (x), czyli k-eleentowe sąsiedztwo x: N k (x) ={(x k, y k ),, (x k, y k )} Dla zagadnienia regresji przewidywana wartość wyjściowa jest wartością średnią y w sąsiedztwie: Dla zagadnienia klasyfikacji: y x = 1 k x,y N k x y p(y = y x) = 1 k x,y N k x I(Y = y ) y x = arg ax p(y = y x) y Czyli przewidywaną klasą jest etykieta przeważająca wśród sąsiadów w N k (x). P. Szwed: Metody eksploracji danych (2016) 34

Przykłady P. Szwed: Metody eksploracji danych (2016) 35

Wagi Idea wprowadzenia wag polega na uwzględnieniu odległości klasyfikowanej obserwacji x od obserwacji w zbiorze najbliższych sąsiadów N k (x) x,y N w(x, x )I(Y = y ) p(y = y x) = k x w(x, x ) x,y N k x Waga w(x, x ) jest najczęściej odwrotnością odległości w x, x = 1 d(x,x ) lub funkcją w(d(x, x )) zdefiniowaną przez użytkownika. Ziana regionów decyzyjnych po zastosowaniu wag będących odwrotnością odległości P. Szwed: Metody eksploracji danych (2016) 36

Wyszukiwanie najbliższych sąsiadów Czas uczenia algorytu knn jest zerowy (odel jest po prostu zbiore instancji) Czas wyszukiwania najbliższych sąsiadów jest proporcjonalny do wielkości zbioru uczącego O(k n ). Działanie algorytu oże być wolne, jeżeli jest duże, np. 16 6, obserwacje przechowywane są w bazie danych itd. Metody przyspieszania wyszukiwania: Reprezentacja zbioru uczącego w postaci drzew: kd-tree lub ball tree Heurystyki ograniczające obliczanie odległości Ograniczanie zbioru analizowanych obserwacji P. Szwed: Metody eksploracji danych (2016) 37

kd-tree (k-wyiarowe drzewo) kd-tree jest drzewe binarny, w który kolejne węzły reprezentują podziały przestrzeni wzdłuż jednego z wyiarów Algoryt wyszukiwania najbliższych sąsiadów polega na: przejściu przez drzewo od korzenia do liścia (bloku, który zawiera badany punkt) znalezieniu najbliższego sąsiada sprawdzeniu, czy kula S o proieniu równy odległości od najbliższego sąsiada przecina węzeł bliźniaczy do liścia sprawdzenie przecięć dla węzłów bliźniaczych względe węzłów nadrzędnych i ich potoków (różowy czerwony zielony szarozielony) P. Szwed: Metody eksploracji danych (2016) 38

Przykład Ostatecznie przeszukane zostaną kreskowane obszary poziou 6 (Rysunek na podstawie kodu zaczerpniętego z http://www.astrol.org/ ) P. Szwed: Metody eksploracji danych (2016) 39

Konstrukcja kd-tree Algoryt rekurencyjny kdtree D: dane, N: node : 1. Jeżeli liczba punktów w węźle D in stop 2. Wybór kierunku podziału j: cyklicznie dla kolejnych wyiarów lub w kierunku największej zienności wartości 3. Podziel dane węzła na dwie części D 1 = {x D: x j < v j } i D 2 = {x D: x j v j }. Wartość podziału v j ustala się poprzez posortowanie danych i wyznaczenie ediany wartości jako wartość średnią 4. Utwórz dwa węzły potone N 1 i N 2 i wywołaj kdtree(d 1, N 1 ) i kdtree(d 2, N 2 ) P. Szwed: Metody eksploracji danych (2016) 40

Ball tree W drzewie Ball tree węzły reprezentują kule otaczające punkty w przestrzeni n-wyiarowej Ze względu na kształt bloków przypisanych węzło łatwiej jest wykluczyć przecięcia i przez to w rzeczywistych zastosowaniach (zwłaszcza dla większych wyiarów przestrzeni) złożoność wyszukiwania spada Porównanie liczby przecięć dla kd tree (czarna linia przerywana, 4 obszary) i Ball tree (niebieska linia przerywana dwie kule) P. Szwed: Metody eksploracji danych (2016) 41

Ball tree: algoryt wyszukiwania Algoryt przeszukuje rekurencyjnie drzewo składując znalezione punkty w kolejce sortowanej alejąco według odległości. Odcinane są kule, których środek jest bardziej odległy niż najdalszy punkt w kolejce. search(x, q: queue, n: node): if d x, n. center d(x, q. first()): return if(leaf(n)): przeszukaj punkty x w n i dodaj do q, jeśli d(x, x ) < d(x, q. first()) else: search(x, q, node. left) search(x, q, node. right) P. Szwed: Metody eksploracji danych (2016) 42

Ball tree - przykład Przeszukane zostaną kule przecinające się z różową elpsą P. Szwed: Metody eksploracji danych (2016) 43

Inne opcje przyspieszenia obliczeń Częściowe wyznaczanie odległości r 2 Dla r < n oblicza się: d r (x, x ) = i=1 x i x i. Jeżeli d r (x, x ) > sup {d x, x : x N k (x)} (czyli częściowo wyznaczona odległość jest większa, niż do najdalszego sąsiada w bieżący otoczeniu) nie a sensu dalej prowadzić obliczeń. Redukcja zbioru obserwacji bez ziany granic regionów decyzyjnych (editing) Źródło: https://www.isll.uni-hildeshei.de/lehre/l-07w/skript/l-2up-03-nearest-neighbor.pdf P. Szwed: Metody eksploracji danych (2016) 44

Typowe opcje knn Biblioteki ipleentujące knn zazwyczaj oferują następujące opcje: Przeszukanie wszystkich eleentów (brute force). Złożoność czasowa O n Ball tree Złożoność czasowa O n log kd-tree Dla ałych n 20, złożoność rzędu O n log Dla dużych n wzrasta do O n i ze względu na czas/zużycie paięci przy budowie drzewa oże być niej efektywne niż brute force Dodatkowe inforacje i dyskusja zależności od: paraetru k progu określającego inialną liczbę obserwacji w węźle potencjalnej liczby zapytań http://scikit-learn.org/stable/odules/neighbors.htl P. Szwed: Metody eksploracji danych (2016) 45