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

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

7. Maszyny wektorów podpierajacych SVMs

Programowanie liniowe

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

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

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:

SVM: Maszyny Wektorów Podpieraja cych

Elementy modelowania matematycznego


WYKŁAD 9 METODY ZMIENNEJ METRYKI

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

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

Aproksymacja funkcji a regresja symboliczna

Algebry skończonego typu i formy kwadratowe

Agnieszka Nowak Brzezińska Wykład III

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

Algorytmy klasteryzacji jako metoda dyskretyzacji w algorytmach eksploracji danych. Łukasz Przybyłek, Jakub Niwa Studenckie Koło Naukowe BRAINS

Agnieszka Nowak Brzezińska Wykład III

Problem eliminacji nieprzystających elementów w zadaniu rozpoznania wzorca Marcin Luckner

komputery? Andrzej Skowron, Hung Son Nguyen Instytut Matematyki, Wydział MIM, UW

Elementy Modelowania Matematycznego

Definicja problemu programowania matematycznego

Elementy Modelowania Matematycznego Wykład 7 Programowanie nieliniowe i całkowitoliczbowe

5. Analiza dyskryminacyjna: FLD, LDA, QDA

ALGORYTM RANDOM FOREST

Wykład z równań różnicowych

3. Macierze i Układy Równań Liniowych

Układy równań i nierówności liniowych

Wprowadzenie do programu RapidMiner Studio 7.6, część 4 Michał Bereta

SPOTKANIE 2: Wprowadzenie cz. I

Elementy Modelowania Matematycznego

Text mining w programie RapidMiner Michał Bereta

10. Redukcja wymiaru - metoda PCA

ZAGADNIENIA PROGRAMOWANIA LINIOWEGO

Wielokryteriowa optymalizacja liniowa cz.2

1 Układy równań liniowych

Metody Sztucznej Inteligencji II

Zagadnienia optymalizacji i aproksymacji. Sieci neuronowe.

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Znaleźć wzór ogólny i zbadać istnienie granicy ciągu określonego rekurencyjnie:

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

Układy równań liniowych

Uzupełnienia dotyczące zbiorów uporządkowanych (3 lutego 2011).

Systemy pomiarowo-diagnostyczne. Metody uczenia maszynowego wykład I dr inż. 2015/2016

Ekonometria - ćwiczenia 10

Klasyfikacja LDA + walidacja

Document: Exercise*02*-*manual /11/ :31---page1of8 INSTRUKCJA DO ĆWICZENIA NR 2

3. FUNKCJA LINIOWA. gdzie ; ół,.

Funkcje wymierne. Funkcja homograficzna. Równania i nierówności wymierne.

A Zadanie

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Systemy uczące się Lab 4

Treść wykładu. Układy równań i ich macierze. Rząd macierzy. Twierdzenie Kroneckera-Capellego.

========================= Zapisujemy naszą funkcję kwadratową w postaci kanonicznej: 2

0 + 0 = 0, = 1, = 1, = 0.

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

Kodowanie i kompresja Tomasz Jurdziński Studia Wieczorowe Wykład Kody liniowe - kodowanie w oparciu o macierz parzystości

Metoda Karusha-Kuhna-Tuckera

Programowanie celowe #1

Widzenie komputerowe (computer vision)

PROGRAMOWANIE KWADRATOWE

ZAGADNIENIE TRANSPORTOWE

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

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

Programowanie liniowe

Metoda graficzna może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład):

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

wszystkich kombinacji liniowych wektorów układu, nazywa się powłoką liniową uk ładu wektorów

CIĄGI wiadomości podstawowe

Rozpoznawanie wzorców. Dr inż. Michał Bereta p. 144 / 10, Instytut Informatyki

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

Elementy inteligencji obliczeniowej

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

Pochodne cząstkowe i ich zastosowanie. Ekstrema lokalne funkcji

Konkurs z przedmiotu eksploracja i analiza danych: problem regresji i klasyfikacji

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

Metody probabilistyczne klasyfikatory bayesowskie

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

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

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

1. Liczby naturalne, podzielność, silnie, reszty z dzielenia

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

TOZ -Techniki optymalizacji w zarządzaniu

Wykład 1. Na początku zajmować się będziemy zbiorem liczb całkowitych

Agnieszka Nowak Brzezińska

Algorytm indukcji klasyfikatora za pomocą EA z automatycznym przełączaniem ukierunkowań

Przekształcenia liniowe

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

8. Drzewa decyzyjne, bagging, boosting i lasy losowe

Metody systemowe i decyzyjne w informatyce

Dystrybucje, wiadomości wstępne (I)

Układy równań liniowych. Krzysztof Patan

FUNKCJA KWADRATOWA. Zad 1 Przedstaw funkcję kwadratową w postaci ogólnej. Postać ogólna funkcji kwadratowej to: y = ax + bx + c;(

Metody systemowe i decyzyjne w informatyce

INSTRUKCJA DO ĆWICZENIA NR 1

) 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

Geometria analityczna

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

Zajęcia nr. 5: Funkcja liniowa

Transkrypt:

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.

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 proble-

mem 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 ) oraz dane testowe (wektory ) i celem jest określenie przez maszynę uczącą, posiadającą zbiór funkcji: wartości 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

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, dla. Każdy z należy do jednej z dwóch klas: -1 albo 1. Dla każdego przyporządkowane jest więc, 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: Zbiór S jest liniowo separowany jeśli istnieje hiperpłaszczyzna oraz wektor przesunięcia takie że:, (1)

