Support Vector Machnes for Text Categorzaton and Face Detecton Potr Cybart Marcn Kluczyńsk Unwersytet Wrocławsk 08.03.2005
Support Vector Machnes Vapnk(1979) S dany zbór N punktów, dla x x R Każdy należy do jednej z dwóch klas: -1 lub 1 x Dla każdego dane jest, tzw. label Emprcal rsk vs. Structural rsk d { 1} y 1, = 1,2,..., N CEL: wyznaczyć optymalną hperpłaszczyznę dzelącą S: Punkty jednej klasy po tej samej strone hperpłaszczyzny Maksymalny margnes dystans pomędzy klasam a hperpłaszczyzną
Optmal Separatng hyperplane Zbór S jest lnowo separowalny jeśl stneje oraz take że: dla = 1,2,..., ( w,b) N y ( < w, x > + b) 1 w R Para defnuje hperpłaszczyznę o równanu < w, x > + b = 0 d b R
Separatng hyperplane
Optmal Separatng Hyperplane
OSH w d - norma x ( w,b) - odległość punktu od hperpłaszczyzny : d = < w, x > + b w Stąd otrzymujemy 1 y d w Węc 1 w - najmnejsza odległość mędzy punktem z S a ( w,b)
OSH S zbór lnowo separowalny ( w,b) Przeskalowane do postac kanoncznej Hperpłaszczyzna jest w postac kanoncznej, jeśl { y ( < w, x > + b) } 1 mn = S Odległość najblższego punktu z S do wynos jest nazywana margnesem (margn) x ( w,b) 1 w
OSH
Rozwązane dla problemów lnowo separowalnych ( w,b) Funkcją klasyfkującą jest hperpłaszczyzna, będąca rozwązanem problemu optymalzacyjnego polegającym na: zmnmalzowanu przy warunku 1 2 < w, w > y ( < w, x > + b) 1 dla = 1,2,..., N Mnmalzacja daje hperpłaszczyznę o maksymalnym margnese
Klasyfkator o maksymalnym margnese Rozwązanem będze problem) gdze L α ( w,b) N 1 = 2 maksymalzujące wyrażene (prmal ( w, b, α ) < w, w > [ y ( < w, x > + b) 1] 0 = 1 α Dual problem (quadratc programmng) N N 1 L( α) = α α α y = 1 2, j= 1 j y j < x, x j >
Rozwązane Rozwązanem optymalzacj jest α, Rozwązana spełnają równane α N w = y α x ( w,b ) = 1 Support vectors punkty o nezerowych leżące w odległośc 1 ( od w, b ) N Klasyfkator - [ ( ) ] y < w, x > + b 1 = 0 f ( x) = yα = 1 < x α, x > + b
Rozwązane dla problemów lnowo neseparowalnych Wprowadzene zmennych rozluźnających (slack varables) mnmalzacja przy warunkach y y 1 2 ( < w, x > + b) 1 < w, w > + C N = 1 ξ ( < w, x > + b) 1 ξ 0 ξ ξ ξ
Dual problem Maksymalzacja wyrażena Przy warunkach = = > < = N N j j j j x x y y L 1 1,, 2 1 ) ( α α α α = = N y 1 0 α 0 α C
Rozwązane Rozwązanem optymalzacj jest α, Rozwązana spełnają równane α N w = y α x ( w,b ) = 1 [ ( ) ] y < w, x > + b 1+ ξ = 0 Support vectors punkty o nezerowych α C margn vector α =C msclassfed f ξ > 1,correctly 0< ξ 1, margn f =0 ξ ( ) C α ξ = 0 α
Funkcje jądrowe przestrzeń cech Przestrzeń cech nelnowe przekształcene przestrzen danych w przestrzeń (feature space), której wymar jest wększy od wymaru przestrzen danych Φ : R d F < x, y > k( x, y) =< Φ( x), Φ( y) Użyce funkcj jądrowych (kernel functons) pozwala na konstrukcję OSH bez mapowana danych wejścowych do przestrzen cech, np. k ( x, y) = ( < x, y > + z) m > Klasyfkator: f N ( x) = yα k( x = 1, x) + b
Feature space
Kernel functons
Archtektura SVM
Usng SVMs for text categorzaton
Text categorzaton Ogromna lość tekstów (reportaże, sprawozdana, male) Zapotrzebowane na sprawne wynajdowane, fltrowane oraz zarządzane tekstem (bazam) Próba segregacj tematycznej przypsane danego tekstu do jednej bądź welu kategor JAK? : Human classfers Yahoo, Dewey, MeSH hand-crafted - CONSTRUE Learnng technques (sem)automatc classfcaton: Multratve regresson Probablstc Bayesan Nearest-neghbor Decson trees Neural networks
Text Classfcaton Process text fles Index Server word counts per fle Fnd smlar data set Feature selecton Learnng Methods Decson tree Nave Bayes Bayes nets Support vector machne test classfer
Learnng Methods Klasyfkator to funkcja: f(x) = confdence(class) z wektora atrybutów x=(x 1,x 2, x d ) do wartośc celu confdence(class) Przykłady klasyfkacj If (nterest AND rate) OR (quarterly),then confdence( nterest category) = 0.9 Confdence( nterest category) = 0.3*nterest + 0.4*rate + 0.7*quarterly; f score >.8, then nterest category SVM podobny do drugego przykładu (wektor wag), lnowy (bez użyca funkcj jądrowych )
Reprezentacja dokumentu Dokument jest reprezentowany jako wektor: słowo1 słowo2 słowo3 słowo4... Doc 1 = <1, 0, 3, 0, > Doc 2 = <0, 1, 0, 0, > Doc 3 = <0, 0, 0, 5, > Najczęścej używane kodowane: bnary weghts, frequency weghts Text może osągać 10 7 lub węcej wymarów
Feature Selecton Word dstrbuton -usunęce najczęścej najrzadzej występujących słów redukcja wymarowośc Wybór słów najlepej opsujących kategore (jednocześne rozróżnających je wzajemne, 100-500) Zpf s law: frequency * rank ~ constant # Words (f) 1 2 3 m Words by rank order (r)
Reuters Data Set (21578 - ModApte splt) www.davddlews.com/resources/ testcollectons/reuters21578/ 12902 artykuły, format SGML 9603 (75%) artykuły uczące; 3299 (25%) artykuły testujące 118 kategor (0 12, średno 1.2 klasyfkacj na artykuł) 102283 różnych słów Średna welkość artykułu: 200 słów (1-3964) Wymar wektora słów: 300 Wektor bnarny (bnary classfcaton) Możlwe zaklasyfkowane artykułu do węcej nż jednaj kategor
Przykład artykułu kategor nterest 2-APR-1987 06:35:19.50 west-germany b f BC-BUNDESBANK-LEAVES-CRE 04-02 0052 FRANKFURT, March 2 The Bundesbank left credt polces unchanged after today's regular meetng of ts councl, a spokesman sad n answer to enqures. The West German dscount rate remans at 3.0 pct, and the Lombard emergency fnancng rate at 5.0 pct. REUTER
Reuters Data Set (21578 - ModApte splt) Najbardzej popularne kategore (#tran, #test) Earn (2877, 1087) Acqustons (1650, 179) Money-fx (538, 179) Gran (433, 149) Crude (389, 189) Trade (369,119) Interest (347, 131) Shp (197, 89) Wheat (212, 71) Corn (182, 56)
Kategora: nterest Przykład wektora wag - w r 0.70 prme 0.67 rate 0.63 nterest 0.60 rates 0.46 dscount 0.43 bundesbank 0.43 baker -0.71 dlrs -0.35 world -0.33 sees -0.25 year -0.24 group -0.24 dlr -0.24 january
Efektywność Truth: Yes Truth: No System: Yes a b System: No c d Mary efektywnośc dla bnary classfcaton error rate = (b+c)/n accuracy = 1 - error rate precson (P) = a/(a+b) recall (R) = a/(a+c) break-even = (P+R)/2 F measure = 2PR/(P+R)
Reuters - Accuracy ((R+P)/2)
Reuters ROC kategora gran Recall 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 LSVM Decson Tree Naïve Bayes Fnd Smlar 0 0.2 0.4 0.6 0.8 1 Precson Recall: % labeled n category among those stores that are really n category Precson: % really n category among those stores labeled n category
ROC acqustons Recall 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 LSVM Decson Tree Naïve Bayes Fnd Smlar 0 0.2 0.4 0.6 0.8 1 Precson
ROC earn Recall 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 LSVM Decson Tree Naïve Bayes Fnd Smlar 0 0.2 0.4 0.6 0.8 1 Precson
ROC money-fx Recall 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 LSVM Decson Tree Naïve Bayes Fnd Smlar 0 0.2 0.4 0.6 0.8 1 Precson
ROC nterest Recall 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 LSVM Decson Tree Naïve Bayes Fnd Smlar 0 0.2 0.4 0.6 0.8 1 Precson
Reuters - Sample Sze (SVM) 100% 10% 5% 1% category samp sz (p+r)/2 samp sz (p+r)/2 samp sz (p+r)/2 samp sz (p+r)/2 0-acq 2876 98.3% 281 97.8% 145 97.4% 35 93.6% 1-earn 1650 97.0% 162 94.6% 80 90.4% 14 65.6% 3-money-fx 538 80.2% 55 66.3% 28 63.9% 3 41.9% 4-gran 433 95.9% 46 91.5% 21 87.0% 3 50.3% 5-crude 389 90.4% 45 82.9% 18 76.9% 3?? 6-trade 369 80.9% 40 78.2% 21 76.4% 2 12.0% 7-nterest 347 79.9% 32 68.4% 17 55.3% 2 50.8% 8-shp 197 85.5% 20 57.4% 11 53.9% 2?? 9-wheat 212 92.5% 24 84.8% 11 65.7% 2 50.7% 10-corn 182 93.0% 23 78.2% 9 60.3% 1 50.9% mcrotop10 93.9% 89.7% 86.0% 70.3%
Reuters Summary Accurate classfers can be learned automatcally from tranng examples Lnear SVMs provde very good classfcaton accuracy Better than best prevously reported results for ths test collecton Wdely applcable, flexble, and adaptable representatons
Reuters - 21578 Elmnacja kategor o małej lczbe dokumentów (<10) Elmnacja dokumentów ne przypsanych do żadnej kategor Elmnacja dokumentów źle przypsanych Pozostało 11327 dokumantów, 63 kategore KSS Knowledge System Server IQ - Informaton Quotent (współczynnk nformacj - próg)
Artfcal Neural Network
Test
MacroAveragng Recall precson oddzelne dla każdej kategor Uśrednene wynków
McroAveragng Recall precson dla wszystkch kategor razem
Combned measure F = P*R/(P + R)
Face Detecton
Zagadnene Rozpoznawane twarzy na statycznym zdjęcu Twarze zwrócone na wprost Twarze zorentowane ponowo
Aplkacja Zdjęca w skal szarośc Różne warunk ośwetlenowe Różna skala Odporna na cene
Problemy Różne pochodzene zdjęć: - vdeo - zeskanowane - aparat cyfrowy Czy na zdjęcu są twarze? W którym mejscu? Jak je lokalzować? Jak sparametryzować twarz?
Zastosowana Metoda może znaleźć zastosowane w nnych problemach: - Defekty w strukturze częśc - Wykrywane guzów w MRI rezonanse magnetycznym - Inne problemy odnajdowane cech
Dotychczasowe prace Rowley, Satka połączonych sec neuronowych różne dane do nauk tak aby otrzymać różne wag sec Sung Poggo, skupane łączene róznych systemów mar: Mahalanobs Dstance - opera sę na użycu macerzy kowarancj Eukldesowa http://216.239.59.104/search?q=cache:vt3yuhsjdlqj:b olog.uo.no/fellesavdelnger/fnse/spatalstats/mahalano bs%2520dstance.ppt+mahalanobs+dstance&hl=pl http://www.cp.ucl.ac.be/~opperd/prvate/bootstrap.html
Dzałane System znajduje twarze poprzez wyczerpujące skanowane zdjęca w poszukwanu face-lke fragmentów, dzeląc przy tym obraz na nakładające sę zdjęca przeprowadzając klasyfkację wykorzystując SVM by przydzelć do jednej z klas twarz lub ne-twarz
Baza danych składa sę z wzorców 19*19 pksel przypsanych do klasy -1 +1 Jednorodne welomanowe (drugego stopna) funkcje jądrowe
Przygotowane danych Maskng: usunęce pksel blsko okna zmnejszene wymarowośc danych z 361 do 283 punktów. Zmnejszene nepotrzebnych zakłóceń pochodzących z tła Illumnaton gradent correcton: redukcja cen lub za dużej jasnośc Hstogram equalzaton: wyrównywane różnc we wzorcach różnca jasnośc ośwetlena, różna czułość kamer
System przechowuje przykłady obektów z klasy ne-twarz, obekty błędne sklasyfkowane, drzewa, budynk, skały. - Pommo obftośc takch przykładów, warto je przechowywać bo są trudne do scharakteryzowana zdefnowana
Przykładowy podzał zdjęca na fragmenty. System przechowuje równeż obekty źle sklasyfkowane
Geometryczna nterpretacja jak SVM rozdzela dwe klasy
Przebeg dzałana systemu
Wynk Zbór A 313 wysokej jakośc zdjęć z taką samą loścą twarzy na każdym - 4,669,960 wyróżnonych obszarów Zbór B 23 zdjęca różnej jakośc zawerających 155 twarzy - 5,383,682 wyróżnonych obszarów
Wynk porównano z pracą Sunga Poggo
System czasu rzeczywstego Kod w C Pentum 200 Matrox RGB frame grabber System osągnął wydajność 4-5 klatek/s
Implementacja SVM
Programowane kwadratowe Q macerz N*N, welkość zależy od lośc wektorów trenngowych Mnmalzowana funkcja zależy kwadratowo od α podczas gdy α występuje lnowo Problem KKT (Karush-Kuhn-Tucker) problem stnena α spełnających powyższe warunk
W rzeczywstych problemach macerz Q może być bardzo duża. Dla 60000 próbek, macerz Q składa sę z 3,600,000,000 elementów. Zbyt duża welkość by zmeścła sę w pamęc komputera Zbyt duży czas oblczeń
Metody odwołujące sę do pojedynczych werzy kolumn wykonujące pojedyncze operacje na dodatkowych wyszukanych strukturach danych Metody dzelące macerz Q problem QP na mnejsze podproblemy
Chunkng by Vapnk Usuwane werszy kolumn macerzy Q odpowadających zerowym α Znalezene wszystkch nezerowych α W każdym kroku brane są pod uwagę wszystke nezerowe α oraz te, które najbardzej naruszyły warunek mnmalnośc Rozmar macerzy zwększa sę z każdym krokem W ostatnm kroku otrzymujemy rozwązane problemu QP Jednak należy pamętać, że kolejne krok dzałają na dużej macerzy, która może sę ne zmeścć w pamęc
Edgard Osuna Podzał problemu SVM QP na mnejsze podproblemy Za każdym razem dodawana jest jedna α naruszająca warunek KKT Stała welkość macerzy dla każdego podproblemu QP Dodawane usuwane tej samej lczby przykładów Take podejśce gwarantuje zbegane do optymalnego wynku Algorytm ne jest najszybszy, Osuna zaleca dodawane usuwane po jednym przykładze W praktyce każdy używa swojej, nepublkowanej heurystyk
Powyższe dwa podejśca wymagają posadane paketu QP Jest to drog paket Napsane go samemu wymaga soldnych podstaw numerycznych matematycznych
SMO sequental mnmal optmzaton Ne potrzebuje dodatkowej pamęc Ne korzysta z paketu QP SMO podobne jak poprzedno rozbja problem na mnejsze SMO rozwązuje najmnejsze możlwe poproblemy QP czyl te składające sę z dwóch α Następne uaktualna SVM o znalezone wartośc Znalezene dwóch α ne wymaga użyca paketu QP może być rozwązane analtyczne Można napsać kawałek kodu w C co znaczne przyspeszy ogólny czas dzałana po co używać całych bblotek QP do małego zadana