Support Vector Machines (jemný úvod)

Podobné dokumenty
Optimální rozdělující nadplocha 4. Support vector machine. Adaboost.

Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů)

Lineární diskriminační funkce. Perceptronový algoritmus.

Úvod do optimalizace, metody hladké optimalizace

Strojové učení Marta Vomlelová

Marta Vomlelová

KLASIFIKACE DOKUMENTŮ PODLE TÉMATU

Fakulta informačních technologií VUT Brno. Předmět: Srovnání klasifikátorů Autor : Jakub Mahdal Login: xmahda03 Datum:

Lineární klasifikátory

Kybernetika a umělá inteligence, cvičení 10/11

Implementace a testování SVM Implementation and testing of SVM

Některé potíže s klasifikačními modely v praxi. Nikola Kaspříková KMAT FIS VŠE v Praze

Klasifikace a rozpoznávání

Úloha - rozpoznávání číslic

FIT ČVUT MI-LOM Lineární optimalizace a metody. Dualita. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Operační výzkum. Teorie her. Řešení maticových her převodem na úlohu LP.

Moderní systémy pro získávání znalostí z informací a dat

Preceptron přednáška ze dne

APLIKACE. Poznámky Otázky

Matice. Předpokládejme, že A = (a ij ) je matice typu m n: diagonálou jsou rovny nule.

Data Envelopment Analysis (Analýza obalu dat)

Bayesovská klasifikace digitálních obrazů

Teorie her a ekonomické rozhodování. 2. Maticové hry

Přednáška 13 Redukce dimenzionality

UČENÍ BEZ UČITELE. Václav Hlaváč

13. Lineární programování

5. Lokální, vázané a globální extrémy

Lineární programování

VZTAH MEZI STATISTICKÝM A STRUKTURNÍM ROZPOZNÁVÁNÍM

Strojové učení Marta Vomlelová

4EK212 Kvantitativní management. 2. Lineární programování

Jsou inspirovány poznatky o neuronech a nervových sítích živých organizmů a jejich schopnostmi:

Úvod do lineární algebry

- funkce, které integrujete aproximujte jejich Taylorovými řadami a ty následně zintegrujte. V obou případech vyzkoušejte Taylorovy řady

Lineární algebra : Změna báze

transformace je posunutí plus lineární transformace má svou matici vzhledem k homogenním souřadnicím [1]

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra kybernetiky

Klasifikace a rozpoznávání. Umělé neuronové sítě a Support Vector Machines

Apriorní rozdělení. Jan Kracík.

přetrénování = ztráta schopnosti generalizovat vlivem přílišného zaměření klasifikátorů na rozeznávání pouze konkrétních trénovacích dat

Rozpoznávání v obraze

Symetrické a kvadratické formy

Matice. Je dána matice A R m,n, pak máme zobrazení A : R n R m.

3. ANTAGONISTICKÉ HRY

1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004.

Interpolace, ortogonální polynomy, Gaussova kvadratura

BRNO UNIVERSITY OF TECHNOLOGY FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS BACHELOR S THESIS MARTIN HLOSTA AUTHOR

Jsou inspirovány poznatky o neuronech a nervových sítích živých organizmů a jejich schopnostmi:

Už bylo: Učení bez učitele (unsupervised learning) Kompetitivní modely

Větná polarita v češtině. Kateřina Veselovská Žďárek Hořovice,

Úvod do kvantového počítání

Klasifikace dlouhodobých EEG záznamů

Klasifikační metody pro genetická data: regularizace a robustnost

Systémové modelování. Ekonomicko matematické metody I. Lineární programování

Západočeská univerzita v Plzni. Fakulta aplikovaných věd. Ivana Kozlová. Modely analýzy obalu dat

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Testování hypotéz o parametrech regresního modelu

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma

Klasifikace a rozpoznávání. Lineární klasifikátory

Dnes budeme učit agenty, jak zlepšit svůj

Úvod do teorie her

7 Konvexní množiny. min c T x. při splnění tzv. podmínek přípustnosti, tj. x = vyhovuje podmínkám: A x = b a x i 0 pro každé i n.

Lineární algebra : Metrická geometrie

Numerické metody: aproximace funkcí

13.1. Úvod Cílem regresní analýzy je popsat závislost hodnot znaku Y na hodnotách

ANTAGONISTICKE HRY 172

Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Lineární algebra : Skalární součin a ortogonalita

Klasifikace a rozpoznávání

1 Linearní prostory nad komplexními čísly

M5170: Matematické programování

Automatické vyhledávání informace a znalosti v elektronických textových datech

