24
FILTROWANIE SPAMU Z UŻYCIEM MASZYNY WEKTORÓW WSPIERAJĄCYCH Plan referatu: 1. Wstęp. 2. Maszyny uczące. 3. Ogólnie o SVM. 4. Online SVM. 5. Mapowanie tekstu na wektory wspierające. 6. Historia. 7. Podsumowanie. 8. Bibliografia.

Katedra Informatyki Stosowanej UMK w Toruniuduch/Wyklady/CIS/Prace zalicz/09-Ospara.docx · Web viewmem klasyfikacji zaczęli optymalizować tą metodę, co zaowocowało najskuteczniejszymi

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Katedra Informatyki Stosowanej UMK w Toruniuduch/Wyklady/CIS/Prace zalicz/09-Ospara.docx · Web viewmem klasyfikacji zaczęli optymalizować tą metodę, co zaowocowało najskuteczniejszymi

FILTROWANIE SPAMU Z UŻYCIEM MASZYNY WEKTORÓW WSPIERAJĄCYCH

Plan referatu:

1. Wstęp.

2. Maszyny uczące.

3. Ogólnie o SVM.

4. Online SVM.

5. Mapowanie tekstu na wektory wspierające.

6. Historia.

7. Podsumowanie.

8. Bibliografia.

Page 2: Katedra Informatyki Stosowanej UMK w Toruniuduch/Wyklady/CIS/Prace zalicz/09-Ospara.docx · Web viewmem klasyfikacji zaczęli optymalizować tą metodę, co zaowocowało najskuteczniejszymi

WSTĘP

Elektroniczna komunikacja jest zasypywana dziś milionami niechcianej i mogącej zaszkodzić

treści zwanej potocznie spamem. Najbardziej znaną formą spamu są niepożądane maile,

zaśmiecające nasze wirtualne skrzynki pocztowe. Eskalacja zjawiska jest tak wysoka, że

wiele firm, środowisk akademickich i ośrodków badawczych jest wielce zainteresowana

walką z tą plagą naszych czasów. Dlatego też istnieje wiele pomysłów jak zapobiegać temu

problemowi. Do chwili obecnej badania nad detekcją spamu były skupione na takich

technikach jak: niestacjonarność źródeł danych, proste próbkowanie dyskryminujące w

danych treningowych, niejednostajność w kosztach dekompozycji, tworzenie czarnych list

spamerów, wykrywanie błędów w adresacji źródła wiadomości. Takie i podobne podejścia

nie biorą pod uwagę faktu ewolucji spamu w przeciągu dłuższego okresu czasu, z tego

względu powinniśmy obrać efektywniejszą strategię sprzężoną z procesem uczenia.

Inne, alternatywne podejście to analiza treści wiadomości. Jest to pomysł bardzo

atrakcyjny i obiecujący w zwalczaniu spamu, który daje się łatwo generalizować. W tej

technice wiadomość tekstowa jest analizowana przy użyciu automatycznych technik uczenia

stosowanych do sklasyfikowania treści. Dzięki czemu uzyskujemy informacje czy dana

wiadomość jest pożądana.

Z kolei w dziedzinie doboru najlepszej techniki automatycznego uczenia badacze są

podzieleni na kilka frontów. Wyróżniamy takie mechanizmy jak:

model porównawczy;

logistyczna regresja;

drzewa decyzyjne;

naiwny Bayes;

sieci Bayes’a;

maszyna wektorów wspierających (SVM).

Biorąc pod uwagę czas działania i skuteczność metod wiadomo, że mamy dwa przeciwległe

bieguny. Z jednej strony model porównawczy jest najszybszy ale najmniej skuteczny przy

długoterminowym działaniu, a na drugim końcu mamy skuteczną ale wolną technikę SVM.

Czas wytrenowania tego systemu jest niestety kwadratowy względem liczby przykładów

treningowych, co czyni go mało praktycznym. Ale badacze zajmujący się ogólnym

