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

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

SVM: Maszyny Wektorów Podpieraja cych

Popularne klasyfikatory w pakietach komputerowych

Wstęp do przetwarzania języka naturalnego

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:

Entropia Renyi ego, estymacja gęstości i klasyfikacja

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

Wstęp do przetwarzania języka naturalnego. Wykład 10 Zaawansowana wektoryzacja i klasyfikacja

Zastosowania funkcji jądrowych do rozpoznawania ręcznie pisanych cyfr.

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

7. Maszyny wektorów podpierajacych SVMs

Programowanie nieliniowe. Badania operacyjne Wykład 3 Metoda Lagrange a

Metody systemowe i decyzyjne w informatyce

1 Formy hermitowskie. GAL (Informatyka) Wykład - formy hermitowskie. Paweł Bechler

Programowanie liniowe

Jądrowe klasyfikatory liniowe

PROGRAMOWANIE KWADRATOWE

Algorytm simplex i dualność

Stosowana Analiza Regresji

Oracle Data Mining 10g

Wykorzystanie lokalnej geometrii danych w Maszynie Wektorów No±nych

Rozdzia l 10. Formy dwuliniowe i kwadratowe Formy dwuliniowe Definicja i przyk lady

Bezgradientowe metody optymalizacji funkcji wielu zmiennych. informacje dodatkowe

Rozpoznawanie obrazów

Algorytmy metaheurystyczne Wykład 11. Piotr Syga

Rozpoznawanie obrazów

Metody klasyfikacji danych - część 2 p.1/55

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.

Optymalizacja ciągła

Wprowadzenie do badań operacyjnych - wykład 2 i 3

Dualność w programowaniu liniowym

TOZ -Techniki optymalizacji w zarządzaniu

4.1. Wprowadzenie Podstawowe definicje Algorytm określania wartości parametrów w regresji logistycznej...74

Klasyfikacja LDA + walidacja

Testowanie hipotez. Hipoteza prosta zawiera jeden element, np. H 0 : θ = 2, hipoteza złożona zawiera więcej niż jeden element, np. H 0 : θ > 4.

Standardowe zadanie programowania liniowego. Gliwice 1

Zaawansowane metody numeryczne

Maszyny wektorów podpierajacych w regresji rangowej

Metoda Karusha-Kuhna-Tuckera

Metody systemowe i decyzyjne w informatyce

4 Zasoby językowe Korpusy obcojęzyczne Korpusy języka polskiego Słowniki Sposoby gromadzenia danych...

Metody systemowe i decyzyjne w informatyce

Metody systemowe i decyzyjne w informatyce

Agnieszka Nowak Brzezińska Wykład III

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

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

Wstęp do przetwarzania języka naturalnego. Wykład 13 Podsumowanie i spojrzenie w przyszłość

Metody klasyfikacji Danych wielowymiarowych by mgr inz. Marcin Kurdziel and mgr inz. Tomasz Arodz

WYKŁAD 2. Problem regresji - modele liniowe

WSKAZÓWKI DO WYKONANIA SPRAWOZDANIA Z WYRÓWNAWCZYCH ZAJĘĆ LABORATORYJNYCH

Optymalizacja ciągła

Python : podstawy nauki o danych / Alberto Boschetti, Luca Massaron. Gliwice, cop Spis treści

Wstęp do Modelu Standardowego

Stopę zbieżności ciagu zmiennych losowych a n, takiego, że E (a n ) < oznaczamy jako a n = o p (1) prawdopodobieństwa szybciej niż n α.

Współczynnik korelacji. Współczynnik korelacji jest miernikiem zależności między dwiema cechami Oznaczenie: ϱ

A,B M! v V ; A + v = B, (1.3) AB = v. (1.4)

Pokazać, że wyżej zdefiniowana struktura algebraiczna jest przestrzenią wektorową nad ciałem

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

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Rozpoznawanie obrazów

STATYSTYKA MATEMATYCZNA

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład III 2016/2017

Przepustowość kanału, odczytywanie wiadomości z kanału, poprawa wydajności kanału.