ANALÝZA A KLASIFIKACE DAT

Obyčejnými diferenciálními rovnicemi (ODR) budeme nazývat rovnice, ve kterých

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Pokročilé neparametrické metody. Klára Kubošová

Lineární algebra : Skalární součin a ortogonalita

VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY

Lineární zobrazení. 1. A(x y) = A(x) A(y) (vlastnost aditivity) 2. A(α x) = α A(x) (vlastnost homogenity)

Přednáška 3: Limita a spojitost

Kapitola 11: Vektory a matice:

dat Robust ledna 2018

Státnicová otázka 6, okruh 1

Operační výzkum. Teorie her. Hra v normálním tvaru. Optimální strategie. Maticové hry.

12. Globální metody MI-PAA

PRIMITIVNÍ FUNKCE. Primitivní funkce primitivní funkce. geometrický popis integrály 1 integrály 2 spojité funkce konstrukce prim.

0.1 Úvod do lineární algebry

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ

Získávání znalostí z dat

Četba: Texty o lineární algebře (odkazy na webových stránkách přednášejícího).

Neparametrické odhady hustoty pravděpodobnosti

Literatura: O. Zindulka: Matematika 3 (kapitola 4, kapitola 5)

3. Přednáška: Line search

4EK201 Matematické modelování. 2. Lineární programování

Vlastní číslo, vektor

Matematika pro informatiky

Statistické metody v digitálním zpracování obrazu. Jindřich Soukup 3. února 2012

[1] LU rozklad A = L U

Numerická stabilita algoritmů

Transkript:

Support Vector Machines (jemný úvod)

Osnova Support Vector Classifier (SVC) Support Vector Machine (SVM) jádrový trik (kernel trick) klasifikace s měkkou hranicí (soft-margin classification) hledání optimálních parametrů

Formulace úlohy dáno: {x i, y i } n i=1 x i R p příznaky y i { 1, 1} třídy úloha: klasifikovat nové x R p do třídy 1 nebo 1

Motivace která přímka nejlépe odděluje instance daných dvou tříd?

Motivace která přímka nejlépe odděluje instance daných dvou tříd?

Přístup Support Vector Classifier (SVC) rozhodovací funkce f (x) = sign(w x + b)

Přístup SVC (2) myšlenka: maximalizace hranice o šířce d = 2 w

Přístup SVC (2) myšlenka: maximalizace hranice o šířce d = 2 w za podmínky správné klasifikace: w x i + b +1, když y i = +1 w x i + b 1, když y i = 1

Formulace optimalizační úlohy argmax w,b { 2 w } za podmínky správné klasifikace: w x i + b +1, když y i = +1 w x i + b 1, když y i = 1 nebo ekvivalentně: y(w x i + b) 1

Formulace optimalizační úlohy argmax w,b { 2 w } za podmínky správné klasifikace: w x i + b +1, když y i = +1 w x i + b 1, když y i = 1 nebo ekvivalentně: y(w x i + b) 1 ekvivalentně (formulace 1): argmin w,b { 1 2 w 2 } za podmínky správné klasifikace: y i (w x i + b) 1

Formulace optimalizační úlohy argmax w,b { 2 w } za podmínky správné klasifikace: w x i + b +1, když y i = +1 w x i + b 1, když y i = 1 nebo ekvivalentně: y(w x i + b) 1 ekvivalentně (formulace 1): argmin w,b { 1 2 w 2 } za podmínky správné klasifikace: y i (w x i + b) 1 ekvivalentně (chce se zbavit omezení) (formulace 2): L p = 1 2 w 2 n i=1 α i[(w x i + b)y i 1] L p = 1 2 w 2 n i=1 α i[(w x i + b)y i ] + n i=1 α i argmin w,b L p za podmínky: α i 0 α i - Lagrangeovy multiplikátory

Formulace optimalizační úlohy Primární a duální úloha L p = 1 2 w 2 n i=1 α i[(w x i + b)y i ] + n argmin w,b L p (za podmínky α i 0) i=1 α i

Formulace optimalizační úlohy Primární a duální úloha L p = 1 2 w 2 n i=1 α i[(w x i + b)y i ] + n argmin w,b L p (za podmínky α i 0) Lze ukázat: i=1 α i argmin w,b L p za podm. C 1 argmax w,b L p za podm. C 2 C 1 : Lp α i C 2 : Lp w = 0, α i 0 (odpovídá podm. správné klasifikace) = 0, Lp b = 0, α i 0