Page 3: Katedra Informatyki Stosowanej UMK w Toruniuduch/Wyklady/CIS/Prace zalicz/09-Ospara.docx · Web viewmem klasyfikacji zaczęli optymalizować tą metodę, co zaowocowało najskuteczniejszymi

problemem klasyfikacji zaczęli optymalizować tą metodę, co zaowocowało

najskuteczniejszymi odmianami, które przynoszą praktyczne korzyści, także w dziedzinie

walki ze spamem.

plan referatu

MASZYNY UCZĄCE

Zjawisko uczenia się można w ogólnej postaci sprowadzić do estymacji funkcji na podstawie

danych empirycznych. Do rozwiązania tego problemu używano różnych metod indukcyjnych.

Inna forma procesu uczenia się jest zawarta w takim sformułowaniu:

Przyjmujemy w sposób ciągły dane treningowe (pary ( x i , y i )) oraz dane testowe (wektory x j¿) i

celem jest określenie przez maszynę uczącą, posiadającą zbiór funkcji: f ( x , α ) , αϵ Λ

wartości y j¿ dla danych testowych. Innymi słowy chcemy rozwiązać problem estymacji

wartości dla nieznanej funkcji dla danych argumentów. Maszyna Wektorów wspierających

jest jednym z kilku sposobów na rozwiązanie tego problemu.

plan referatu

Page 4: Katedra Informatyki Stosowanej UMK w Toruniuduch/Wyklady/CIS/Prace zalicz/09-Ospara.docx · Web viewmem klasyfikacji zaczęli optymalizować tą metodę, co zaowocowało najskuteczniejszymi

OGÓLNIE O SVM

Maszyna Wektorów Wspierających ( z ang. Support Vector Machine) to system efektywnego

uczenia liniowych klasyfikatorów w wielowymiarowych przestrzeniach atrybutów

generowanych przez funkcję jądra ( z ang. kernel function).

Inaczej: SVM jest matematycznym modelem samonadzorującego i samouczącego się

algorytmu, zdolnym do predykcji.

Aby nie przestraszyć czytelnika, sformalizujmy problem, jaki rozwiązuje SVM w

najprostszym ujęciu, a potem pokażmy w jaki sposób dochodzi do pożądanych rezultatów.

Dane:

S – zbiór N punktów x i ϵ Rd, dla i=1 , 2 ,…, N .

Każdy z x i należy do jednej z dwóch klas: -1 albo 1.

Dla każdego x i przyporządkowane jest więc y i ϵ {−1 , 1}, tzw. etykieta.

Cele:

Wyznaczyć optymalną hiperpłaszczyznę dzielącą S, tak aby punkty jednej klasy były po tej

samej stronie wyznaczonej hiperpłaszczyzny.

Rozwiązanie:

Najprostszym rozwiązaniem tego

problemu jest odnalezienie liniowego

separatora, o ile S jest liniowo

separowalny.

Niezbędne definicje:

Page 5: Katedra Informatyki Stosowanej UMK w Toruniuduch/Wyklady/CIS/Prace zalicz/09-Ospara.docx · Web viewmem klasyfikacji zaczęli optymalizować tą metodę, co zaowocowało najskuteczniejszymi

Zbiór S jest liniowo separowany jeśli istnieje hiperpłaszczyzna w ϵ Rdoraz wektor

przesunięcia b ϵ Rtakie że:

x i ∙ w+b ≥+1 dla yi=+1, (1)

x i ∙w+b≤−1 dla y i=−1, (2)czyli

y i(w ⋅ x i+b)≥1, (3)

dla i=1 , 2 ,…, N .

Para (w, b) definiuje hiperpłaszczyznę o równaniu: w ∙ x i+b=0, (4)która oddziela obydwie klasy punktów dla

i=1 , 2 ,…, N .

Pytania:

1. Która hiperpłaszczyzna najlepiej separuje

dwie klasy zbiorów i dlaczego?