Wprowadzenie. { 1, jeżeli ˆr(x) > 0, pozatym. Regresja liniowa Regresja logistyczne Jądrowe estymatory gęstości. Metody regresyjne

Regresyjne metody łączenia klasyfikatorów

Agnieszka Nowak Brzezińska Wykład III

Elementy inteligencji obliczeniowej

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

SPOTKANIE 4: Klasyfikacja: Regresja logistyczna

Wojciech Skwirz

9.0. Wspornik podtrzymujący schody górne płytowe

DB Algebra liniowa 1 semestr letni 2018

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

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

WYKŁAD: Szeregi czasowe II. Zaawansowane Metody Uczenia Maszynowego

Klasyfikatory SVM. Przemysław Klęsk. 1 Wiadomości ogólne 1. 2 Margines separacji Wzór na odległość punktu od płaszczyzny...

Algebra liniowa. 1. Macierze.

STATYSTYKA MATEMATYCZNA WYKŁAD 4. WERYFIKACJA HIPOTEZ PARAMETRYCZNYCH X - cecha populacji, θ parametr rozkładu cechy X.

Estymatory regresji rangowej oparte na metodzie LASSO

Formy kwadratowe. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. wykład z algebry liniowej Warszawa, styczeń 2009

METODY INŻYNIERII WIEDZY KNOWLEDGE ENGINEERING AND DATA MINING

Informacja o przestrzeniach Sobolewa

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

1 Działania na zbiorach

Geometria Lista 0 Zadanie 1

KLASYFIKACJA TEKSTUR ZA POMOCĄ SVM MASZYNY WEKTORÓW WSPIERAJĄCYCH

Programowanie liniowe

Algorytmy aproksymacyjne dla problemów stochastycznych

Modelowanie zależności. Matematyczne podstawy teorii ryzyka i ich zastosowanie R. Łochowski

doc. dr Beata Pułska-Turyna Zarządzanie B506 mail: mgr Piotr J. Gadecki Zakład Badań Operacyjnych Zarządzania B 505.

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład II 2017/2018

) a j x j b; x j binarne (j N) całkowitoliczbowe; przyjmujemy (bez straty ogólności): c j > 0, 0 <a j b (j N), P n

Systemy agentowe. Uwagi organizacyjne. Jędrzej Potoniec

Optymalizacja systemów

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

Wykład 2 Hipoteza statystyczna, test statystyczny, poziom istotn. istotności, p-wartość i moc testu

Idea. θ = θ 0, Hipoteza statystyczna Obszary krytyczne Błąd pierwszego i drugiego rodzaju p-wartość

Rozwiązania zadań z listy T.Koźniewskiego

Matematyka ubezpieczeń majątkowych r.

Transkrypt:

Wstęp do przetwarzania języka naturalnego Wykład 11 Wojciech Czarnecki 8 stycznia 2014

Section 1 Przypomnienie

Wektoryzacja tfidf Przypomnienie document x y z Antony and Cleopatra 5.25 1.21 1.51 Julius Caesar 3.18 6.1 0 The Tempest 0 0 1.9 Hamlet 0 1 0.12 Othello 0 0 5.25 Macbeth 0.35 0 0.88 Rysunek : VSM na bazie utworów Szekspira

Idea Section 2

Idea Subsection 1 Idea

Idea

Idea

Idea

Idea

Idea

Idea

Przypomnienie Idea Regresja logistyczna opiera się na głosowaniu poszczególnych cech, i α if i (d, c) Współczynniki dobierane były by zmaksymalizować prawdopodobieństwo poprawnej klasyfikacji Decyzja podejmowana była na zasadzie arg max c i α if i (d, c)