Formulace optimalizační úlohy Primární a duální úloha L p = 1 2 w 2 n i=1 α i[(w x i + b)y i ] + n argmin w,b L p (za podmínky α i 0) Lze ukázat: i=1 α i argmin w,b L p za podm. C 1 argmax w,b L p za podm. C 2 C 1 : Lp α i = 0, α i 0 (odpovídá podm. správné klasifikace) C 2 : Lp Lp w = 0, b = 0, α i 0 Hledám extrém L p : L p w = w n i=1 α ix i y i = 0

Formulace optimalizační úlohy Primární a duální úloha L p = 1 2 w 2 n i=1 α i[(w x i + b)y i ] + n argmin w,b L p (za podmínky α i 0) Lze ukázat: i=1 α i argmin w,b L p za podm. C 1 argmax w,b L p za podm. C 2 C 1 : Lp α i = 0, α i 0 (odpovídá podm. správné klasifikace) C 2 : Lp Lp w = 0, b = 0, α i 0 Hledám extrém L p : L p w = w n i=1 α ix i y i = 0 w = n i=1 α ix i y i

Formulace optimalizační úlohy Primární a duální úloha L p = 1 2 w 2 n i=1 α i[(w x i + b)y i ] + n argmin w,b L p (za podmínky α i 0) Lze ukázat: i=1 α i argmin w,b L p za podm. C 1 argmax w,b L p za podm. C 2 C 1 : Lp α i = 0, α i 0 (odpovídá podm. správné klasifikace) C 2 : Lp Lp w = 0, b = 0, α i 0 Hledám extrém L p : L p w = w n i=1 α ix i y i = 0 w = n i=1 α ix i y i = n i=1 α iy i = 0 L p b

Formulace optimalizační úlohy Primární a duální úloha L p = 1 2 w 2 n i=1 α i[(w x i + b)y i ] + n argmin w,b L p (za podmínky α i 0) Lze ukázat: i=1 α i argmin w,b L p za podm. C 1 argmax w,b L p za podm. C 2 C 1 : Lp α i = 0, α i 0 (odpovídá podm. správné klasifikace) C 2 : Lp Lp w = 0, b = 0, α i 0 Hledám extrém L p : L p w = w n i=1 α ix i y i = 0 w = n i=1 α ix i y i L p b = n i=1 α iy i = 0 Substitucí do L p získáme duální úlohu: L d = n i=1 α i 1 2 i,j α iα j x i x j y i y j argmax αi L d (za podmínky α i 0)

Optimalizační úlohy Rekapitulace formulace 1: argmin w,b { 1 2 w 2 } (za podm.: y i (w x i + b) 1)

Optimalizační úlohy Rekapitulace formulace 1: argmin w,b { 1 2 w 2 } (za podm.: y i (w x i + b) 1) p + 1 parametrů, n lin. omezení

Optimalizační úlohy Rekapitulace formulace 1: argmin w,b { 1 2 w 2 } (za podm.: y i (w x i + b) 1) p + 1 parametrů, n lin. omezení formulace 2: L p = 1 2 w 2 n i=1 α i[(w x i + b)y i ] + n i=1 α i argmin w,b L p (za podmínky α i 0)

Optimalizační úlohy Rekapitulace formulace 1: argmin w,b { 1 2 w 2 } (za podm.: y i (w x i + b) 1) p + 1 parametrů, n lin. omezení formulace 2: L p = 1 2 w 2 n i=1 α i[(w x i + b)y i ] + n i=1 α i argmin w,b L p (za podmínky α i 0) p + 1 parametrů, n omezení

Optimalizační úlohy Rekapitulace formulace 1: argmin w,b { 1 2 w 2 } (za podm.: y i (w x i + b) 1) p + 1 parametrů, n lin. omezení formulace 2: L p = 1 2 w 2 n i=1 α i[(w x i + b)y i ] + n i=1 α i argmin w,b L p (za podmínky α i 0) p + 1 parametrů, n omezení formulace 3: L d = n i=1 α i 1 2 i,j α iα j x i x j y i y j argmax αi L d (za podmínky α i 0)

Optimalizační úlohy Rekapitulace formulace 1: argmin w,b { 1 2 w 2 } (za podm.: y i (w x i + b) 1) p + 1 parametrů, n lin. omezení formulace 2: L p = 1 2 w 2 n i=1 α i[(w x i + b)y i ] + n i=1 α i argmin w,b L p (za podmínky α i 0) p + 1 parametrů, n omezení formulace 3: L d = n i=1 α i 1 2 i,j α iα j x i x j y i y j argmax αi L d (za podmínky α i 0) n parametrů, n omezení