2. Jak odnaleźć żądaną hiperpłaszczyznę „w” z maksymalnym marginesem dla zbiorów

liniowo separowanych?

3. Jaką strategię będzie trzeba przyjąć gdy zbiór S nie będzie liniowo separowany?

4. Jakie do tej pory wymyślono istotne optymalizacje aby SVM mógł rozwiązywać

realne problemy?

Page 6: Katedra Informatyki Stosowanej UMK w Toruniuduch/Wyklady/CIS/Prace zalicz/09-Ospara.docx · Web viewmem klasyfikacji zaczęli optymalizować tą metodę, co zaowocowało najskuteczniejszymi

Odp. do 1.

Dla algorytmu SVM przyjmuje się, iż hiperpłaszczyzna o największym marginesie najlepiej

oddziela dwie klasy zbiorów. Margines jest to odległość hiperpłaszczyzny separującej od

wektorów wspierających. Wektory wspierające są to hiperpłaszczyzny oddzielające dwie

klasy punktów, wspierające się na obu z nich. Na rysunku widać, iż w dwuwymiarowej

przestrzeni wektorami wspierającymi są proste H 1 i H 2, a hiperpłaszczyzną separującą

prosta H. Określmy odległość od H 1 do H 2 w kategorii w i b.

Niech:

x−¿¿będzie punktem w półpłaszczyźnie H 1,

x+¿¿ punktem w półpłaszczyźnie H 2, najbliższym punktem dla x−¿¿ z obszaru

dodatniego.

NiechH 1iH 2przyjmą postać kanoniczną:

o H 1: w ⋅ xi+b=−1 , (5)

o H 2: w ⋅ xi+b=1. (6)

Skoro „ w ” jest wektorem prostopadłym do obu hiperpłaszczyzn H 1 i H 2 to:

x+¿= x−¿+λw¿ ¿. (7)

Długość marginesu określamy wzorem:

M=¿ x+¿−x−¿∨¿ ¿¿. (8)

Obliczamy:

w ∙¿

w ∙ x−¿+b+ λw ∙ w=1=¿ ¿

−1+λw ∙ w=1=¿

λ= 2w ∙ w (9)

Zatem:

M=¿ (10)

Aby uzyskać maksymalny margines chcemy zminimalizować √w ⋅w.

Page 7: Katedra Informatyki Stosowanej UMK w Toruniuduch/Wyklady/CIS/Prace zalicz/09-Ospara.docx · Web viewmem klasyfikacji zaczęli optymalizować tą metodę, co zaowocowało najskuteczniejszymi

Odp. do 2.

Algorytm Optymalnej Hiperpłaszczyzny

Aby skonstruować optymalną hiperpłaszczyznę:

w0 ∙ x+b0=0 ,(11)

separującą zbiór danych treningowych:

( y1 , x1 ) , …, ( y l , x l ) ,

należy zminimalizować funkcjonał:

Φ=w ∙ w, (12)

tak aby spełniona była nierówność:

y i ( xi ∙ w+b ) ≥1 , i=1 ,…, l . (13)

Oby to osiągnąć używamy standardowej techniki optymalizacji.

Konstruujemy Lagrangian:

L (w ,b , Λ )=12

w ∙ w−∑i=1

l

α i [ y i ( x i ∙ w+b )−1 ] , (14)

gdzie ΛT=(α 1 , …, α l) jest wektorem nieujemnych mnożników Lagrange’a, spełniających nierówność (2). Wiadomo, że rozwiązaniem tego problemu optymalizacyjnego jest punkt siodłowy Lagrangian’u w 2 l+1 - wymiarowej przestrzeni, gdzie minimum jest uwzględnione dla parametrów w i b, a

maksimum dla mnożników Lagrange’a Λ.

W punkcie siodła parametry w0 ,b0i Λ powinny spełniać następujące warunki:

[ ∂ L (w ,b , Λ )∂ w ]

w=w0