Idea Dla klasyfikacji binarnej (1,-1) było to więc przy założeniu że cechy są niezależne od klasy (dokładamy odpowiednie α i = 0 lub β i = 0 maxent(d) = 1 i α i f i (d) > i β i f i (d)

Idea Dla klasyfikacji binarnej (1,-1) było to więc przy założeniu że cechy są niezależne od klasy (dokładamy odpowiednie α i = 0 lub β i = 0 maxent(d) = 1 i α i f i (d) > i β i f i (d) maxent(d) = 1 i (α i β i )f i (d) > 0

Idea Dla klasyfikacji binarnej (1,-1) było to więc przy założeniu że cechy są niezależne od klasy (dokładamy odpowiednie α i = 0 lub β i = 0 maxent(d) = 1 i α i f i (d) > i β i f i (d) maxent(d) = 1 i (α i β i )f i (d) > 0 maxent(d) = sgn( i (α i β i )f i (d))

Idea Dla klasyfikacji binarnej (1,-1) było to więc przy założeniu że cechy są niezależne od klasy (dokładamy odpowiednie α i = 0 lub β i = 0 maxent(d) = 1 i α i f i (d) > i β i f i (d) maxent(d) = 1 i (α i β i )f i (d) > 0 maxent(d) = sgn( i (α i β i )f i (d)) maxent(d) = sgn( i w i f i (d))

Idea maxent(d) = sgn( i w i f i (d))

Idea maxent(d) = sgn( i w i f i (d)) W SVMie oddzielamy dane hiperpłaszyzną, którą można jednoznacznie zdefiniować jako jej normalna w (oraz przesunięcie od środka układu b)

Idea maxent(d) = sgn( i w i f i (d)) W SVMie oddzielamy dane hiperpłaszyzną, którą można jednoznacznie zdefiniować jako jej normalna w (oraz przesunięcie od środka układu b) svm(d) = sgn(w T f (d) + b)

Idea maxent(d) = sgn( i w i f i (d)) W SVMie oddzielamy dane hiperpłaszyzną, którą można jednoznacznie zdefiniować jako jej normalna w (oraz przesunięcie od środka układu b) svm(d) = sgn(w T f (d) + b) svm(d) = sgn( i w i f i (d) + b)

Idea maxent(d) = sgn( i w i f i (d)) W SVMie oddzielamy dane hiperpłaszyzną, którą można jednoznacznie zdefiniować jako jej normalna w (oraz przesunięcie od środka układu b) svm(d) = sgn(w T f (d) + b) svm(d) = sgn( i w i f i (d) + b) Jedyną różnicą jest strategia wyboru w, czyli proces uczenia.

Margines Dualność Lagrange a Kernel Section 3

Założenia Przypomnienie Margines Dualność Lagrange a Kernel Klasyfikacja binarna Dane są liniowo separowalne Dla uproszczenia x to zwektoryzowana forma dokumentu

Margines Dualność Lagrange a Kernel Subsection 1 Margines

Margines Przypomnienie Margines Dualność Lagrange a Kernel w T x + b = 0 w T x + b = 1(= B) w T x + b = 1(= B)

Margines Przypomnienie Margines Dualność Lagrange a Kernel d(0, h + ) = w T 0 + b 1 w d(0, h ) = w T 0 + b + 1 w margin = b 1 (b + 1) w = 2 w

Margines Przypomnienie Margines Dualność Lagrange a Kernel max w,b ) s.t. y (i) ( w T x (i) + b 2 w 1, i {1, 2,..., m}

Margines Przypomnienie Margines Dualność Lagrange a Kernel 1 min w,b 2 w 2 ( ) s.t. y (i) w T x (i) + b 1, i {1, 2,..., m} Wypukła optymalizacja kwadratowa z liniowymi ograniczeniami!

Margines Dualność Lagrange a Kernel Subsection 2 Dualność Lagrange a

Dualność Lagrange a Margines Dualność Lagrange a Kernel min f (w) w s.t. g i (w) 0, i {1, 2,..., m}

Lagrangian Przypomnienie Margines Dualność Lagrange a Kernel m L(w, α) = f (w) + α i g i (w) i=1

Problem prymalny Przypomnienie Margines Dualność Lagrange a Kernel θ P (w) = max L(w, α) α i 0 θ P (w) = max f (w) + m α i g i (w) α i 0 i=1 θ P (w) {f (w), }

Problem prymalny Przypomnienie Margines Dualność Lagrange a Kernel min w ( ) θ P(w) = min max L(w, α) = min f (w) w α i 0 w p = min θ P(w) w

Problem dualny Przypomnienie Margines Dualność Lagrange a Kernel max θ D(α) = max min L(w, α) α i 0 α i 0 w d = max α i 0 θ D(α)

Nierówność MaxMin Przypomnienie Margines Dualność Lagrange a Kernel d = max min L(w, α) min max L(w, α) = p α i 0 w w α i 0

KKT Przypomnienie Margines Dualność Lagrange a Kernel d = p f, g - wypukłe w g i (w) < 0 Szerzej: Teoria Optymalizacji α i g i (w) = 0 dual complementarity condition

Margines Dualność Lagrange a Kernel Subsection 3

Rozwiązanie SVM Przypomnienie Margines Dualność Lagrange a Kernel 1 min w,b 2 w 2 ( ) s.t. y (i) w T x (i) + b 1, i {1, 2,..., m} 1 min w,b 2 w 2 ( ) s.t. y (i) w T x (i) + b + 1 0, i {1, 2,..., m}

Margines Dualność Lagrange a Kernel L(w, b, α) = 1 2 w 2 m i=1 α i (y ( ) ) (i) w T x (i) + b 1 max min L(w, b, α) α i 0 w,b

Margines Dualność Lagrange a Kernel m w L(w, b, α) = w α i y (i) x (i) = 0 i=1 m w = α i y (i) x (i) i=1 m b L(w, b, α) = α i y (i) = 0 i=1 m L(w, b, α) = α i 1 m y (i) y (j) α i α j (x (i) ) T x (j) 2 i=1 i,j=1

Ostateczny problem dualny Margines Dualność Lagrange a Kernel m max α i 1 m y (i) y (j) α i α j (x (i) ) T x (j) α i 0 2 i=1 i,j=1 ( m ) w T T m x + b = α i y (i) x (i) x + b = α i y (i) (x (i) ) T x + b i=1 i=1

Margines Dualność Lagrange a Kernel Subsection 4 Kernel

Kernel Przypomnienie Margines Dualność Lagrange a Kernel

Kernel Przypomnienie Margines Dualność Lagrange a Kernel

Kernel Przypomnienie Margines Dualność Lagrange a Kernel

Kernel Przypomnienie Margines Dualność Lagrange a Kernel Definition K(x, y) jest kernelem (jądrem) wtw. istnieje przestrzeń wektorowa w której K jest iloczynem skalarnym K(x, y) = φ(x) φ(y) K(x, y) = x y K(x, y) = (γx y + c) p K(x, y) = e γ x y 2 K(x, y) = tanh(γx y + c)

Kernel Przypomnienie Margines Dualność Lagrange a Kernel K(x, y) = φ(x) φ(y) K(x, y) = (x y + c) 2 φ(x) = (x 2 n,..., x 2 1, 2xn x n 1,..., 2x n x 1, 2xn 1 x n 2,..., 2x 2 x 1, 2cxn,..., 2cx 1, c) dim(φ(x)) = n2 + 3n + 2 2

Skernelizowany SVM Margines Dualność Lagrange a Kernel m max α i 1 m y (i) y (j) α i α j K(x (i), x (j) ) α i 0 2 i=1 i,j=1 m w T x + b = α i y (i) K(x (i), x) i=1

Skernelizowany SVM Margines Dualność Lagrange a Kernel

Margines Dualność Lagrange a Kernel Subsection 5

Margines Dualność Lagrange a Kernel

Margines Dualność Lagrange a Kernel

Margines Dualność Lagrange a Kernel 1 m min w,b 2 w 2 + C ξ i ( i=1 ) s.t. y (i) w T x (i) + b 1 ξ i, i {1, 2,..., m} ξ i 0, i {1, 2,..., m}

Margines Dualność Lagrange a Kernel Dualna forma nieseparowalnej skernalizowanego SVMa :-) m max α i 1 m y (i) y (j) α i α j K(x (i), x (j) ) C α i 0 2 i=1 i,j=1

Wieloklasowy SVM Przypomnienie Margines Dualność Lagrange a Kernel 1 vs all technique ( n ) 1 vs 1 technique ( n 2 ) error codes technique ( log(n) )

Section 4

Uwagi co do kerneli Przypomnienie K(x, y) = φ(x) φ(y) K(x, y) = x y K(x, y) = (γx y + c) p K(x, y) = e γ x y 2 K(x, y) = tanh(γx y + c)

Idealny kernel Przypomnienie 1, if x, y T, label(x) = label(y) K p (x, y) = 1, if x, y / T 0, wpp. Acc train (K p ) = 100% Acc test (K p ) =? Szerzej: Sieci Neuronowe; dr Igor Podolak

K(x, y) = e γ x y 2 φ(x) = f γx (ℵ) = e γ ℵ x 2 = e ℵ x 2 σ 2, γ = 1 σ 2 dim(φ(r n )) =?

Kernel Gaussa jest świetny! Co mogłoby pójść nie tak?

K(x, y) = e γ x y 2, γ

http://www.csie.ntu.edu.tw/~cjlin/libsvm/

Mercer s theorem Przypomnienie Theorem K jest kernelem wtw. jest dodatnio półokreślone K : S S R n n K(x i, x j )c i c j 0, c i R, n (N), x i S i=1 j=1

Section 5

Podsumowanie Przypomnienie C jest parametrem odpowiedzialnym za złożoność modelu, im większe C tym większa szansa na overfitting, im mniejsze na underfitting

Podsumowanie Przypomnienie C jest parametrem odpowiedzialnym za złożoność modelu, im większe C tym większa szansa na overfitting, im mniejsze na underfitting Funkcje jądra bardzo istotnie wypływają na dokładność klasyfikacji, im bardziej skomplikowane jądro tym większa szansa na overfitting, w praktyce w NLP najczęściej używa się:

Podsumowanie Przypomnienie C jest parametrem odpowiedzialnym za złożoność modelu, im większe C tym większa szansa na overfitting, im mniejsze na underfitting Funkcje jądra bardzo istotnie wypływają na dokładność klasyfikacji, im bardziej skomplikowane jądro tym większa szansa na overfitting, w praktyce w NLP najczęściej używa się: Jądra liniowego

Podsumowanie Przypomnienie C jest parametrem odpowiedzialnym za złożoność modelu, im większe C tym większa szansa na overfitting, im mniejsze na underfitting Funkcje jądra bardzo istotnie wypływają na dokładność klasyfikacji, im bardziej skomplikowane jądro tym większa szansa na overfitting, w praktyce w NLP najczęściej używa się: Jądra liniowego Jądra wielomianowego stopnia 2

Podsumowanie Przypomnienie C jest parametrem odpowiedzialnym za złożoność modelu, im większe C tym większa szansa na overfitting, im mniejsze na underfitting Funkcje jądra bardzo istotnie wypływają na dokładność klasyfikacji, im bardziej skomplikowane jądro tym większa szansa na overfitting, w praktyce w NLP najczęściej używa się: Jądra liniowego Jądra wielomianowego stopnia 2 Jąder specjalistycznych (kolejny wykład)

Podsumowanie Przypomnienie C jest parametrem odpowiedzialnym za złożoność modelu, im większe C tym większa szansa na overfitting, im mniejsze na underfitting Funkcje jądra bardzo istotnie wypływają na dokładność klasyfikacji, im bardziej skomplikowane jądro tym większa szansa na overfitting, w praktyce w NLP najczęściej używa się: Jądra liniowego Jądra wielomianowego stopnia 2 Jąder specjalistycznych (kolejny wykład) Istotne jest przeskalowanie danych

Podsumowanie Przypomnienie C jest parametrem odpowiedzialnym za złożoność modelu, im większe C tym większa szansa na overfitting, im mniejsze na underfitting Funkcje jądra bardzo istotnie wypływają na dokładność klasyfikacji, im bardziej skomplikowane jądro tym większa szansa na overfitting, w praktyce w NLP najczęściej używa się: Jądra liniowego Jądra wielomianowego stopnia 2 Jąder specjalistycznych (kolejny wykład) Istotne jest przeskalowanie danych Optymalne parametry (jądra i C) dobiera się metodą walidacji krzyżowej

Biblioteki Przypomnienie libsvm (Java, Matlab, Octave, R, Python, Perl, Ruby, Weka, Scilab, LISP, Haskell, OCaml,.NET, CUDA, Labview, C#, PHP) http://www.csie.ntu.edu.tw/~cjlin/libsvm/ SVM light (Perl, Matlab, Python, Ruby,.NET,.DLL, Java, TCP/IP server) http://svmlight.joachims.org/ SVM struct SVM perf SVM rank

Kolejny wykład Przypomnienie Specjalistyczne jądra Podstawowe jądro dla tekstów Jądra semantyczne