Optimalizační úlohy Rekapitulace formulace 1: argmin w,b { 1 2 w 2 } (za podm.: y i (w x i + b) 1) p + 1 parametrů, n lin. omezení formulace 2: L p = 1 2 w 2 n i=1 α i[(w x i + b)y i ] + n i=1 α i argmin w,b L p (za podmínky α i 0) p + 1 parametrů, n omezení formulace 3: L d = n i=1 α i 1 2 i,j α iα j x i x j y i y j argmax αi L d (za podmínky α i 0) n parametrů, n omezení data x i vystupují pouze ve formě součinů x i x j

Optimalizační úlohy Rekapitulace formulace 1: argmin w,b { 1 2 w 2 } (za podm.: y i (w x i + b) 1) p + 1 parametrů, n lin. omezení formulace 2: L p = 1 2 w 2 n i=1 α i[(w x i + b)y i ] + n i=1 α i argmin w,b L p (za podmínky α i 0) p + 1 parametrů, n omezení formulace 3: L d = n i=1 α i 1 2 i,j α iα j x i x j y i y j argmax αi L d (za podmínky α i 0) n parametrů, n omezení data x i vystupují pouze ve formě součinů x i x j většina α i nulových, α i = 1 > 0 právě pro support vectors

Řešení optimalizační úlohy Rozhodovací funkce f (x) = sign(w x + b) w = n i=1 α ix i y i

Řešení optimalizační úlohy Rozhodovací funkce f (x) = sign(w x + b) w = n i=1 α ix i y i jak získat b?

Řešení optimalizační úlohy Rozhodovací funkce f (x) = sign(w x + b) w = n i=1 α ix i y i jak získat b? pro lib. support vector: y i (w x i + b) = 1 b = 1 y i w x i

Řešení optimalizační úlohy Rozhodovací funkce f (x) = sign(w x + b) w = n i=1 α ix i y i jak získat b? pro lib. support vector: y i (w x i + b) = 1 b = 1 y i w x i prakticky: b = P i,α i >0 ( 1 y i w x i ) P αi

Řešení optimalizační úlohy Rozhodovací funkce f (x) = sign(w x + b) w = n i=1 α ix i y i jak získat b? pro lib. support vector: y i (w x i + b) = 1 b = 1 y i w x i prakticky: b = P i,α i >0 ( 1 y i w x i ) P αi tedy konečně dostáváme: f (x) = sign( n i=1 α iy i x i x + b)

Trik s jádrem (Kernel trick) Rozhodovací funkce: f (x) = sign( n i=1 α iy i x i x + b)

Trik s jádrem (Kernel trick) Rozhodovací funkce: f (x) = sign( n i=1 α iy i x i x + b) Pozorování: příznaky x se vyskytují pouze ve formě skalárním součinu: x i x

Trik s jádrem (Kernel trick) Rozhodovací funkce: f (x) = sign( n i=1 α iy i x i x + b) Pozorování: příznaky x se vyskytují pouze ve formě skalárním součinu: x i x skalární součin x 1 x 2 lze nahradit jádrem K (x 1, x 2 )

Trik s jádrem (Kernel trick) Rozhodovací funkce: f (x) = sign( n i=1 α iy i x i x + b) Pozorování: příznaky x se vyskytují pouze ve formě skalárním součinu: x i x skalární součin x 1 x 2 lze nahradit jádrem K (x 1, x 2 ) K (x 1, x 2 ) = φ(x 1 ) φ(x 2 )

Trik s jádrem (Kernel trick) Rozhodovací funkce: f (x) = sign( n i=1 α iy i x i x + b) Pozorování: příznaky x se vyskytují pouze ve formě skalárním součinu: x i x skalární součin x 1 x 2 lze nahradit jádrem K (x 1, x 2 ) K (x 1, x 2 ) = φ(x 1 ) φ(x 2 ) jádro může realizovat operaci odpovídající skalárnímu součinu ve vysokorozměrném prostoru

Trik s jádrem (Kernel trick) Rozhodovací funkce: f (x) = sign( n i=1 α iy i x i x + b) Pozorování: příznaky x se vyskytují pouze ve formě skalárním součinu: x i x skalární součin x 1 x 2 lze nahradit jádrem K (x 1, x 2 ) K (x 1, x 2 ) = φ(x 1 ) φ(x 2 ) jádro může realizovat operaci odpovídající skalárnímu součinu ve vysokorozměrném prostoru použitím jádra se z SVC stávají SVM