=(w0−∑i=1

l

αi y i x i)=0 , (15)

[ ∂ L (w ,b , Λ )∂ b ]

b=b0

=∑i=1

l

α i y i=0. (16)

Page 8: Katedra Informatyki Stosowanej UMK w Toruniuduch/Wyklady/CIS/Prace zalicz/09-Ospara.docx · Web viewmem klasyfikacji zaczęli optymalizować tą metodę, co zaowocowało najskuteczniejszymi

Z równości (15) uzyskuje się równość:

w0=∑i=1

l

αi y i x i , (17)

która wyraża fakt, iż optymalna hiperpłaszczyzna będąca rozwiązaniem naszego problemu

może być zapisana jako liniowa kombinacja danych treningowych.

Panowie Kühn i Tucker wymyślili warunek konieczny i wystarczający aby dana

hiperpłaszczyzna stanowiła optymalne rozwiązanie, a mianowicie hiperpł. separująca musi

spełniać warunek:

α i {[ ( x i ∙ w0 )−b0 ] y i−1}=0 , i=1 , …,l . (18)

Podstawiając (16) i (17) do (14) oraz biorąc pod uwagę warunek Kühn’a-Tucker’a

uzyskujemy:

W ( Λ )=∑i=1

l

α i−12∑i=1

l

∑j=1

l

α i α j yi y j xi x j . (19)

Pozostaje zmaksymalizować ten funkcjonał przy spełnionych warunkach:

α i≥ 0 , i=1 , …,l, (20)

oraz:

∑i=1

l

αi y i=0. (21)

W nawiązaniu do (17) mnożniki Lagrange’a i wektory wspierające tworzą optymalną

hiperpłaszczyznę. Dlatego aby ją skonstruować należy rozwiązać prosty problem z

programowania kwadratowego: zmaksymalizować formę kwadratową (19) pod warunkami

(20) i (21).

Trzeba zaznaczyć, iż danymi na wyjściu dla SVM są niewiadome α i i (i=1 , …,l – ilość

wektorów wspierających) oraz b.

W notacji wektorowej może być to przedstawione jak poniżej:

W ( Λ )=ΛT 1−12

ΛT DΛ (22)

Page 9: Katedra Informatyki Stosowanej UMK w Toruniuduch/Wyklady/CIS/Prace zalicz/09-Ospara.docx · Web viewmem klasyfikacji zaczęli optymalizować tą metodę, co zaowocowało najskuteczniejszymi

przy spełnionych warunkach:

ΛT Y =0 , gdzie Y T=( y1 ,…, y l) oraz Λ ≥ 0 , (23)

natomiast 1 jest l- wymiarowym wektorem jednostkowym, a D jest macierzą symetryczną

l ×l o elementach:

Dij=x i x j y i y j . (24)

Odp. do 3.

Przypadek kiedy dane nie są liniowo separowalne.

Kiedy powyższą procedurę będziemy chcieli zastosować do danych liniowo

nieseparowalnych, uznamy za niemożliwe osiągnięcie rozwiązania: Lagrangian będzie mocno

rósł. Jak możemy rozszerzyć nasz algorytm na dane nieseparowalne liniowo. Można rozluźnić

ograniczenie (13), oczywiście tylko wtedy kiedy to konieczne, tak aby określić dodatkowe

parametry dla danych trudno separowanych. Dlatego wprowadzamy luźną zmienną

ξ i ,i=1 , …, l w

ograniczeniu (13) otrzymując:

x i ∙w+b ≥+1−ξ i dla y i=+1, (25) x i ∙w+b≤−1+ξ i dla y i=−1, (26)ξ i>0 , i (27)

Dlatego aby pojawił się błąd, odpowiednie ξ i musi przekroczyć jedność, więc ∑i

ξi jest górną

granicą liczby błędów treningowych. Stąd naturalnym sposobem by uwzględnić dodatkowe

koszty poniesione za błędy jest zmiana funkcji celu z||w||2/2 na:

||w||2/2+C (∑i

ξ i)k , (28)

Page 10: Katedra Informatyki Stosowanej UMK w Toruniuduch/Wyklady/CIS/Prace zalicz/09-Ospara.docx · Web viewmem klasyfikacji zaczęli optymalizować tą metodę, co zaowocowało najskuteczniejszymi

gdzie C jest parametrem wybranym przez użytkownika. Im większy jest ten parametr tym

większe znaczenie przypisuje się współczynnikom błędu. Stoimy w sytuacji gdzie staje się to

problemem programowania na zbiorach wypukłych dla dowolnego dodatniego k ; dla k = 1

albo k = 2 jest to standardowy problem programowania kwadratowego.

Zdefiniujmy problem jaki mamy rozwiązać:

Chcemy zmaksymalizować:

W ( Λ )=∑i=1

l

α i−12∑i=1

l

∑j=1

l

α i α j yi y j xi x j . (29)

dla warunków:

0 ≤ αi ≤ C , (30)

∑i=1

l

αi y i=0. (31)

Rozwiązaniem jest ponownie:

w0=∑i=1

l

αi y i x i (32)

gdzie l liczbą wektorów wspierających. Dlatego jedyną różnicą w porównaniu z poprzednim

problemem (klasyfikacja danych na zbiorze liniowo separowalny) jest taka, iż α imoją teraz

górne ograniczenie w postaci C .

Nieliniowa Maszyna Wektorów Wspierających

Page 11: Katedra Informatyki Stosowanej UMK w Toruniuduch/Wyklady/CIS/Prace zalicz/09-Ospara.docx · Web viewmem klasyfikacji zaczęli optymalizować tą metodę, co zaowocowało najskuteczniejszymi

Jak powyższe metody mogą zostać uogólnione do przypadku kiedy funkcja decyzyjna nie jest

liniową funkcją danych wejściowych? Boser, Guyon i Vapnik (1992) pokazali, iż w tym celu

może być użyta stara sztuczka (Aizerman 1964). Po pierwsze zauważono, że dane w

problemie liniowej separacji zbioru liniowo separowalnego pojawiają się w formie produktu

x i ∙ x j. Więc najpierw załóżmy, że rzutujemy dane wejściowe do innej (możliwe, iż nawet

nieskończenie wymiarowej) przestrzeni Euklidesowej H , używając danej funkcji Φ:

Φ : Rd↦ H . (33)

Wówczas oczywiście algorytm trenowania SVM zależałby wyłącznie od danych wejściowych

poprzez ich produkt w przestrzeni H i przyjmował następującą postać: Φ (xi)∙ Φ (x j). Teraz

gdyby to była funkcja jądra K taka, iż K (x i , x j)=Φ (x i) ∙ Φ(x j) . Potrzebowalibyśmy tej

funkcji K do treningu SVM, bez jakiej kol wiek wiedzy o funkcji Φ. Ważnym przykładem

fun. jądra jest:

K (xi , x j)=e−||x i – x j||

2

2σ 2 (34)

tzw. promieniowa funkcja bazowa. W tym szczególnym przypadku gdy H jest

nieskończonego wymiaru, praca bezpośrednio z Φ nie byłaby prostą sprawą. Jednakże kiedy

zastąpimy produkt x i ∙ x j przez K (x i , x j) w procesie treningu maszyny uczącej, otrzymamy

SVM w przestrzeni nieskończonej, w dodatku w czasie w jakim trening byłby prowadzony na

danych niezmapowanych. Jedyną różnicą co do poprzednich metod klasyfikacji jest faza

testów, w której poprzez SVM obliczamy produkt x i w , a bardziej precyzyjnie znak fun.:

f ( x )=∑i=1

l

αi y iΦ ( xi ) ∙ Φ ( x j )+b=∑i=1

l

αi y i K (x i , x j)+b (35)

gdzie si są wektorami wspierającymi. Podsumowując: Możemy uniknąć bezpośredniego