, (2) czyli, (3) dla. Para (w, b) definiuje hiperpłaszczyznę o równaniu:, (4) która oddziela obydwie klasy punktów dla. 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? 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 i, a hiperpłaszczyzną separującą prosta H. Określmy odległość od do w kategorii i. Niech: będzie punktem w półpłaszczyźnie punktem w półpłaszczyźnie, najbliższym punktem dla z obszaru dodatniego. Niech i przyjmą postać kanoniczną: o (5) o (6) Skoro jest wektorem prostopadłym do obu hiperpłaszczyzn i to:. (7) Długość marginesu określamy wzorem:. (8) Obliczamy: (9) Zatem: (10) Aby uzyskać maksymalny margines chcemy zminimalizować. Odp. do 2. Algorytm Optymalnej Hiperpłaszczyzny Aby skonstruować optymalną hiperpłaszczyznę:

(11) separującą zbiór danych treningowych: należy zminimalizować funkcjonał:, (12) tak aby spełniona była nierówność: (13) Oby to osiągnąć używamy standardowej techniki optymalizacji. Konstruujemy Lagrangian: (14) gdzie 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 - wymiarowej przestrzeni, gdzie minimum jest uwzględnione dla parametrów i, a maksimum dla mnożników Lagrange a. W punkcie siodła parametry i powinny spełniać następujące warunki: (15) (16) Z równości (15) uzyskuje się równość: (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:

Podstawiając (16) i (17) do (14) oraz biorąc pod uwagę warunek Kühn a-tucker a uzyskujemy: (18) (19) Pozostaje zmaksymalizować ten funkcjonał przy spełnionych warunkach:, (20) oraz: (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 ( ilość wektorów wspierających) oraz. W notacji wektorowej może być to przedstawione jak poniżej: (22) przy spełnionych warunkach: gdzie oraz (23) natomiast jest - wymiarowym wektorem jednostkowym, a jest macierzą symetryczną o elementach: (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ą w ograniczeniu (13) otrzymując:, (25), (26) (27) Dlatego aby pojawił się błąd, odpowiednie musi przekroczyć jedność, więc 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 na:, (28) gdzie 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 ; dla k = 1 albo k = 2 jest to standardowy problem programowania kwadratowego. Zdefiniujmy problem jaki mamy rozwiązać: Chcemy zmaksymalizować: (29) dla warunków: (30) (31) Rozwiązaniem jest ponownie: (32)

gdzie liczbą wektorów wspierających. Dlatego jedyną różnicą w porównaniu z poprzednim problemem (klasyfikacja danych na zbiorze liniowo separowalny) jest taka, iż moją teraz górne ograniczenie w postaci. Nieliniowa Maszyna Wektorów Wspierających 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. Więc najpierw załóżmy, że rzutujemy dane wejściowe do innej (możliwe, iż nawet nieskończenie wymiarowej) przestrzeni Euklidesowej, używając danej funkcji :. (33) Wówczas oczywiście algorytm trenowania SVM zależałby wyłącznie od danych wejściowych poprzez ich produkt w przestrzeni i przyjmował następującą postać:. Teraz gdyby to była funkcja jądra taka, iż Potrzebowalibyśmy tej funkcji do treningu SVM, bez jakiej kol wiek wiedzy o funkcji. Ważnym przykładem fun. jądra jest: (34) tzw. promieniowa funkcja bazowa. W tym szczególnym przypadku gdy jest nieskończonego wymiaru, praca bezpośrednio z nie byłaby prostą sprawą. Jednakże kiedy zastąpimy

produkt przez 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 i, a bardziej precyzyjnie znak fun.: (35) gdzie są wektorami wspierającymi. Podsumowując: Możemy uniknąć bezpośredniego obliczenia i użyć:. (36) 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 algorytm ma na wejściu daną i 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 które odpowiadają (wektorom wspierającym) 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: 1) Inicjalizacja: Na wejściu SVM daj kilka przykładów ze spamu i dobrych wiadomości. Przetrenuj SVM. 2) Nauka: Zaklasyfikuj. Spytaj o prawdziwą etykietę. Jeżeli predykcja była zła, przetrenuj SVM dla. 3) Koniec: Powtarzaj cały proces aż próbka 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: (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 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: (38) będzie reprezentował dokument. Wtedy waga jest ustalana poprzez wzór:, (39) gdzie - (z ang. term frequency człon częstotliwości) ilość wystąpień tematu słowa w dokumencie ; - (z ang. inverse document frequency- odwrócona częstotliwość dla dokumentów ) wyrażona jest wzorem:

. (40) Tu: - ilość dokumentów; - (z ang. document frequency częstotliwości w dokumentach) ilość dokumentów, w których pojawia się słowo o temacie Mówiąc w uproszczeniu wzór (39) mówi, iż dla tematu będzie ważnym współczynnikiem dla dokumentu d jeżeli występuje w nim często, natomiast jeżeli temat będzie się pojawiał w wielu dokumentach, wówczas będzie malał a temat będzie tracił na znaczeniu jako dana treningowa. 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. 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 -2 nd 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 Categorization 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 Grudic Wykłady: Machin Learning Computer Science Colorado Institute USA prof. Andrew W. Moore (2003) Wykłady: Support Vectors Machines Carnegie Mellon University USA plan referatu