Trik s jádrem (Kernel trick) Rozhodovací funkce: f (x) = sign( n i=1 α iy i x i x + b) Pozorování: příznaky x se vyskytují pouze ve formě skalárním součinu: x i x skalární součin x 1 x 2 lze nahradit jádrem K (x 1, x 2 ) K (x 1, x 2 ) = φ(x 1 ) φ(x 2 ) jádro může realizovat operaci odpovídající skalárnímu součinu ve vysokorozměrném prostoru použitím jádra se z SVC stávají SVM Používaná jádra: polynomiální: K (x 1, x 2 ) = (x 1 x 2 + 1) q Gaussian radial-basis function (RBF): K (x 1, x 2 ) = exp{ x 1 x 2 2 2σ 2 } hyperbolický tangens: K (x 1, x 2 ) = tanh{β 1 x 1 x 2 + β 2 }

Trik s jádrem (Kernel trick) Příklad Polynomiální jádro stupně q = 2: K (x, y) = (x y + 1) 2, x, y R 2 operuje v prostoru R 6 :

Trik s jádrem (Kernel trick) Příklad Polynomiální jádro stupně q = 2: K (x, y) = (x y + 1) 2, x, y R 2 operuje v prostoru R 6 : x φ(x) = {x 2 1, x 2 2, 2x 1 x 2, 2x 1, 2x 2, 1}

Trik s jádrem (Kernel trick) Příklad Polynomiální jádro stupně q = 2: K (x, y) = (x y + 1) 2, x, y R 2 operuje v prostoru R 6 : x φ(x) = {x 2 1, x 2 2, 2x 1 x 2, 2x 1, 2x 2, 1} y φ(y) = {y 2 1, y 2 2, 2y 1 y 2, 2y 1, 2y 2, 1}

Trik s jádrem (Kernel trick) Příklad Polynomiální jádro stupně q = 2: K (x, y) = (x y + 1) 2, x, y R 2 operuje v prostoru R 6 : x φ(x) = {x 2 1, x 2 2, 2x 1 x 2, 2x 1, 2x 2, 1} y φ(y) = {y 2 1, y 2 2, 2y 1 y 2, 2y 1, 2y 2, 1} φ(x) φ(y) = x 2 1 y 2 1 + x 2 2 y 2 2 + 2x 1x 2 y 1 y 2 + 2x 1 y 1 + 2x 2 y 2 + 1

Trik s jádrem (Kernel trick) Příklad Polynomiální jádro stupně q = 2: K (x, y) = (x y + 1) 2, x, y R 2 operuje v prostoru R 6 : x φ(x) = {x 2 1, x 2 2, 2x 1 x 2, 2x 1, 2x 2, 1} y φ(y) = {y 2 1, y 2 2, 2y 1 y 2, 2y 1, 2y 2, 1} φ(x) φ(y) = x 2 1 y 2 1 + x 2 2 y 2 2 + 2x 1x 2 y 1 y 2 + 2x 1 y 1 + 2x 2 y 2 + 1 (x y + 1) 2 = (x 1 y 1 + x 2 y 2 + 1) 2 = x 2 1 y 2 1 + x 2 2 y 2 2 + 1 + 2x 1x 2 y 1 y 2 + 2x 1 y 1 + 2x 2 y 2

Ukázka jader

Klasifikace s měkkou hranicí Soft-margin classification Motivace: Řešení: Jak: třídy nemusejí být oddělitelné přesto chceme SVM použít dovolit SVM udělat malou chybu argmin w,b { 1 2 w 2 } +C n i=1 ξ i za podm. téměř správné klasifikace: y i (w x i + b) 1 ξ i C představuje regularizační konstantu C = odpovídá původní formulaci separabilní úlohy C se hledá nejčastěji pomocí křížové validace

SVM v praxi fungují velmi dobře časová složitost trénování: O(n 2 ) uživatel volí typ jádra a parametry parametry se hledají typicky křížovou validací po natrénování si stačí pamatovat support vectors

Klasifikace do více tříd SVM umí rozlišovat jen do dvou tříd možná řešení klasifikace do K tříd: jeden proti všem : K úloh: klasifikace třídy k proti zbytku, vítěz bere vše K (K 1) jeden na jednoho : 2 úloh: klasifikace třídy k 1 proti k 2, hlasování

Rozšíření SVM SVM regression detekce nečekaných pozorování novelty detection

Literatura Christopher J.C. Burges: A Tutorial on Support Vector Machines for Pattern Recognition, Data Mining and Knowledge Discovery (1998), volume 2, p.121-167. Hastie T., Tibshirani R., Friedman J.: The Elements of Statistical Learning, Springer New York Inc., 2001, New York, NY, USA, http://statweb.stanford.edu/ tibs/elemstatlearn/