obliczenia Φ (x) i użyć:

K (si , x)=Φ (si ) ∙Φ ( x ). (36)

Page 12: Katedra Informatyki Stosowanej UMK w Toruniuduch/Wyklady/CIS/Prace zalicz/09-Ospara.docx · Web viewmem klasyfikacji zaczęli optymalizować tą metodę, co zaowocowało najskuteczniejszymi

Czyli nie mogąc ustalić liniowej separacji w danej przestrzeni, przechodzimy do przestrzeni o

większym wymiarze i tam szukamy hiperpłaszczyzny separującej. Przy tym nie musimy

określać operacji przekształcającej cechy z niższego wymiaru w wyższy. Wystarczy znać

funkcję jądra.

plan referatu

ONLINE SVM

Uczenie w trybie bieżącym (a ang. on-line learning) jest ważną dziedziną badań nad

maszynami uczącymi ze względu na teoretyczny i praktyczny wymiar tego zagadnienia.

Proces nauki dokonuje się w kilku próbach. W próbie t algorytm ma na wejściu daną x t ϵ Rn i

Page 13: Katedra Informatyki Stosowanej UMK w Toruniuduch/Wyklady/CIS/Prace zalicz/09-Ospara.docx · Web viewmem klasyfikacji zaczęli optymalizować tą metodę, co zaowocowało najskuteczniejszymi

musi ustalić dla niej etykietę. Następnie wyznaczona etykieta jest porównywana z prawdziwą

i algorytm płaci karę jeżeli predykcja się nie powiodła. Ostatecznym celem algorytmu jest

zminimalizowanie błędów jakie się dokonują podczas jego działania. Aby to osiągnąć

algorytm mógłby uaktualniać swój mechanizm przewidywania po każdej próbie, by w

kolejnych być już bardziej dokładnym.

Częstokroć rozwiązanie przy użyciu klasyfikatora SVM ma niewiele współczynników α i≠ 0 ,

które odpowiadają x i (wektorom wspierającym) i y i (zdefiniowanej funkcji decyzyjnej).

Dlatego zbiór wektorów wspierających dobrze określa charakterystykę całego zbioru

treningowego. Proces trenowania SVM jest kosztowny gdyż wymaga rozwiązania problemu

kwadratowego (QP), lecz jeżeli ograniczymy nasz SVM do wektorów wspierających

(SVs - z ang. support vectors), czas trenowania zostanie znacząco zredukowany przy

jednoczesnej małej stracie precyzji. I to jest właśnie główna idea jaka kryje się za algorytmem

Online SVM.

Wiedza o tym, że niewiele z danych treningowych ostatecznie zostaje wektorami

wspierającymi może się przyczynić do znacznego zmniejszenia tych danych przy ponownym

treningu. Wszystkie pozostałe wektory nie są brane pod uwagę przy kolejnych treningach.

Nazwijmy nasz zbiór wiadomości treningowych dla filtru spamu jako TD. Następnie

wybieramy spośród nich wektory wspierające SV1 i klasyfikujemy nową wiadomość x0. Po

sprawdzeniu prawdziwej etykiety dla wiadomości x0, jeżeli była ona niepoprawna, musimy

przetrenować nasz system dla zbioru SV1 + x0. Teraz ustalamy wektory wspierające ze z SV1

+ x0, nazwane SV2. I znów trenujemy i testujemy filtr. Cała inkrementacja kończy się gdy na

wejściu nie ma żadnych próbek do zbadania.

Online SVM spam filter:

Page 14: Katedra Informatyki Stosowanej UMK w Toruniuduch/Wyklady/CIS/Prace zalicz/09-Ospara.docx · Web viewmem klasyfikacji zaczęli optymalizować tą metodę, co zaowocowało najskuteczniejszymi

1) Inicjalizacja:

Na wejściu SVM daj kilka przykładów ze spamu i dobrych wiadomości.

Przetrenuj SVM.

2) Nauka:

Zaklasyfikuj x i.

Spytaj o prawdziwą etykietę x i.

Jeżeli predykcja była zła, przetrenuj SVM dla S V i+ xi.

3) Koniec:

Powtarzaj cały proces aż próbka xn zostanie przetworzona.

plan referatu

MAPOWANIE TEKSTU NA WEKTORY WSPIERAJĄCE

Parametryzacja tekstu maili na wejściu dla maszyny uczącej może być zrealizowane na wiele

sposobów, zwłaszcza gdy tekst zawiera hipertreść z metadanymi tak jak format HTML, czy

informacje nagłówkowe wiadomości. Wiele badań wykazało, iż porządek słów w tekstach lub

ich formy gramatyczne, mają małe znaczenie dla problemów kategoryzacji. Istotniejszy jest

natomiast współczynnik występowania słów w badanych treściach. Skoro jest to podejście

proste i wydajne traktujmy dokument tekstowy jako zbiór słów, który może być

reprezentowany jako wektor w przestrzeni wielowymiarowej, gdzie każda współrzędna to

ilość wystąpień jednego wybranego tematu słowa występującego w treści wiadomości, czyli:

¿¿ s(1) ,¿ s(2) ,¿s (3),¿ s(4) ,... ,¿ s (n)>¿ (37)

jest reprezentantem treści mail’a, gdzie n – jest liczbą wyszczególnionych tematów słów,

ułożonych leksykograficznie, s(i) – i-ty tematem słowa, a # - prostą funkcją zliczająca ilość

wystąpień danego tematu. Ze względu na możliwość wysokiej wielowymiarowej przestrzeni

cech trzeba dla efektywności zastosować różne metody wyboru najbardziej pożądanych treści

z jednoczesnym wyłączeniem cech niepożądanych. Pierwszą rzeczą jest redukcja wymiarów

Page 15: Katedra Informatyki Stosowanej UMK w Toruniuduch/Wyklady/CIS/Prace zalicz/09-Ospara.docx · Web viewmem klasyfikacji zaczęli optymalizować tą metodę, co zaowocowało najskuteczniejszymi

poprzez usunięcie słów najczęściej pojawiających się w tekstach („i”, „albo”, „że”) i tych

pojawiających się najrzadziej. Następną możliwością jest wybór słów najlepiej opisujących

kategorię niepożądanych treści (100-300 słów), czy treści pożądanych. Często aby uprościć

późniejsze rachunki można zastosować normę euklidesową dla współrzędnych wektorowych

oraz ograniczyć ilość analizowanego tekstu do pewnej liczby pierwszych znaków (np. 3000

znaków).

Sposób dający lepsze rezultaty uwzględnia współczynnik występowania tematów słów dla

całego zbioru dokumentów na wejściu, a mianowicie.

Niech wektor:

d⃗=(d1 , …, d|F|) (38)

będzie reprezentował dokument d . Wtedy waga d i jest ustalana poprzez wzór:

d i=TF (wi , d ) ∙ IDF ( wi ), (39)

gdzie

TF (wi , d ) - (z ang. term frequency – człon częstotliwości) – ilość wystąpień tematu słowa w i

w dokumencie d;

IDF(wi) - (z ang. inverse document frequency- odwrócona częstotliwość dla dokumentów ) –

wyrażona jest wzorem:

IDF(wi)= log¿. (40)

Tu:

¿ D∨¿ - ilość dokumentów;

DF (wi , d) - (z ang. document frequency – częstotliwości w dokumentach) – ilość

dokumentów, w których pojawia się słowo o temacie w i .

Mówiąc w uproszczeniu wzór (39) mówi, iż d i dla tematu w i będzie ważnym

współczynnikiem dla dokumentu d jeżeli występuje w nim często, natomiast jeżeli temat w i

będzie się pojawiał w wielu dokumentach, wówczas IDF będzie malał a temat w i będzie tracił

na znaczeniu jako dana treningowa.

Page 16: Katedra Informatyki Stosowanej UMK w Toruniuduch/Wyklady/CIS/Prace zalicz/09-Ospara.docx · Web viewmem klasyfikacji zaczęli optymalizować tą metodę, co zaowocowało najskuteczniejszymi

plan referatu

HISTORIA

Historia wektorów wspierających w pigułce:

Wczesne lata sześćdziesiąte – została opracowana metoda “support vectors” w celu

konstruowania hiperpłaszczyzn do rozpoznawania obrazu ( Vapnik i Lerner 1963,

Vapnik i Czervonenkis 1964) – liniowa SVM.

Początek lat 90-siątych XX wieku: uogólnienie metody pozwalającej na

konstruowanie nieliniowych funkcji separujących (Boser 1992, Cortes i Vapnik 1995).

1995: dalsze rozszerzenie pozwalające otrzymać estymację funkcji ciągłej na wyjściu

– regresja (Vapnik 1995).

plan referatu

PODSUMOWANIE

Ten referat jest zaledwie wierzchołkiem góry lodowej w dziedzinie badań nad maszynami

uczącymi z wykorzystaniem wektorów wspierających oraz wykorzystania tego mechanizmu do

tworzenia filtrów spamu. Wiele zagadnień i pojęć znacznie poszerzyłoby stronnice tegoż

opracowania, jak np. twierdzenia ze statystycznych teorii estymacji funkcji przez maszyny

uczące Vapnika i Chervonenkisa (VC-wymiar, pokrycie , entropia), ograniczenia na funkcje jądra,

optymalizacje problemu trenowania SVM, rozwiązania problemu QP i ich optymalizacje, wiele

heurystyk na przygotowanie danych do treningu, i na koniec dostrajanie parametrów filtrów dla

uzyskania najwyższego stopnia efektywności.

Page 17: Katedra Informatyki Stosowanej UMK w Toruniuduch/Wyklady/CIS/Prace zalicz/09-Ospara.docx · Web viewmem klasyfikacji zaczęli optymalizować tą metodę, co zaowocowało najskuteczniejszymi

Natomiast niniejsze opracowanie może być dobrą zachętą do dalszych badań w tej dziedzinie lub

testowania wydajnego oprogramowania, w którym zaszyte są kwestie poruszane tutaj, a które

jest wolno-dostępne w serwisach internetowych.

plan referatu

BIBLIOGRAFIA

Vapnik V. (1995-2000). “The Nature of Statistical Learning Theory”-2nd ed. New York, NY: Springer-Verlag.

Burges Ch. J. C. (1998)Artykuł: “A tutorial on Supprot Vector Machines for Pattern Recognition”Microsoft Research

Cortes C.,Vapnik V. (1995)Artykuł: “Support-Vector Networks”AT&T Bell Labs

Thorsten Joachims (2005)Artykuł: “A Probabilistic Analysis of the Rocchio Algorithm with TFIDF for Text Catego-rization”Universität Dortmund Germany

Sculley D., Wachman G. M. (2006)Artykuł: “Relaxed Online SVMs for Spam Filtering”Tufts University USA

Qiang Wang, Yi Guan, Xiaolong Wang (2006)Artykuł: “SVM-Based Spam Filter with Active and Online Learning”Harbin Institute of Technology China

Cybar P., Kluczyński M. (2005)Artykuł: “Support Vector Machines for Text Categorization and Face Detection”Uniwersytet Wrocławski

prof. Greg GrudicWykłady: “Machin Learning”Computer Science Colorado Institute USA

prof. Andrew W. Moore (2003)Wykłady: “Support Vectors Machines”Carnegie Mellon University USA

Page 18: Katedra Informatyki Stosowanej UMK w Toruniuduch/Wyklady/CIS/Prace zalicz/09-Ospara.docx · Web viewmem klasyfikacji zaczęli optymalizować tą metodę, co zaowocowało najskuteczniejszymi

plan referatu