Sunteți pe pagina 1din 92

2011

UNIVERSITATEA BUCURETI FACULTATEA DE


MATEMATIC I INFORMATIC

MASTERAND : BRATU ANDREI ALEXANDRU

COORDONATOR : LECT. DR. POPESCU MARIUS
LUCRARE DE
DISERTAIE
METODE DE TIP KERNEL N
CATEGORIZAREA TEXTELOR
UNIVERSITATEA DIN BUCURETI
FACULTATEA DE MATEMATIC I INFORMATIC








METODE DE TIP KERNEL N
CATEGORIZAREA TEXTELOR







COORDONATOR TIINIFIC:
LECT. DR. POPESCU MARIUS
MASTERAND:
BRATU ANDREI ALEXANDRU






BUCURETI, 2011



CUPRINS



Introducere ............................................................................................................................5
1. Categorizarea Textelor .......................................................................................................6
1.1 Problema Clasificrii ..................................................................................................................7
1.2 Categorizarea Textelor ............................................................................................................ 10
1.2.1 Scurt istoric ...................................................................................................................... 11
1.2.2 O definire formal a problemei ......................................................................................... 12
1.2.3 Modelul spaiului vectorial ............................................................................................... 14
2. Support Vector Machines (SVMs) ....................................................................................20
2.1 Hiperplane de seperabilitate liniar ......................................................................................... 22
2.1.1 Algoritmul de nvare al perceptronului lui Rosenblatt .................................................... 23
2.2 Hiperplanul optim de separabilitate ........................................................................................ 26
2.3 Clafisicatorul SVM cu margine inflexibil (hard-margin) ........................................................... 29
2.3.1 Marginea funcional i marginea geometric .................................................................. 30
2.3.2 Problema de optimizare ................................................................................................... 33
2.3.3 Dualitatea Lagrange .......................................................................................................... 34
2.4 Clafisicatorul SVM cu margine flexibil (soft-margin) ............................................................... 40
2.5 Clasificatorul SVM neliniar (nonlinear SVM) ............................................................................. 44
3. Metode de tip Kernel .......................................................................................................51
3.1 Privire de ansamblu ................................................................................................................. 53
3.2 Prezentare general ................................................................................................................ 55
3.3 Modularitate ........................................................................................................................... 57
3.3.1 Matricea nucleu ............................................................................................................... 58



4 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
3.3.2 Funcii nucleu ................................................................................................................... 60
3.3.3 Algoritmul de optimizare secvenial minimal (SMO) ...................................................... 62
4. Experimente, rezultate i concluzii ..................................................................................67
4.1 Corpusul Reuters-21578 .......................................................................................................... 68
4.2 Biblioteca WEKA ...................................................................................................................... 72
4.2.1 Formatul ARFF .................................................................................................................. 73
4.2.2 Biblioteca LIBSVM ............................................................................................................. 76
4.3 Rezultate Experimentale ......................................................................................................... 77
4.4 Concluzii .................................................................................................................................. 86
Bibliografie...........................................................................................................................88



Introducere


n ultimii 20 de ani numrul documentelor text n format digital a crescut foarte mult
ca volum. Ca o consecin, organizarea automat i clasificarea(categorizarea) documentelor
prezint o importan practic deosebit. Tehnicile de categorizare a textelor sunt folosite
pentru a clasifica articole de tiri, pentru a gsi informaii de interes pe web i pentru a
nlesni cutrile trimiterilor ctre alte pagini (hyperlinks). Deoarece construcia manual a
unor astfel de clasificatori este dificil i consumatoare de timp, se prefer clasificatori ce
nva din exemple de antrenare (clasificare supervizat).
Lucrarea de fa i propune s prezinte rezolvarea problemei clasificrii textelor cu
ajutorul metodelor de tip kernel. Metodele de tip kernel (kernel methods) reprezint o clas
de algoritmi folosii n analiza i clasificarea informaiilor (pattern analysis). Majoritatea
algoritmilor pun accentul pe rezolvarea unor probleme de optimizare convex i valori
proprii i sunt eficieni d.p.d.v. computaional i bine documentai d.p.d.v. statistic.
Cel mai cunoscut algoritm dintre acetia este clasificatorul SVM (support vector
machine). Mainile cu vectori suport, au fost folosite cu succes n problemele de regsire a
informaiei, n particular pentru clasificarea textelor i fac parte din generaia de clasificatori
aflai la cel mai nalt grad de dezvoltare n prezent (state-of-the-art). Ei nu sunt n mod
special mai buni dect orice alt tip de clasificatori folosii n domeniul nvrii automate
(machine learning) (exceptnd poate cazurile cu puine date de antrenare), dar sunt
clasificatorii cu cel mai nalt grad de dezvoltare atins pn n prezent, bucurndu-se de un
uria interes teoretic i empiric.



1. Categorizarea Textelor


Problema general a clasificrii este o problem din domeniul nvrii automate
(machine learning) i face parte din clasa problemelor de analiz i clasificare a obiectelor
(pattern recognition) [Seciunea 1.1]. Categorizarea textelor ( clasificarea textelor sau
identificarea subiectului unui text ) ca etichetare a unor texte cu categorii tematice dintr-un
set predefinit reprezint un exemplu de o astfel de problem [Seciunea 1.2].
n ultimii 20 de ani numrul documentelor text n format digital a crescut foarte mult
ca volum. Ca o consecin, organizarea automat i clasificarea documentelor prezint o
importan practic deosebit.
Clasificarea documentelor se ntlnete n multe aplicaii: filtrarea de email-uri,
routarea email-urilor, filtrarea spam, monitorizarea tirilor, rspndirea selectiv de
informaii ctre consumatori, indexarea automat a articolelor tiinifice, popularea
automat a cataloagelor ierarhice a resurselor web, identificarea genului literar, al autorului,
examinarea codului .a.m.d.
n zilele noastre categorizarea textelor este o disciplin aflat la intersecia dintre
nvarea automat (machine learning) i regsirea informaiei (information retrieval) i ca
atare are n comun cu acestea, un numr de caracteristici. De exemplu, modul de
reprezentare al documentelor cu ajutorul modelului spaiului vectorial (vector space model)
[Seciunea 1.2.3] este mprumutat din domeniul regsirii informaiei. Se pune n continuare
problema unde este grania dintre aceste discipline iar terminologia este ntr-o continu
evoluie.


1.1 Problema Clasificrii


Problema clasificrii este o problem din domeniul nvrii automate (machine
learning) i face parte din clasa problemelor de analiz i clasificare a obiectelor (pattern
recognition). n acest context clasificarea definete o procedur algoritmic care atribuie
unui obiect primit ca input, o categorie dintr-un set de categorii date. Un exemplu este
asignarea unui email uneia dintre cele dou clase: spam i non-spam sau stabilirea
diagnosticului unui pacient pe baza caracteristicilor observate ( sex, tensiune arterial,
prezena sau absena anumitor simptome etc. ).
Un algoritm ce implementeaz o problem de clasificare poart denumirea de
clasificator. Termenul de clasificator uneori mai face referire si la o funcie matematic,
implementat de un algoritm de clasificare, ce mapeaz datele de intrare ntr-o anumit
categorie.
Setul datelor de intrare este alctuit din instane iar categoriile se numesc clase. O
instan este descris printr-un vector de caracteristici (features), reprezentnd toate
caracteristicile cunoscute ale instanei. Caracteristicile pot fi de mai multe feluri:

nominale - aparinnd unei categorii (constnd dintr-un set de elemente
neordonate: sex masculin sau feminin, grupa sangvin A, B, AB sau
O);
ordinale - constnd dintr-un set de elemente ordonate: mare, mediu,
mic;
valori ntregi: numrul ocurenelor unui cuvnt ntr-un text;
valori reale: valoarea tensiunii arteriale.

De cele mai multe ori se ntmpl ca datele ordinale i nominale s fie grupate mpreun; la
fel i n cazul valorilor ntregi i reale. Mai mult, exist algoritmi care funcioneaz cu date
nominale i necesit discretizarea valorilor ntregi sau reale n grupuri (ex: valori<5, valori
ntre 5 i 10, valori>10).
Clasificarea se refer n mod uzual la o procedur supervizat (o procedur care
clasific noi instane, nvnd dintr-un set de antrenare cu instane ce au fost corect



8 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
etichetate n prealabil). Procedura corespunztoare nesupervizat se numete clusterizare
(clustering) i const n gruparea datelor n clase folosind o msur de similaritate (ex:
distana dintre instane, reprezentate ca vectori ntr-un spaiu vectorial multidimensional).
n funcie de numrul de clase disponibile putem vorbi de dou tipuri de clasificare:
binar (n 2 clase) i multiclase. Majoritatea metodelor de clasificare au fost dezvoltate
pentru clasificarea binar fapt ce a condus la folosirea unor clasificatori binari combinai
pentru dezvoltarea clasificrii multiclase.
Dintre cei mai folosii algoritmi de clasificare amintim: clasificatori ai entropiei
maxime, Naive Bayes, support vector machines (SMVs), arbori de decizie, perceptroni, reele
neurale (perceptroni multistrat), kNN. Performanele acestor clasificatori depind ntr-o
foarte mare msur de caracteristicile datelor de clasificat. Nu exist un singur clasificator
care s obin cele mai bune rezultate pentru toate problemele date. Cu toate c au fost
efectuate diverse teste empirice pentru a compara clasificatorii ntre ei, determinarea unui
clasificator optim, pentru o problem, rmne mai mult o art dect o tiin.
Noiunea de clasificare este foarte general i are foarte multe aplicaii att n cadrul
domeniului regsirii informaiei ct i n afara lui. De exemplu, n domeniul prelucrrii
imaginilor un clasificator poate fi folosit pentru a mpri imaginile n 3 clase: portrait,
landscape i nici una dintre cele dou. Cteva exemple ale folosirii clasficrii n regsirea
informaiei sunt prezentate mai jos:

detectarea codificrii caracterelor (encodings) dintr-un document (ASCII,
UNICODE, UTF-8 etc.); segmentarea cuvintelor (n funcie de spaiile blank);
detectarea cuvintelor scrise cu litere mari n interiorul unei proproziii;
detectarea limbii n care a fost scris un document;
detectarea automat a paginilor spam (care apoi nu sunt incluse n indexul
motorului de cutare);
detectarea de pagini cu coninut sexual (care sunt apoi incluse la rezultatele
cutarii numai dac user-ul a debifat opiunea de SafeSearch);
detecia sentimentelor (sentiment detection) sau clasificarea unui comentariu
asupra unui film sau produs drept pozitiv sau negativ. Un exemplu n acest
sens l constituie un client care caut comentariile negative despre o camer
de luat vederi nainte de a o achiziiona, pentru a se asigura c nu are
caracteristici nedorite sau probleme de calitate;
sortarea email-urilor personale. Un user poate avea mai multe dosare ca
anunuri, facturi on-line, discuii cu prietenii i familia etc. i dorete ca fiecare
nou email primit s se clasifice automat i s fie asignat dosarului
corespunztor. Mesajele sunt mult mai uor de gsit ntr-un dosar sortat
dect ntr-un inbox uria. Cea mai practic folosire a acestui gen de aplicaie
este dosarul spam care stocheaz toate mesajele suspectate de a fi spam;
cutare dup subiect sau cutarea verticl. Motoarele de cutare verical
limiteaz cutarea unui subiect anume;



9 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
funcia de ordonare din cadrul procedurii standard a regsirii informaiei.

Toat lista de exemple prezentat anterior nu face dect s sublinieze importana
general a clasificrii n domeniul regsirii informaiei. Multe sisteme din ziua de astzi
folosesc diferite componente care implic o clasificare de un anume tip. Problema de
clasificare ce va fi discutat pe tot parcursul acestei lucrri este clasificarea/categorizarea
textelor.







1.2 Categorizarea Textelor


Categorizarea/clasificarea textelor (CT) reprezint aciunea de a asigna documente
ntregi, unor categorii predefinite. Acest mecanism poate oferi o viziune conceptual asupra
coleciilor de documente i are importante aplicaii n lumea real. De exemplu, tirile sunt
organizate n mod curent dup subiect sau dup un cod geografic; lucrrile academice sunt
adesea clasificate dup un domeniu tehnic sau un subdomeniu; rapoartele pacienilor din
centrele medicale sunt indexate dup diferite aspecte, folosind taxonomii ale diferitelor
categorii de boal, tipuri de proceduri chirurgicale, coduri de asigurri .a.m.d. O alt
aplicaie foarte rspndit a categorizrii textelor este filtrul de spam care mparte email-
urile n dou categorii: spam i non-spam.
Clasificarea/Categorizarea documentelor este i o problem din tiina informaiei
(information science). Cerina este ncadrarea unui document n format electronic, ca fcnd
parte din una sau mai multe categorii, n funcie de coninutul acestuia. Cerina de clasificare
a documentelor poate fi de dou feluri: clasificare supervizat unde exist mecanisme
externe ( feedback din partea unei persoane ) ce ofer informaii cu privire la clasificarea
corect a documentelor i clasificare nesupervizat unde clasificarea este fcut n ntregime
fr a avea la dispoziie informaii din exterior. Mai exist de asemenea i o clasificare semi-
supervizat, unde doar o parte din documente sunt etichetate printr-un mecanism extern.
n ultimii 20 de ani numrul documentelor text n format digital a crescut foarte mult
ca volum. Ca o consecin, organizarea automat i clasificarea documentelor prezint o
importan practic deosebit. Cercetarea n domeniul clasificrii textelor caut s
partiioneze seturi de documente nestructurate n grupuri ce descriu coninutul
documentelor. Exist dou mari versiuni n clasificarea textelor: clusterizarea i
categorizarea textelor. Prima se concentreaz pe identificarea unei structuri ascunse a unui
grup n setul documentelor, iar cea de-a doua (cunoscut si sub denumirea de clasificarea
textelor) poate fi vzut ca un task de structurare a setului de documente conform unei
structuri de grup cunoscute a priori.
Clasificarea documentelor se ntlnete n multe aplicaii: filtrarea de email-uri,
routarea email-urilor, filtrarea spam, monitorizarea tirilor, rspndirea selectiv de
informaii ctre consumatori, indexarea automat a articolelor tiinifice, popularea



11 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
automat a cataloagelor ierarhice a resurselor web, identificarea genului literar, al autorului,
examinarea codului .a.m.d. Categorizarea automat a textelor este atractiv deoarece
organizarea manual a textelor poate deveni foarte scump din punct de vedere al
resurselor implicate ( umane si materiale ) sau imposibil de realizat ntr-un anumit interval
de timp, innd cont i de numrul mare de documente luat n calcul.


1.2.1 Scurt istoric

n ultimii ani cerinele referitoare la coninutul documentelor au cptat un statut
privilegiat n cadrul sistemelor de organizare a informaiei, datorit disponibilitii
documentelor n format digital i necesitii de a fi accesibile ntr-un mod ct mai flexibil.
Categorizarea textelor ( clasificarea textelor sau identificarea subiectului unui text ) ca
etichetare a unor texte cu categorii tematice dintr-un set predefinit este un exemplu de o
astfel de cerin. CT este cunoscut nc din anii 60, dar a devenit un subdomeniu al
sistemelor de organizare a informaiei abia la nceputul anilor 90. Acest lucru s-a datorat n
special interesului practic i existenei unui hardware mai performant. CT este acum folosit
n diferite contexte ncepnd cu indexarea documentelor bazat pe un vocabular specificat,
filtrarea documentelor, generarea automat de meta-date, dezambiguizarea sensului
cuvintelor, popularea cataloagelor ierarhice de resurse web precum i n aproape orice
aplicaie care necesit o organizare a documentelor sau o gestionare selectiv i adaptabil a
lor.
Pn la sfritul anilor 80 cea mai popular abordare a problemei CT, n cadrul
aplicaiilor din lumea real, era inginerizarea cunotiinelor (knowledge engineering) ce
consta n definirea manual a unui set de reguli. Fiecare regul era alctuit dintr-o anumit
combinaie de cuvinte cheie, combinaie ce indica o anumit categorie. Aceast abordare a
pierdut teren n anii 90 n favoarea paradigmei nvrii automate (machine learning)
conform creia, un proces inductiv general construiete un clasificator de texte automat,
nvnd, dintr-un set de documente preclasificate, caracteristicile categoriilor de interes.
Avantajele acestei abordri sunt:

acuratee comparabil cu cea a experilor umani;
reducerea unui efort considerabil deoarece nu este necesar nici o intervenie, din
partea experilor din domeniu, n construcia clasificatorului sau pentru adaptarea lui
la diferite seturi de categorii.

n zilele noastre CT este o disciplin aflat la intersecia dintre nvarea automat
(machine learning) i regsirea informaiei (information retrieval) i ca atare are n comun



12 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
un numr de caracteristici cu alte probleme ca extragerea informaiei/cunotiinelor din
texte (text mining) [Knight 1999; Pazienza 1997]. Se pune n continuare problema unde este
grania dintre aceste discipline iar terminologia este ntr-o continu evoluie.
Termenul de categorizare automat a textelor, n afar de sensul su uzual, a mai
fost folosit, de-a lungul timpului, n literatura de specialitate i cu alte sensuri:

identificarea automat a unui set de caterorii [Borko i Bernick 1963];
identificarea automat a unui set de categorii i gruparea documentelor pe
aceste categorii ( text clustering ) [Merkl 1998];
orice activitate de grupare a itemi-lor dintr-un text, problem ce ine att de
CT ct i de text clustering [Manning i Schtze 1999].



1.2.2 O definire formal a problemei

Pentru clasificarea textelor(CT) se dau :

o descriere a unui document, unde reprezint spaiul documentelor. Acesta
din urm este de regul un spaiu multidimensional.
un set fixat de clase

. Clasele se mai numesc categorii sau etichete


i sunt definite de oameni n funcie de cerinele aplicaiilor.
un set de antrenare cu documente etichetate , unde .

Exemplu: = < Beijing ader la Organizaia Comercial Mondial, China >

pentru documentul format dintr-o singur propoziie Beijing ader la Organizaia Comercial
Mondial i clasa (eticheta) China.
Folosind o metod sau un algoritm de nvare, dorim s nvm un clasificator sau o
funcie de clasificare s asocieze documentele unor clase.
(1.1)
Acest tip de nvare poart denumirea de nvare supervizat deoarece un
supervizor (omul care definete clasele i eticheteaz documentele de antrenare) acioneaz
ca un profesor ce dirijeaz procesul de nvare. Metoda de nvare supervizat se definete
prin i se noteaz prin . Metoda de nvare primete ca input testul de
antrenare i returneaz funcia de clasificare nva .



13 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
Figura 1.1 ofer un exemplu de clasificare a textelor aparinnd coleciei Reuters-
RCV1. Sunt reprezentate 6 clase (UK, China, , sport), fiecare dintre ele coninnd cte 3
documente de antrenare. Fiecare document n parte este figurat coninnd doar anumite
cuvinte reprezentative. Setul de antrenare ofer nite exemple clasice pentru fiecare clas
n parte astfel nct s putem nva funcia de clasificare Odat nva , o putem aplica
setului de test (datelor de test), n particular documentului Beijing ader la Organizaia
Comercial Mondial a crui clas este necunoscut.



Fig 1.1 Clasele, setul de antrenare i setul de clasificare pentru categorizarea textelor.


Dup cum se poate observa din figura de mai sus, funcia de clasificare asigneaz
noul document clasei = China, asignare care este corect.
Clasele au uneori structuri interesante, cum este i structura prezentat n exemplu,
de ierarhie, ce ofer un ajutor important n rezolvarea problemei de clasificare. Exist cte
dou instane pentru fiecare dintre cele trei categorii: regiuni, industrie i domenii.
Din definiia (1.1) se poate deduce c un document este membru numai al unei
singure clase. Acest model nu este cel mai fidel cu putin pentru ierarhia din Fig 1.1. De
exemplu, un document despre Olimpiada din 2008 ar trebui s fie membru n dou clase: n



14 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
clasa China i n clasa sport. Acest tip de clasificare este o problem any-of. Cazul n care, n
care un document este membru doar al unei clase este o problema de tip one-of (binar).
Din punct de vedere teoretic o clasificare binar este mai general, deoarece un
algoritm pentru clasificarea binar poate fi folosit i pentru clasificarea any-of; trebuie doar
transformat problema de tip any-of n probleme independente de clasificare binar n

, . Reciproca nu este valabil: un algoritm ce rezolv o problem


any-of nu poate fi folosit pentru o clasificare binar. Lucrarea de fa se concentreaz pe
rezolvarea problemei de tip binar datorit urmtoarelor considerente:

cazul binar este important n sine, deoarece exist numeroase aplicaii n CT
ce constau n probleme de clasificare binar (ex: s se decid dac un
document d
j
este sau nu despre Jazz). Categoriile celor mai multe astfel de
probleme sunt populate inegal (ex: mult mai puine documente se refer la
jazz fa de cele care nu fac referire) i caracterizate inegal (ex: ceea ce face
referire la Jazz poate fi caracterizat mult mai uor dect ceea ce nu face);
rezolvarea cazului binar implic rezolvarea cazului n care un document poate
aparine mai multor clase;
mare parte din literatura CT este construit n jurul cazului problemei binare;
multe tehnici ale clasificrii binare sunt cazuri speciale ale unor tehnici
existente de etichetare cu o singur clas i sunt mai simplu de ilustrat.
Aceasta nseamn c vom privi clasificarea cu clasele

ca
probleme independente de clasificare a documentelor din ntr-o
categorie dat c
i
, unde

Scopul principal al CT este obinerea unei acuratei ct mai mari pentru datele de test
sau datele noi. Este uor de obinut o acuratee ridicat pentru datele de antrenare
deoarece putem sa memorm foarte simplu etichetele. Cu toate acestea acurateea ridicat
pentru datele de antrenare nu garanteaz funcionarea corect a clasificatorului pe datele
noi dintr-o anume aplicaie. Cnd se folosete un set de antrenare pentru a nva un
clasificator, se face presupunerea c datele de antrenare i datele de test sunt similare sau
fac parte din aceeai distribuie de probabilitate.


1.2.3 Modelul spaiului vectorial

Dup ce am definit problema categorizrii textelor, se pune ntrebarea fireasc a
modului n care reprezentm un document. Modelul reprezentrii documentelor ca vectori
ntr-un spaiu n-dimensional (vector space model), descris pentru prima oar de Salton



15 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
[Salton, Wong i Yanng 1975], vine n ajutor ca rspuns la aceast ntrebare. Soluia este
folosit foarte mult n domeniul regsirii informaiei la atribiurea de scoruri, n probleme de
clasificare i clusterizare a documentelor.
Considerm spaiul documentelor alctuit din

documente, fiecare document
fiind indentificat de unul sau mai muli termeni

; fiecare termen are o pondere n funcie


de importana sa. O reprezentare 3-dimensional a problemei este prezentat n Fig 1.2, n
care fiecare document este reprezentat de un numr maxim de 3 termeni.





Fig 1.2 Reprezentarea vectorial a spaiului documentelor.

Modelul 3-dimensional poate fi extins la unul t-dimensional n care sunt prezeni
termeni distinci. n acest caz fiecare document

este reprezentat de un vector t-


dimensional:

, unde w
ij
este ponderea termenului j

Cea mai simpl modalitate de asignare de ponderi termenilor este de a numra de
cte ori apare fiecare termen n cadrul unui document. Aceast schem de asignare a
ponderilor poart denumirea de frecvena termenilor (term frequency) i se noteaz tf
t,d
unde indicii t i d fac referire la termen respectiv la document. O astfel de vizualizare
cantitativ a documentului poart denumirea, n literatura de specialitate, de model al
sacului de cuvinte (bag of words), n care ordinea cuvintelor din document este ignorat.



16 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
O alt modalitate de asignare de ponderi termenilor, s-a nscut din dorina de a
atenua relevana termenilor care apar de foarte multe ori n cadrul unui document. Acest
lucru se poate realiza prin mprirea ponderilor termenilor la o valoare numit frecvena
documentelor (document frequency), notat df
t
i reprezentnd numrul de documente din
colecie ce conin termenul t. Tehnica descris poart denumirea de frecvena invers a
documentelor (inverse document frequency) i se definete n felul urmtor:


(1.2)
unde N reprezint numrul de documente din colecie. Idf-ul unui termen rar este mare iar
cel pentru un termen frecvent este mai mic.
Combinnd frecvena termenilor i frecvena invers a documentelor obinem o
msur a ponderii termenilor ce poart denumirea de tf-idf
t,d
. Schema tf-idf asigneaz unui
termen t din documentul d o pondere dat de formula:

(1.3)
Cu alte cuvinte, tf-idf
t,d
asigneaz unui termen t o pondere n documentul d care este:
1. cea mai mare cnd t apare de un numr mare de ori n cadrul unui numr mic de
documente;
2. mai sczut cnd termenul apare de puine ori ntr-un document sau apare n multe
documente;
3. cea mai sczut cnd termenul apare n aproape toate documentele.

n acest moment putem privi fiecare document ca un vector cu o component
corespunztoare fiecrui termen, mpreun cu o pondere pentru fiecare component dat
de formula (1.3). Pentru termenii din dicionar care nu apar n document ponderea este 0.
Vom introduce n continuare o msur de similaritate ntre documente.
Se noteaz prin

vectorul rezultat din documentul d , cu o component pentru


fiecare termen din dicionar, calculat dup formula (1.3). Setul de documente dintr-o
colecie poate fi vzut ca un set de vectori ntr-un spaiu vectorial, n care exist cte o ax
pentru fiecare termen n parte. O astfel de reprezentare nu ine seama de ordinea
termenilor din fiecare document. Cu toate acestea pare intuitiv de remarcat c dou
documente avnd reprezentri similare ale sacului de cuvinte sunt similare i n coninut.
Modul standard de cuantificare a similaritii ntre dou documente d
1
i d
2
este prin
calcularea similaritii cosinus (cosine similarity) dintre reprezentrile vectoriale

ale lor.


(1.4)
Unde numrtorul reprezint produsul scalar al vectorilor

iar numitorul este


produsul distanelor Euclidiene. Efectul numrtorului n formula (1.4) este de a normaliza



17 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
lungimile

la vectorii unitate

respectiv

. Ecuaia (1.4) se poate rescrie ca:

(1.5)
Aadar formula (1.5) poate fi privit ca produsul scalar al versiunilor normalizate de
vectori reprezentnd cele dou documente. Aceast msur este cosinusul unghiului
dintre doi vectori, aa cum se poate observa n figura (1.3).


Fig 1.3 Ilustrarea similaritii cosinus. Sim(d
1
,d
2
) = cos .

Este indicat utilizarea ei atunci cnd se caut documentele dintr-o colecie cele mai
similare cu un document d dat. O astfel de cutare este util atunci cnd un utilizator
identific un anumit document i dorete s gseasc alte documente similare cu acesta.
Aceast problem poate fi redus la cutarea acelui document

care maximizeaz produsul


scalar

. Pentru aceasta se calculeaz produsele scalare dintre

i fiecare
dintre vectorii

, ... ,

, alegndu-se n final cea mai mare valoare a


similaritii.
Avnd n vedere cele discutate mai sus, reprezentarea unui document n problema
clasificrii textelor folosete modelul spaiului vectorial. Fiecare document este reprezentat
printr-un vector avnd cte o component numr real, de obicei tf-idf, pentru fiecare
termen. Astfel, spaiul documentelor , care este n acelai timp i domeniul funciei , este

.
Ipoteza ce st la baza folosirii modelului spaiului vectorial pentru problema de
clasificare a textelor poart denumirea de ipotez de contiguitate (contiguity hypothesis).

Definiia 1.1 (Ipoteza de contiguitate)
Documentele care fac parte din aceeai clas formeaz o zon contigu (de adiacen) iar
zonele diferitelor clase nu se suprapun.



18 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor

Documentele prezentate n Fig 1.1 formeaz zone contigue ce pot fi observate ca urmare a
folosirii unor tipare n distribuia cuvintelor. Spre exemplu, documentele din clasa China tind
s aib valori mai mari pentru dimensiuni ca Beijing, chinezesc, i Mao n timp ce
documentele din clasa UK tind s aib valori mari pentru Londra, britanic i Regin. Regiunile
de contiguitate pot fi observate n figura (1.4), unde sunt trasate i graniele care le separ i
cu ajutorul crora putem clasifica noi documente.



Fig 1.4 Clasificare n trei clase cu ajutorul modelului spaiului vectorial.


Rezultatul plasrii unui set de documente ntr-o zon contigu depinde de alegerile
particulare care sunt luate n seam atunci cnd se are n vedere reprezentarea
documentului: tipul ponderilor, eliminarea cuvintelor de legtur. Pentru a exemplifica c
reprezentarea unui document este de o importan vital s considerm cazul n care avem
dou clase: texte scrise de un colectiv de autori i texte scrise de o singur persoan. Pentru
clasa textelor scris de un singur autor este frecvent folosirea pronumelui personal
persoana I, eu. Aceast infromaie este ns tears din reprezentare atunci cnd folosim o
list a cuvintelor de legtur (stop words). Dac reprezentarea documentelor este
nefavorabil, ipoteza de contiguitate nu va fi satisfcut i astfel nu este posibil clasificarea.
Din aceleai considerente s-a decis folosirea reprezentrii tf-idf normalizate dup
lungime. Spre exemplu, un termen care apare de 5 ori ntr-un document trebuie s obin o
pondere mai mare dect un termen care apare doar o singur dat, dar nu o pondere de 5



19 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
ori mai mare. Ca regul general, nu trebuie folosite n clasificare valori neponderate sau
nenormalizate.
n loc s identificm fiecare document ca un vector cu originea n punctul 0 al
sistemului de coordonate, distana relativ dintre vectori se pstreaz atunci cnd
normalizm lungimile vectorilor la valoarea 1 i utilizm proiecia vectorilor pe suprafaa
sferei unitate. n acest caz fiecare document poate fi reprezentat ca un punct a crui poziie
este specificat de zona n care vectorul corespunztor atinge nveliul sferei. Dou
documente coninnd termeni similari sunt reprezentate prin puncte care sunt foarte
aproape unul de altul n spaiu. n general, distana dintre dou puncte n spaiu este invers
corelat cu similaritatea dintre vectorii corespondeni.
Un numr mare de clasificatori de text pot fi privii ca un tip de clasificatori liniari
clasificatori ce clasific pe baza unei combinaii liniare de caracteristici. Aceti clasificatori
mpart spaiul caracteristicilor n zone separabile de hiperplane de decizie liniare. Mai exist
i un al doilea tip de clasificatori, neliniari, care sunt mai compleci dar care nu obin
ntotdeauna rezultate mai bune ca cei liniari. Lucrarea de fa se va concentra n capitolele
urmtoare pe descrierea unui anumit tip de clasificator, SVM (support vector machine), att
din perspectiva liniar ct i din cea neliniar.














2. Support Vector Machines
(SVMs)


mbuntirea eficacitii clasificatorilor a fost o zon de cercetare intens n
domeniul machine learning n ultimele dou decenii. Aceast aplecare a condus la crearea
unei noi generaii de clasificatori aflai la cel mai nalt grad de dezvoltare (state-of-the-art)
cum ar fi: mainile cu vectori suport (support vector machines), arbori de decizie (boosted
decision trees), regresia regularizat (regularized logistic regression), reele neurale (neural
networks) i pduri random (random forests). Multe dintre aceste metode, incluznd i
mainile cu vectori suport, au fost folosite cu succes n problemele de regsire a informaiei,
n particular pentru clasificarea textelor. Un clasificator SVM este un tip de clasificator cu
margine inflexibil (large margin): o metod din machine learning ce se bazeaz pe folosirea
modelului spaiului vectorial n care elul l constituie gsirea unei granie de decizie
(decision boundary) ntre dou clase, care este ct se poate de deprtat de orice punct din
setul de antrenare (exceptnd doar punctele distanate foarte mult de restul datelor
(outliers) i punctele zgomot (noise)). Acest tip de clasificator va fi prezentat pe larg n
seciunea (2.3). Pe lng acesta exist i un clasificator SVM cu margine flexibil (soft
margin) care permite creterea n lime a graniei decizionale, sacrificnd n schimb
clasificarea corect a punctelor zgomot. Seciunea (2.4) va analiza n detaliu acest tip de
clasificator. Ultimul, dar nu cel din urm clasificator discutat, va fi cel neliniar (nonliniar),
folosit n special n cazul n care datele de antrenare nu sunt liniar separabile. El ne va
permite introducerea unor tipuri speciale de funcii numite funcii kernel (kernel functions),



21 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
care vor fi analizate n capitolul urmtor. Clasificatorul neliniar este prezentat n seciunea
(2.5).
Metoda vectorilor suport a fost introdus n categorizarea textelor de Joachims
[1998, 1999] i folosit ulterior de Drucker et al.[1999], Dumais et al.[1998+, Dumais i
Chen[2000], Klinkenberg i Joachims[2000], Taira i Haruno[1999], Yang i Liu[1999] etc. Tot
el [Joachims 1998], a subliniat cele dou mari avantaje ale clasificatorilor SVM n
categorizarea textelor:

de cele mai multe ori selecia termenilor nu este necesar, datorit faptului c aceti
clasificatori nu sunt afectai de supra-antenare (overfitting) i scaleaz pn la
dimensiuni foarte mari;
nu este necesar niciun efort din partea omului sau calculatorului pentru ajustarea
parametrilor unui set de testare deoarece exist o alegere implicit a valorilor
parametrilor, motivat teoretic i care conduce la cele mai bune rezultate.

Mainile cu vectori suport nu sunt n mod special mai buni dect orice alt tip de
metode din machine learning (exceptnd poate cazurile cu puine date de antrenare), dar
sunt clasificatorii cu cel mai nalt grad de dezvoltare atins pn n prezent, bucurndu-se de
un uria interes teoretic i empiric.
















2.1 Hiperplane de seperabilitate
liniar


n aceast seciune vom introduce noiunea clasificatorilor liniari. Mainile cu vectori
suport ( support vector machines ) sunt un exemplu de clasificatori liniari binari. Datele
pentru o astfel de problem constau din obiecte etichetate cu una din cele dou etichete
posibile; pentru uurin s presupunem c etichetele sunt (exemple pozitive) i
(exemple negative). Fie x un vector cu M componente

, , fiecare
component reprezentnd o dimensiune dintr-un spaiu vectorial Mdimensional. Notaia x
i

va desemna al i-lea vector din setul x
i

, unde

este eticheta asociat lui x


i
.
Obiectele x
i
se numesc date de intrare sau exemple i sunt reprezentate ca vectori coloan.
Un concept cheie n definirea unui clasificator liniar este produsul scalar
(dot/inner/scalar product) dintre doi vectori

. Un clasificator liniar se
bazeaz pe o funcie liniar discriminant de forma urmtoare:
(2.1)
Funcia discriminant atribuie un scor pentru datele de intrare , i este
folosit pentru a decide cum s clasifice aceste date. Vectorul este cunoscut sub
denumirea de vectorul ponderilor (weight vector) iar scalarul se numete
direcie/deplasare/nclinare (bias). n plan (2D) punctele care satisfac ecuaia
corespund unei linii/drepte trasate prin origine; n spaiu (3D) punctele determin un plan iar
ntr-un spaiu multidimensional aceleai puncte determin un hiperplan. Bias-ul
deplaseaz hiperplanul n raport cu originea.
Hiperplanul divide spaiul n dou jumti n funcie de semnul lui , care indic
de ce parte a hiperplanului se gsete un punct (vezi Fig 2.1): dac , atunci se alege
clasa pozitiv, altfel cea negativ. Grania dintre regiunile clasificate ca pozitive i negative se
numete grani de decizie (decision boundary) a clasificatorului. Grania de decizie definit
de un hiperplan (cf. Ecuaiei 2.1) este liniar deoarece este liniar n date de intrare (strict
vorbind, pentru funcia este afin i nu liniar, dar vom ignora aceast distincie). Un
clasificator cu o frontier de decizie liniar se numete un clasificator liniar.



23 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
Clasificatorii ce folosesc funcia discriminant (2.1) i care calculeaz o combinaie
liniar de caracteristici pentru datele de intrare returnnd semnul, au fost denumii, n
literatura de specialitate de la sfritul anilor 1950, perceptroni (perceptrons) [Rosenblatt
1958]. Perceptronii au pus bazele modelelor de reele neuronale (neural networks) din anii
1980 i 1990.



Fig 2.1 Un clasificator liniar ce separ dou clase de puncte n plan (2D).


2.1.1 Algoritmul de nvare al perceptronului lui
Rosenblatt

Algorimul de nvare al perceptronului ncearc s gseasc un hiperplan de
separare minimiznd distana punctelor greit clasificate la grania de decizie. Dac un
rspuns

este greit clasificat, atunci

pentru un
rspuns greit clasificat cu

. Scopul este s minimizm:


b

b) (2.2)
unde indexeaz setul de puncte greit clasificate. Valoarea este pozitiv i proporional
cu distana punctelor greit clasificate la grania de decizie

Gradientul
(presupunnd fixat) este dat de:




24 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor

(2.3)

(2.4)

Pentru minimizarea acestui criteriu liniar, algoritmul folosete metoda stocastic a
coborrii pe gradient. Aceasta nseamn c n loc s calculm suma contribuiei la gradient a
fiecrei observaii n parte, urmat de un pas n direcia negativ a gradientului, se face un
pas dup vizitarea fiecrei observaii. Aadar observaiile misclasificate sunt vizitate ntr-o
anumit ordine i parametrii sunt recalculai dup formula:


(2.5)
Am notat cu rata de nvare, care n acest caz poate fi luat 1 fr a pierde din
generalitate. Dac cele dou clase sunt liniar separabile, se poate arta c algoritmul
converge ntr-un numr finit de pai i gsete hiperplanul de separaie.
Exist ns un numr de probleme ale acestui algoritm ce au fost sumarizate de Ripley
[Ripley 1996]:

atunci cnd datele sunt separabile, exist mai multe soluii, cea gsit fiind
influena de valorile de nceput ale algoritmului(Fig 2.2);


Fig 2.2 Exist un numr infinit de hiperplane ce separ dou clase liniar separabile.

numrul finit de pai poate fi foarte mare. Cu ct este mai mic intervalul cu att
este mai mare timpul pentru a-l gsi;
atunci cnd datele nu sunt separabile, algoritmul nu va converge ci va intra n cicluri.
Acestea pot fi foarte lungi i greu de detectat.



25 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
A doua problem poate fi adesea eliminat prin cutarea unui hiperplan, nu n spaiul
original, ci ntr-un spaiu extins, obinut prin crearea mai multor transformri de funcii
elementare a variabilelor iniiale. O separare perfect nu poate fi ntotdeauna obinut: spre
exemplu, n cazul n care observaiile celor dou clase au n comun aceleai date de intrare.
Acest lucru poate fi chiar nedorit, deoarece modelul astfel rezultat va fi supra-antrenat
(overfit) i nu va generaliza suficient de bine.
O soluie elegent pentru prima problem este adugarea unor constrngeri
suplimentare pentru hiperplanul de separaie.












2.2 Hiperplanul optim de
separabilitate


Dac un set de date ca cel din Fig 2.1 este liniar separabil, atunci exist o infinitate de
hiperplanuri care clasific n mod corect toate punctele. Se nate acum ntrebarea fireasc
pe care dintre aceste hiperplanuri s l alegem, asigurndu-ne c nu numai datele de
antrenare, ci i viitoarele exemple, nevzute de clasificator la antrenare, vor fi etichetate
corect.
Intuitiv, o grani de separare trasat n mijlocul vidului dintre exemplele celor dou
clase pare mai bun dect una care se apropie foarte mult de exemplele uneia dintre cele
dou clase. Teoria nvrii statistice [Vapnik 1999] sugereaz c hiperplanurile de clasificare
vor obine rezultate mai bune atunci cnd vor separa datele att corect ct i cu o margine
(margin) ntins. Aici marginea este definit ca distana de la cele mai apropiate exemple la
grania de decizie (Fig 2.3).


Fig 2.3 Hiperplanul optim de separabilitate este acela care separ datele cu o margine
maxim.




27 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
Hiperplanul optim de separabilitate (optimal separating hyperplane) [Vapnik i
Chervonenkis 1974; Vapnik 1979] separ cele dou clase i maximizeaz distana la cele mai
apropiate puncte din fiecare clas *Vapnik 1996]. n afara faptului c se obine o soluie
unic la problema separrii cu ajutorul hiperplanurilor, prin maximizarea marginii dintre cele
dou clase pe baza datelor de antrenare se constat o performan de clasificare sporit n
ceea ce privete datele de test.
Maximizarea marginii pare o alegere corect deoarece punctele din apropierea
suprafeei de decizie reprezint decizii de clasificare nesigure: exist o probabilitate de 50%
pentru un clasificator s decid n ambele sensuri. Un clasificator cu o margine ntins nu ia
decizii de clasificare cu o precizie joas. Acest fapt confer clasificrii o marj de siguran: o
mic eroare n msurare sau o variaie mic a unui document nu vor cauza o clasificare
greit.
O alt motivaie bazat tot pe intuiie este prezentat n figura (2.4). Prin construcia
hiperplanului optim de separabilitate se insist pe folosirea unei margini ntinse n jurul
graniei de decizie. Dac avem de plasat un separator mai lat ntre clase, avem mai puine
opiuni de a-l plasa dect n cazul unui hiperplan de decizie (Fig 2.2). Ca o consecin a
acestui fapt, consumul de memorie a modelului scade i ne ateptm ca abilitatea lui de a
clasifica corect datele de test s creasc.


Fig 2.4 O intuiie pentru clasificarea cu margine ntins. Folosind acest tip de clasificare se
reduce capacitatea modelului: gama de unghiuri n care poate fi plasat suprafaa de decizie
lit este mai mic dect n cazul unui hiperplan de decizie (Fig 2.2).

Aceast model de construcie implic specificarea funciei de decizie printr-un subset
de date (de regul mic) care definesc poziia separatorului. Aceste puncte se numesc vectori



28 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
suport (support vectors) (ntr-un spaiu vectorial un punct poate fi privit ca un vector ntre
origine i acel punct). n figura (2.3) pot fi observai i aceti vectori suport. Alte puncte nu
joac niciun rol n determinarea suprafeei de decizie alese.






































2.3 Clafisicatorul SVM cu margine
inflexibil (hard-margin)


Se numete clasificator SVM cu margine infelxibil (hard-margin SVM), clasificatorul
cu marginea maxim, ales dintre toi acei clasificatori ce mpart n mod corect datele de
intrare n clasele corespunztoare.
Din punct de vedere algebric, un hiperplan de decizie poate fi definit printr-un
termen liber (intercept) i un vector normal , care este perpendicular pe hiperplan. n
literatura nvrii automate (machine learning) acest vector poart denumirea de vector al
ponderilor (weight vector). Rolul termenului liber este de a alege un hiperplan
perpendicular pe vectorul normal. Deoarece hiperplanul este perpendicular pe vectorul
normal, rezult c toate punctele aflate n hiperplan satisfac ecuaia

-. Presupunnd
ca avem un set de date de antrenare x
i

, n care fiecare membru este o


pereche format dintr-un punct x
i
i o etichet

a unei clase corespunztoare acestuia.


Pentru clasificatorii SVM cele dou clase sunt etichetate cu i (n loc de i ) iar
termenul liber este explicit reprezentat ca (nefiind coninut n vectorul ponderilor prin
adugarea unei caracteristici n plus). Considernd cele definite pn acum, forma
clasificatorului liniar este:

(2.6)
Valoarea indic o clas iar valoarea cealalt clas.








30 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
2.3.1 Marginea funcional i marginea
geometric

n continuare vom ncerca s stabilim intuitiv n ce msur putem fi siguri de
clasificarea punctelor. Pentru aceasta considerm exemplul din figura 2.5 n care sunt
figurate exemple clasificate pozitiv(x), exemple clasficate negativ(o) i trei puncte A,B,C. Se
observ c punctul A este foarte deprtat de grania de decizie. Din acest motiv, dac ni s-ar
cere s clasificm punctul A, putem afirma cu ncredere c

. n ceea ce privete
punctul C, aflat foarte aproape de suprafaa de decizie, cu toate c se afl de partea
exemplelor pozitive i putem afirma c

, pare foarte probabil ca o mic schimbare a


ecuaiei suprafeei de decizie s influeneze schimbarea prediciei n

. De aceea
suntem mult mai ncreztori n predicia fcut pentru punctul A. Punctul B se afl plasat
ntre cele dou puncte anterior discutate i putem afirma n linii mari: cu ct un punct este
mai deprtat de hiperplanul de decizie cu att putem fi mai ncreztori n a-l clasifica.
Aceast intuiie ne duce cu gndul la gsirea unei suprafee de decizie care ne permite s
clasificm att corect ct i cu o ncredere mare (la o distan ct mai departe de grania de
decizie) datele din setul de antrenare.



Fig 2.5 Reprezentarea a trei puncte din setul de antenare (A, B, C).

Pentru a formula riguros cele discutate, trebuie introduse noiunile de margine
funcional (functional margin) respectiv margine geometric (geometric margin).



31 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
Fiind dat un exemplu de antrenare x
i

, se definete marginea funcional a


exemplului , raportat la hiperplanul :

(2.7)
Dac

, atunci pentru ca marginea funcional s fie mare (pentru ca predicia


clasificatorului s fie corect i de ncredere), trebuie ca valoarea

s fie un numr
mare pozitiv. Reciproc, dac

, atunci pentru o margine funcional mare, valoarea

trebuie s fie un numr negativ mare. Mai mult, dac

, atunci
predicia pentru exemplul curent este corect. Aadar o margine funcional mare asigur o
clasificare corect i de ncredere.
Cu toate acestea, pentru un clasificator liniar ce implementeaz funcia din ecuaia
2.6, exist o proprietate a marginii funcionale care nu o recomand ca fiind o msur de
ncredere. Dac nlocuim n ecuaia (2.6) cu i cu rezultatul lui nu va fi afectat.
Cu toate acestea nlocuirea parametrilor cu conduce la dublarea marginii
funcionale. Se pare c modificnd parametrii putem obine o margine funcional orict de
mare. Apare acum fireasc aplicarea unei condiii de normalizare a parametrilor .
Definiia marginii funcionale va trebui s ia n calcul folosirea parametrilor normalizai

.
1

Fiind dat setul de antrenare , marginea funcional se mai poate defini ca fiind cea
mai mic margine funcional a indivizilor din :

(2.8)
Vom discuta n continuare despre marginea geometric. S considerm pentru
aceasta figura de mai jos.

Fig 2.6 Reprezentarea marginii geometrice.

1





32 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
n figur se poate observa grania de decizie dat de mpreun cu vectorul .
Se observ c este ortogonal (perpendicular) pe hiperplanul de separaie. Se consider
punctul A, input-ul unui exemplu de antrenare x
i
etichetat cu

. Distana dintre el i
suprafaa de decizie este

, reprezentat prin segmentul AB.


Cum se poate calcula aceast distan

? Raportul

reprezint un vector unitate


(de lungime 1) avnd aceeai direcie cu . Deoarece punctul A reprezint vectorul x
i
putem
calcula punctul B ca fiind x
i

. Dar acest punct se gsete pe suprafaa de decizie i


toate punctele aflate pe aceast suprafa satisfac ecuaia

= 0. Aadar,

T
x
i

b = 0 (2.9)
Rezolvnd ecuaia pentru a-l gsi pe

avem:

x
i


(2.10)
Formula (2.10) este o particularizare a cazului pozitiv. n general definim marginea
geometric a exemplului raportat la hiperplanul :

x
i

(2.11)
Dac w , atunci marginea funcional se confund cu marginea geometric.
Marginea geometric este invariabil la scalarea parametrilor i ; dac nlocuim
cu i cu marginea geometric rmne neschimbat. Acest lucru se poate dovedi
foarte util, deoarece putem impune constrngeri arbitrare parametrilor w i fr a
modifica rezultatul obinut.
Fiind dat setul de antrenare , marginea geometric se mai poate defini ca fiind cea
mai mic margine geometric a indivizilor din :

i

(2.12)
Marginea geometric a clasificatorului este limea maxim a benzii care poate fi
desenat pentru a separa vectorii suport ai celor dou clase. Aceasta este de dou ori
marginea geometric definit de ecuaia (2.8) sau, altfel spus, limea maxim a unuia dintre
separatorii lii din figura (2.4).










33 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
2.3.2 Problema de optimizare

Din cele discutate n seciunea anterioar, dezideratul natural este de a gsi o
suprafa de decizie care s maximizeze marginea geometric deoarece aceasta ne-ar oferi
un set de predicii de ncredere pentru datele de test i o la fel de bun potrivire a datelor de
antrenare. Ar rezulta un clasificator ce separ exemplele pozitive de cele negative printr-un
spaiu gol (marginea geometric). ntrebarea care se pune este cum putem gsi aceast
margine geometric maxim? Pentru aceasta putem formula urmtoarea problem de
optimizare:


(2.13)
Vrem s maximizm cu constrngerea ca fiecare exemplu de antrenare s aibe marginea
funcional cel puin . Constrngerea w ne asigur c marginea funcional este egal
cu marginea geometric fapt ce ne asigur i c toate marginile geometrice sunt cel puin .
Astfel rezolvnd aceast problem va rezulta hiperplanul w, b, care are cea mai mare
margine geometric posibil ce poate fi calculat din setul de antrenare.
Deoarece constrngerea w nu este o constrngere convex, problema nu se
poate rezolva cu ajutorul unui program software de optimizare. De aceea vom considera o
variant modificat a problemei de optimizare:



(2.14)
Acum vom ncerca s maximizm raportul

w
cu constrngerea c toate marginile
funcionale s fie cel puin . Deoarece marginea geometric se scrie ca

w
am obinut
exact ce vroiam. Mai mult am eliminat i constrngerea w . Cu toate acestea funcia
obiectiv

w
nu este convex.
S ne amintim din seciunea precedent c putem scala parametrii i b fr a
schimba rezultatul. Astfel putem introduce constrngerea ca marginea funcional s fie
egal cu 1: . Multiplicnd parametrii i b cu o constant, marginea funcional se va
multiplica de asemenea cu acea constant. nlocuind aceast constrngere de scalare n
problema noastr i fcnd observaia c maximizarea funciei

w
este acelai lucru cu
minimizarea luiw, rezult urmtoarea problem de optimizare:



(2.15)



34 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
Inegalitatea constrngerilor se transform n egalitate n cazul vectorilor suport. Factorul


rezult prin adunarea de ambele pri ale suprafeei de decizie a marginii geometrice

w
.
Ecuaia (2.15) reprezint o form a problemei ce poate fi rezolvat eficient. Problema
descris este o problem de optimizare a unei funcii obiectiv convexe cuadrice cu
constrngeri liniare pentru care exist numeroi algoritmi matematici de rezolvare. Soluia ei
ne ofer clasificatorul dorit. Ca urmare a interesului pentru rezolvarea acestei probleme au
fost dezvoltate numeroase biblioteci care exploateaz structura unei astfel de probleme
pentru un clasificator SVM. Aceste librrii sunt folosite pentru crearea modelelor datorit
scalabilitii si rapiditii cu care opereaz.
Cu toate c putem considera problema rezolvat n acest moment, vom ncerca s
nelegem cum este construit soluia acestei probleme i vom discuta despre dualitatea
Lagrange. Aceasta ne va conduce la forma dual a problemei de optimizare care joac un rol
important deoarece ne permite introducerea funciilor kernel (kernels) folosite pentru
eficientizare atunci cnd spaiile dimensionale sunt foarte mari. Forma dual ne va furniza i
un algoritm mai eficient n rezolvarea problemei de optimizare dect cel implementat de
programele software generice.


2.3.3 Dualitatea Lagrange

Se consider urmtoarea problem de optimizare:


Ea poate fi rezolvat cu ajutorul multiplicatorilor Lagrange. Se definete lagrangian-ul ca
fiind:


Termenii

se numesc multiplicatori Lagrange. Pentru rezolvarea ecuaiei pentru i se


egaleaz cu derivatele pariale ale lui :





35 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
n continuare vom generaliza problema de optimizare pentru a putea s avem i inegaliti n
locul egalitilor. Se consider urmtoarea problem de optimizare numit primal (primal):


Pentru a o putea rezolva trebuie definit lagrangian-ul generalizat:


Aici, multiplicatorii Lagrange sunt

. Considerm cantitatea:


Indicele ne spune c este vorba despre problema primal. Se alege un arbitrar. Dac
ncalc constrngerile de integritate (fie

sau

pentru un ) atunci
trebuie verificat ca:


Altfel, dac constrngerile sunt satisfcute pentru o valoare particular a lui


. Dup cum se poate observa

ia aceeai valoare ca funcia obiectiv din problema de


optimizare din seciunea (2.3.2) atunci cnd valorile lui satisfac constrngerile primalei i
dac aceste constrngeri sunt nclcate. Astfel, dac avem problema de minimizare:


putem observa c este aceeai problem i are aceleai soluii cu problema primal original.
Prin definiie, valoarea optim a funciei obiectiv se noteaz

.
S privim acum o problem diferit. Se definete:


Indicele ne spune c este vorba despre problema dual. Dac n cazul definiiei lui


optimizarea (maximizarea) se fcea n raport cu i acum minimizarea se face n raport cu
w. Putem acum formula problema de optimizare dual:


Aceasta este la fel cu problema primal prezentat mai sus, exceptnd schimbarea ordinii lui
max si min. Se definete valoarea optim a funciei obiectiv a problemei duale

.
Cum sunt relaionate cele dou probleme? Se poate arta uor c:



36 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor


n anumite condiii

. Caz n care putem rezolva problema dual n locul celei primale.


S vedem n continuare care sunt aceste condiii.
Presupunem c i

sunt convexe iar constrngerile

sunt afine. Presupunem de


asemenea condiiile

strict fezabile (exist anumii pentru care

pentru toi ).
n condiiile n care presupunerile de mai sus sunt ndeplinite trebuie s existe

astfel nct

s fie soluia problemei primale,

soluiile problemei duale i

. Mai mult,

satisfac condiiile Karush-Kuhn-Tucker


(KKT):


Avnd n vedere cele discutate mai sus, putem trece la rezolvarea problemei de
optimizare definit de ecuaia (2.15):


Constrngerile se pot rescrie n felul urmtor:


Exist cte o astfel de constrngere pentru fiecare exemplu din setul de antrenare. Trebuie
remarcat din condiia de complementaritate dual a KKT (

doar pentru exemplele de antrenare care au


marginea funcional egal cu 1 (cele pentru care ecuaia

este satisfcut). Se
consider figura de mai jos n care este marcat hiperplanul maxim de separaie cu o linie
dreapt.




37 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor

Fig 2.7 Hiperplanul maxim de separaie mpreun cu vectorii suport.

Punctele care au cea mai mic margine sunt exact punctele aflate cel mai aproape de
suprafaa de decizie; n figur sunt prezentate trei puncte (unul negativ i dou pozitive) care
se gsesc pe liniile punctate paralele cu hiperplanul. Astfel, numai trei

-uri, cele
corespunztoare acestor trei exemple de antrenare, vor fi diferite de zero n soluia optim a
problemei de optimizare. Aceste trei puncte se numesc vectori suport (support vectors).
Mergnd mai departe, pe msur ce dezvoltm problema dual, vom ncerca s
construim algoritmul bazndu-ne pe produsul scalar x
ix
j
al punctelor din spaiul
caracteristicilor de intrare. Pe baza acestui produs scalar vom putea aplica, mai trziu,
artificiul kernel (kernel trick).
Construim acum lagrangian-ul pentru problema noastr de optimizare:
b

T
x
i
b
(2.16)
De observat c avem numai multiplicatori Lagrange

, nu i

deoarece constrngerile sunt


inegaliti.
Pentru a gsi forma dual a problemei , trebuie mai nti s minimizm wb
prin prisma lui w i b (cu fixat), lucrul pe care l vom face egalnd cu zero derivatele lui n
raport cu w i b:

(2.17)

(2.18)



38 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
Scond w din ecuaia (2.17) (w =

y
i
x
i
) i introducndu-l n ecuaia lagrangian-ului
(2.16), obinem cu ajutorul simplificrilor:
b


Din ecuaia (2.18) ultimul termen este egal cu 0, deci:
b


innd seama de constrngerea din ecuaia (2.18) i de constrngerea

cu care am
nceput rezolvarea problemei primale, putem scrie n cele ce urmeaz forma dual a
problemei de optimizare:

T
x
i
b
Se poate observa c ntr-adevr, condiiile necesare pentru ca

sunt
satisfcute la fel i condiiile KKT. Astfel putem rezolva problema dual n locul celei primale.
Problema dual este o problem de maximizare n care parametrii sunt

. n momentul n
care am rezolvat aceast problem (am aflat parametrii

), putem merge napoi n ecuaia


(2.17) i calcula vectorul optim al ponderilor ca o funcie de parametrii . Aflnd

i
considernd condiia de complementaritate dual a KKT, putem calcula imediat valoarea
optim pentru termenul liber :
b


i

T
x
i
x
i

(2.19)
S mai considerm nc odat ecuaia (2.17), care ne d valoarea optim a lui n
funcie de valoarea optim a lui . S presupunem c am ajustat parametrii modelului unui
set de antrenare i acum dorim s facem o predicie pentru un nou punct . Pentru aceasta
va trebui s calculm valoarea

, prezicerea fiind dac i numai dac valoarea


este pozitiv. Dar folosind ecuaia (2.17) aceast valoare se poate rescrie:

(2.20)



39 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
Astfel, odat calculai parametrii

, pentru a face o predicie, trebuie calculat o cantitate


ce depinde numai de produsul scalar dintre i punctele din setul de antrenare. Mai mult,
am vzut mai devreme c parametrii

sunt toi egali cu zero cu excepia celor pentru


vectorii suport. De aceea muli termeni ai sumei vor fi zero i vor trebui calculate numai
produsele scalare dintre i vectorii suport. innd cont de ecuaia (2.20) i ntorcndu-ne la
definiia (2.6), putem face o predicie folosind urmtoarea funcie de clasificare:

(2.21)

Pentru a recapitula: am pornit cu un set de date de antrenare care definesc n mod
unic cel mai bun hiperplan de separaie. Acest set a servit ca date de intrare pentru o
procedur de optimizare cuadric pentru a gsi hiperplanul cutat. Dndu-se un nou punct
pentru a fi clasificat, funcia de clasificare , dat fie prin ecuaia (2.6) sau (2.21),
calculeaz proiecia punctului pe normala hiperplanului. Semnul funciei determin clasa n
care este asignat punctul. Dac punctul se afl suficient de aproape de suprafaa de decizie
atunci clasificatorul poate da un rspuns de genul nu tiu n loc s clasifice punctul ntr-una
din cele dou clase.







2.4 Clafisicatorul SVM cu margine
flexibil (soft-margin)


n cazul problemelor de categorizare a textelor pentru care dimensiunea spaiului
este foarte mare, exist situaii n care datele sunt linear separabile. De cele mai multe ori
ns, ele nu sunt i chiar dac ar fi, este de preferat o soluie care separ mai bine
majoritatea datelor, neinnd seama de cteva documente neadecvate (noise documents).
Dac setul de antrenare nu este liniar separabil, abordarea clasic este de a
permite suprafeei de decizie s fac cteva greeli (anumite puncte puncte zgomot (noise)
- se gsesc n interiorul sau de partea greit a marginii). Pentru fiecare exemplu greit
clasificat, va fi pltit un pre n funcie de ct de departe este exemplul de ndeplinirea
constrngerilor ecuaiei (2.13). Pentru a implementa acest deziderat vom introduce noiunea
de variabile fixate greit (slack variables)

. O valoare nenul a lui

,
permite exemplului x
i
s nu ndeplineasc constrngerea impus de marginea de separaie
pentru un cost proporional cu valoarea lui

(vezi figura 2.8).



Fig 2.8 Clasificarea cu margine ntins folosind variabile slack.




41 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
Exist dou moduri n care putem modifica constrngerile din ecuaia (2.13):

(2.22)
Sau

(2.23)

. Cele dou alegeri conduc la soluii diferite. Prima alegere


pare cea natural, deoarece msoar suprapunerea n distana real pn la margine; a doua
alegere msoar suprapunerea n distana relativ i care se modific odat cu limea
marginii geometrice . Este aleas cea de-a doua variant deoarece este o problem de
optimizare convex.
Ideea care st la baza formulrii este urmtoarea: valoarea

din constrngerea
y
i
w
T
x
i
b

reprezint o cantitate proporional cu predicia f(x


i
) = w
T
x
i
b
care se gsete pe partea greit a marginii geometrice. Astfel, prin mrginirea sumei

, am mrginit cantitatea total proporional cu care prediciile se gsesc de partea


greit a marginii. O clasificare greit apare atunci cnd

. Astfel mrginind

cu
o valoare K, mrginim de fapt numrul total de clasificri greite n antrenare cu valoarea K.
Aplicnd cele discutate n seciunea (2.3.2), putem nlocui

w
i putem formula
problema de optimizare convex pentru clasificatorul cu margine flexibil (soft-margin):



(2.24)
unde parametrul costurilor este constanta din

; pentru cazul liniar


separabil .
Problema de optimizare devine acum un compromis ntre ct de mult putem ntinde
marginea geometric i ct de multe puncte sunt clasificate greit pentru a permite aceast
margine. Clasificatorul SVM cu margine flexibil (soft-margin) minimizeaz numrul de
puncte care sunt clasificate greit n defavoarea limii marginii geometrice. Parametrul C
este un parametru de regularizare (regularization term), prin care putem controla supra-
antrenarea (overfitting): cnd C devine mare este de preferat reducerea marginii geometrice
iar pentru un C destul de mic este uor s considerm cteva puncte, cu ajutorul variabilelor
slack, avnd astfel un separator ntins ce modeleaz majoritatea datelor.
Construim acum lagrangian-ul pentru problema noastr de optimizare:
b

T
x
i
b



(2.25)



42 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
pe care l vom minimiza n raport cu wb ( i fixai). Egalnd cu zero derivatele lui n
raport cu w, b i , vom ajunge s formulm problema dual:



(2.26)

(2.27)


(2.28)
cu constrngerile de pozitivitate

. nlocuind ecuaiile (2.26) - (2.28) n formula


(2.25), lagrangian-ul pentru funcia obiectiv a problemei Wolfe duale:

(2.29)
Putem observa c n problema dual nu apar nici variabilele slack

, nici multiplicatorii
Lagrange. Singura valoare rmas este constanta ce mrginete valoarea multiplicatorilor
Lagrange pentru punctele ce sunt vectori suport. Maximizm

wb cu
constrngerile

y
i
= 0. n plus fa de condiiile (2.26) (2.28) condiiile
KKT mai includ:

T
x
i
b


(2.30)

(2.31)

T
x
i
b

(2.32)
Ecuaiile (2.26) (2.32) caracterizeaz n mod unic soluia problemei primale i duale. Dup
determinarea parametrilor

, din ecuaia (2.26) se obine soluia optim a vectorului


ponderilor :

(2.33)
Parametrii

nenuli transform inegalitatea (2.32) ntr-o egalitate pentru a putea satisface


ecuaia (2.30). Ei se numesc vectori suport (support vectors) din moment ce este format
din termenii nenuli ai sumei. Dintre aceste puncte suport, unele se vor afla la limita marginii
de decizie (

) i vor fi caracterizate prin

dac inem seama de ecuaiile


(2.31) i (2.28); celelalte (

) au

(rezult din (2.31) i (2.28)). Din ecuaia (2.30)


putem observa c oricare dintre aceste puncte marginale (

) pot fi folosite
pentru a calcula valoarea lui :



43 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor


T
x
i

(2.34)
Pentru stabilitate numeric ins, se folosete o mediere a tuturor soluiilor. n mod normal,
vectorii suport reprezint o proporie foarte mic din datele de antrenare. Cu toate acestea
dac problema nu este separabil sau separabil printr-o margine foarte mic, atunci fiecare
punct greit clasificat sau aflat n interiorul suprafeei de decizie va avea un parametru


nenul. n cazul n care acest set de puncte se mrete, va trebui s lum n calcul mrirea
timpului de testare pentru cazul separabilitii neliniare, caz ce va fi discutat n seciunea
urmtoare.
Dup ce am calculat

i b

funcia de decizie a clasificatorului SVM cu margini


flexibile (soft-margin), nlocuiete aceste valori n ecuaia (2.6):

T

(2.35)










2.5 Clasificatorul SVM neliniar
(nonlinear SVM)


Din ce am vzut pn acum, cazul seturilor de date liniar separabile este rezolvat cu o
acuratee foarte mare (cu cteva mici excepii n ceea ce privete punctele zgomot). Ce
trebuie fcut ns n cazul n care nu se poate efectua o clasificare liniar a datelor (datele nu
sunt liniar separabile)? S privim pentru aceasta cazul 1-dimensional din figura (2.9).

Fig 2.9 Proiecia unor date, care nu sunt liniar separabile, ntr-un spaiu dimensional superior
care le poate face liniar separabile.



45 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
Se poate observa c setul de date, cel mai de sus din figur, este clasificat cu ajutorul
unui clasificator liniar, n schimb setul din mijloc nu este. Pentru aceasta trebuie s poat fi
ales un interval. O soluie pentru a rezolva aceast problem este s reprezentm setul de
date ntr-un spaiu dimensional superior n care putem folosi un clasificator liniar. Spre
exemplificare, partea de jos a figurii ne prezint un clasificator liniar ce poate clasifica cu
uurin datele, dac folosim o funcie cuadric pentru reprezentarea datelor n spaiul 2-
dimensional. Ideea general este de a reprezenta spaiul de caracteristici original ntr-un
spaiu de caracteristici superior ca dimensiune, unde setul de antrenare este liniar separabil.
Aceast transformare dorim s se efectueze ntr-un mod care va pstra msurile de
relaionare relevante dintre date, pentru ca performanele clasificatorului rezultat s fie la
fel de bune.
Clasificatorii SVM, mpreun cu un alt tip de clasificatori liniari, ofer o modalitate
uoar i eficient de a realiza reprezentarea ntr-un spaiu superior dimensional, numit
artificiul nucleu (kernel trick)[Aizerman et al. 1964]. Nu este n esen nici un artificiu ci doar
o valorificare a observaiilor matematice fcute n paragraful anterior. Clasificatorul SVM
liniar se bazeaz pe produsul scalar dintre doi vectori. Fie x
i
x
j

x
j
i ecuaia (2.21) a
clasificatorului se rescrie n felul urmtor:



(2.36)
Fiecare punct este reprezentat ntr-un spaiu superior ca dimensiune cu ajutorul unei
transformri . Astfel, produsul scalar devine x
i

x
j
. Dac se constat c
acest produs scalar (care este un numr real) poate fi calculat simplu i eficient cu ajutorul
datelor iniiale, atunci nu va mai fi necesar transformarea . De aceea, putem
calcula valoarea x
i
x
j
x
i

x
j
i apoi o putem folosi n ecuaia (2.36). Pentru a se
ajunge la forma ecuaiei (2.36), singurul lucru care trebuie modificat n cazul clasificatorilor
SVM prezentai n ultimele dou subcapitole, este nlocuirea lui cu . Aceast abordare,
de a crea un clasificator neliniar aplicnd artificiul nucleu n construcia hiperplanului cu
margine maximal, a fost sugerat de Boser, Guyon i Vapnik n 1992. Calculele ce vor urma,
vor face o referire direct la subcapitolul clasificatorului SVM cu margine inflexibil
[Seciunea 2.3], scond n eviden modificrile aferente ale ecuaiilor.
b





46 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor

T
x
i
b

T
x
i
x
i


O funcie nucleu (kernel function) este o funcie a crei valoare poate nlocui
valoarea unui produs scalar dintr-un spaiu dimensional superior. n continuare, se pune
ntrebarea ce funcii pot fi funcii nucleu valide? Funciile nucleu sunt definite mai precis ca
kernel-uri Mercer (Mercers kernel), deoarece trebuie s ndeplineasc condiia lui Mercer:
pentru orice funcie pentru care

este finit, avem:



(2.37)
O funcie nucleu trebuie s fie continu, simetric i s aibe o matrice Gram (semi)pozitiv
definit. n aceste condiii, exist o reprezentare kernel ntr-un spaiu Hilbert (un spaiu
vectorial nchis la produsul scalar), astfel nct produsul scalar din acest spaiu are aceeai
valoare ca funcia . Dac o funcie nucleu nu satisface condiia lui Mercer, atunci problema
cuadric de optimizare nu are soluii. Cele dou familii de funcii nucleu prezentate n
continuare sunt folosite n proporie de 90% n literatura de specialitate. Ele reprezint
funcii nucleu valide (ndeplinesc condiiile mai sus amintite).
Prima dintre cele dou familii sunt nucleele polinomiale (polynomial kernels). Ele au
urmtoarea form:

(2.38)
Pentru avem cazul nucleului liniar care corespunde produsului scalar clasic (constanta
modific doar originea). Cazul este nucleul cuadric care este foarte folosit. Exemplul
prezentat n continuare va ilustra acest caz.

Exemplul 2.1 - Nucleul cuadric 2-dimensional
Pentru vectorii 2-dimensionali i se definete

. Dorim s artm c acest funcie este o funcie nucleu (


pentru un ). Considerm

. Atunci:



47 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor



Un nucleu polinomial ne permite modelarea unor legturi ntre caracteristici (pn la
ordinul polinomului). Acest lucru este foarte util cnd dorim s modelm apariiile unor
perechi de cuvinte, care ofer informaii relevante despre clasificarea textului. n cazul unei
perechi formate din dou cuvinte vom folosi un nucleu cuadric iar pentru o alturare de trei
cuvinte, un nucleu cubic.
A doua familie de funcii nucleu sunt funciile cu valori reale a cror valoare depinde
numai de distana de la origine sau de la un anumit punct numit centru (radial basis
functions - RBF). Cea mai cunoscut form a unei funcii rbf este distribuia gausian:


(2.39)
O funcie rbf este echivalent cu transformarea datelor ntr-un spaiu Hilbert infinit
dimensional i de aceea nu se poate reprezenta print-un exemplu concret ca n cazul
nucleului cuadric. Acest tip de funcii ne permit s avem caracteristici care scot n eviden
cercuri (hipersfere), cu toate c graniele de decizie devin din ce n ce mai complexe pe
msur ce adugam mai multe caracteristici (vezi figura 2.10).


Fig 2.10 Folosirea unui nucleu gaussian pentru determinarea graniei de decizie i a
vectorilor suport.

n afara acestor dou familii de funcii, au fost depuse eforturi pentru gsirea altor



48 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
tipuri de nuclee, dintre care amintim unul foarte interesant pentru aplicaiile text, numit
nucleu lan (string kernel). Nucleele string permit lucrul cu secvene de caractere din
interiorul unui termen/cuvnt.
Pentru a defini un astfel de nucleu avem nevoie de urmtoarele dou definiii:

Definiia 2.2 ( iruri i subiruri de caractere)
Un alfabet este o mulime finit , cu simboluri. Un ir de caractere (string)


este o secven finit de simboluri din , inclusiv secvena vid notat cu ; singura secven
de lungime . Se noteaz cu

, mulimea tuturor irurilor de caractere de lungime i prin

mulimea tuturor irurilor de caractere


Notaia este folosit pentru a reprezenta funcia ce returneaz dac irurile de
caractere i sunt identice i alftel. Pentru irurile de caractere i , se noteaz prin
lungimea irului i prin irul obinut prin concatenarea lor. irul este un subir
(substring) al lui dac exist irurile i (inclusiv vide) astfel nct:

Dac , spunem c t este un prefix al lui , iar dac , se numete sufix. Pentru
indicii , irul este subirul

al lui . Subirurile de lungime se


mai numesc i -grame (k-grams).

Definiia 2.3 (subsecvene)
Spunem c este o subsecven (subsequence) a irului dac exist indicii

, astfel nct

pentru . Se folosete notaia


prescurtat , unde este o subsecven a lui caracterizat prin poziiile . Se
noteaz prin , numrul de indici ai secvenei, n timp ce este lungimea
subsecvenei n i are valoarea

. Prin notaia , se ntelege c indicii fac


referire la mulimi de indici strict ordonate:



Exemplul 2.4
Spre exemplu, cuvintele din aceast propoziie sunt toate iruri ale alfabetului
. Considerm irul de caractere . Avem, ,
este un prefix al lui , este un sufix al lui i mpreun cu
sunt toate trei subiruri ale lui . irul este o subsecven de lungime 4
i a crei lungime n este este .




49 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
n general, nucleele lan pot fi definite n mod explicit printr-o transformare explicit
din spaiul tuturor secvenelor finite peste un alfabet , ntr-un spaiu vectorial .
Coordonatele lui sunt indexate dup o mulime de iruri de caractere peste alfabetul .
n unele cazuri, va fi mulimea

de iruri de caractere de lungime ceea ce va conduce la


un spaiu de dimensiune

iar n altele spaiul vectorial va fi infinit indexat de

. Funcia
de transformare este notat cu :


Pentru fiecare spaiu asociat, exist mai multe transformri care pot fi alese. O
posibilitate pentru alegerea valorii lui

este s numrm de cte ori apare ca un ir


(continuu) de caractere n sau de cte ori apare ca o subsecven (necontinu).
Cea mai fireasc metod de a compara dou iruri de caractere este de a numra
cte subiruri de lungime au n comun. Se definete spectrul (spectrum) de ordin al unei
secvene prin histograma frecvenelor tuturor irurilor (continue) de caractere de lungime
. Informaii importante referitoare la similaritatea a dou iruri de caractere, pot fi obinute
prin compararea spectrului de ordin , n cazul n care vecintatea caracterelor joac un rol
cheie. Un nucleu poate fi definit ca fiind produsul scalar dintre dou spectruri de ordin .

Definiia 2.5 (nucleul spectrului de ordin )
Spaiul vectorial asociat unui nucleu spectral de ordin este indexat de

iar funcia
de transformare este dat de:


Nucleul asociat este definit n felul urmtor:



Exemplul 2.6 (nucleul spectral de ordin 2)
Fiind date irurile de caractere bar, bat, car i cat, spectrul lor de ordin 2 asociat
este:

cu toate celelalte dimensiuni indexate dup alte iruri de lungime doi, avnd valoarea ,
astfel nct matricea nucleu rezultat are urmtoarea form:



50 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor

Pentru calcularea acestui nucleu exist numeroase formule de recuren cu diferite
costuri ale complexitii ce variaz ntre i .
Se introduce un nucleu auxiliar cunoscut sub denumirea de nucleu sufix de ordin k (k-
suffix kernel):




Evaluarea lui

necesit comparaii a.. nucleul spectral de ordin poate fi


evaluat folosind urmtoarea ecuaie:



n operaii.














3. Metode de tip Kernel


Metodele de tip kernel (kernel methods) reprezint o clas de algoritmi folosii n
analiza i clasificarea informaiilor (pattern analysis), dintre care cel mai cunoscut este
clasificatorul SVM (support vector machine). Problema cu care se ocup analiza i
clasificarea informaiilor este de a gsi i de a studia tipuri generale de relaii (grupuri,
ierarhii, componente principale, corelaii, clasificri), n tipuri generale de date (secvene,
documente text, seturi de puncte, vectori, imagini etc.) [Seciunea 3.1].
Metodele de tip kernel abordeaz aceast problem prin translatarea datelor ntr-un
spaiu ascociat superior ca dimensiune, n care fiecare coordonat corespunde unei
caracteristici a datelor, prin transformarea datelor ntr-un set de puncte dintr-un spaiu
Euclidian. n acest spaiu, o multitudine de metode pot fi folosite pentru a gsi relaii n date.
Deoarece translatarea poate fi general (nu neaprat liniar), relaiile gsite n aceast
manier sunt la rndul lor foarte generale. Abordarea poart denumirea de artificiul nucleu
(kernel trick).
Numele acestor algoritmi provine de la folosirea funciilor nucleu (kernel functions)
[Seciunea 3.3.2], care le permit acestora s opereze n spaii asociate fr a calcula explicit
coordonatele datelor din acele spaii. Este nevoie doar de simpla calculare a produselor
scalare dintre imaginile perechilor de date n spaiile menionate. Aceast operaie este
deseori mai puin costisitoare d.p.d.v computaional dect calculul explicit al coordonatelor.
Funciile nucleu au fost introduse pentru att pentru cazurile secvenelor de date, graficelor,
textelor, imaginilor, ct i pentru cel al reprezentrii vectoriale.
Printre algoritmii capabili s beneficieze de avantajul kernel-urilor se numr mainile
cu vectori support (SVM), procesele Gaussiene, analiza discriminant liniar a lui Fischer



52 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
(LDA), analiza n componente principale (PCA), analiza canonic de corelare, regresia Ridge i
multe altele. Algoritmul de optimizare secvenial minimal este descris n seciunea (3.3.3).
Datorit culturii particulare a comunitii tiinifice care a nceput s dezvolte aceast
abordare ncepnd de la jumtatea anilor 1990, muli algoritmi kernel pun accentul pe
rezolvarea unor probleme de optimizare convex i valori proprii. Algoritmii sunt eficieni
d.p.d.v. computaional i bine documentai d.p.d.v. statistic.















3.1 Privire de ansamblu


Analiza i clasificarea informaiilor (pattern analysis) se ocup cu detectarea
automat a caracteristicilor datelor i joac un rol central n multe probleme moderne din
domeniile inteligenei artificiale i informaticii. Prin caracteristici (patterns) nelegem orice
relaie, regularitate sau structur inerente unei surse de date. Prin detectarea
caracteristicilor importante din datele disponibile, este posibil ca un sistem s fac predicii
despre noile date ce provin de la aceeai surs. Din acest punct de vedere putem spune c
sistemul a cptat o putere de generalizare, fiind capabil s nvee ceva despre sursa care a
generat datele. Exist numeroase probleme importante care nu pot fi rezolvate dect
aplicnd aceast metod. Problemele de bioinformatic, de clasificare a textelor (text
categorization), analiza imaginilor i regsirea informaiilor eb (web retrieval) sunt numai
cteva exemple de astfel de probleme. n ultimii ani analiza i clasificarea informaiilor a
devenit o abordare standard n ingineria software (software engeneering), fiind prezent n
multe aplicaii comerciale.
Abordrile iniiale au fost eficiente n gsirea relaiilor liniare dar nu au pus accentul
i pe fundamentarea descoperirii caracteristicilor neliniare (nonlinear patterns). Acest fapt a
fost privit n anii 60 ca un el major de cercetare. Revoluia neliniar din domeniul analizei
i clasificrii informaiilor s-a produs la mijlocul anilor 80 odat cu introducerea simultan a
reelelor de propagare invers (backpropagation networks) i a arborilor de decizie (decision
trees) [Breiman et al. 1984, Quinlan 1993, Hertz et al. 1991+. Cu toate c se bazau pe nite
euristici simple neavnd o fundaie teoretic solid, aceste abordri au fost primele care au
fcut un pas ctre o detectare eficient i sigur a caracteristicilor neliniare. Ele au permis
totodat i dezvoltarea unor ntregi domenii de studiu cum ar fi extragerea datelor (data
mining) i bioinformatica. Introducerea la mijlocul anilor 90 a metodelor kernel de nvare
(kernel methods) [Vapnik et al. 1964, Boser et al. 1992, Cristianini et al. 2000, Schlkopf et
al. 2002] a permis cercettorilor s se ocupe de studiul relaiilor neliniare, cu acelai grad de
nelegere i siguran cu care au fost studiate de-a lungul timpului metodele liniare. Din
toate punctele de vedere (computaional, statistic i conceptual) algoritmii neliniari de
analiz i clasificare a informaiilor dezvoltai n acest al treilea val sunt la fel de eficieni si de
bine fundamentai ca i cei liniari. Problemele minimului local i analizei statistice



54 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
incomplete, specifice reelelor neurale i arborilor de decizie au fost depite printr-o
manier suficient de flexibil care a fost aplicat cu succes unei game variate de aplicaii.
Ideea de baz de la care se pleac n construcia metodelor kernel este dat de
observaia care spune c relaiile dintre date pot fi translatate. Prin aceasta se nelege c
schimbnd reprezentarea datelor, vechile relaii pot fi rescrise n unele noi. Cel mai
convingtor exemplu a modului n care reprezentarea datelor poate face distincie ntre
caracteristicile ce pot fi nvate i cele care nu pot fi, ne este oferit de criptografie. Ea
ncearc s gseasc reprezentri ale datelor care par ntmpltoare, n cazul n care
reprezentarea corect, dat prin cheie, nu este cunoscut. Din acest punct de vedere,
cerina analizei i clasificrii informaiilor este opus. Ea ncearc s gseasc reprezentri n
care caracteristicile din date sunt suficient de explicite pentru a putea fi descoperite
automat.
Alegerea particular pe care o vom face este folosirea caracteristicilor care sunt
determinate de funcii liniare ntr-un spaiu al caracteristicilor ales convenabil. Translatarea
implic astfel selectarea unui spaiu al caracteristicilor pentru funciile liniare. Folosirea
funciilor liniare are i avantajul c putem specifica amnunit, ntr-un mod indirect dar
foarte natural, spaiul caracteristicilor prin intermediul unei aa-numite funcie nucleu
(kernel function). Aa cum vom putea vedea n continuare, metoda kernel ne permite s
lucrm n mod direct cu obiecte cum ar fi biosecvene, imagini, date text. Ea ne ofer i
posibilitatea de a lucra n spaii a cror dimensiune este mai mare dect cea polinomial,
costul computaional rmnnd tot polinomial. Aceasta ne asigur c folosirea funciilor
liniare nu afecteaz flexibilitatea problemei.
Dezideratul care se urmrete este construcia unor algoritmi de analiz i clasificare
a informaiilor pentru caracteristici specificate de funcii liniare ntr-un spaiu al
caracteristicilor definit printr-o funcie nucleu. Astfel, analiza i clasificarea informaiilor
poate fi privit ca un proces avnd doi pai. Iniial reprezentarea datelor dintr-o aplicaie
oarecare este modificat astfel nct relaiile dintre date s poat fi descrise cu ajutorul
funciilor liniare. Apoi, datelor transformate, li se poate aplica un algoritm liniar de analiz i
clasificare a datelor. Clasa astfel rezultat de algoritmi de analiz i clasificare a informaiilor
poart denumirea de metode kernel (kernel methods).













3.2 Prezentare general


Metoda kernel pornete de la observaia c recodificarea datelor nlesnete
modalitatea de identificare a relaiilor. Aceast abordare a analizei i clasificrii informaiilor
scufund (embed) ntr-o prim etap datele ntr-un spaiu ales convenabil, dup care
folosete algorimi bazai pe algebra liniar, geometrie i statistic pentru a descoperi relaii
ntre datele scufundate.
Orice soluie a metodei kernel se compune din dou pri: un modul care realizeaz
scufundarea n spaiul asociat i un algoritm de nvare menit s descopere relaii liniare n
acel spaiu. Exist dou argumente importante care explic de ce aceast abordare va oferi
rezultatele dorite. n primul rnd, detectarea relaiilor liniare a fost cercetat de cteva
decenii n statistic i nvare automat (machine learning), algoritmii dezvoltai fiind
eficieni i bine nelei. n al doilea rnd, exist o scurttur prin care se pot reprezenta
eficient relaiile liniare n spaii superior dimensionale. Aceast scurttur este ceea ce am
descris ca fiind funcia nucleu (kernel function).
Strategia de scufundare a datelor ntr-un spaiu n care putem privi caracteristicile ca
fiind relaii liniare, se face ntr-o manier modular. Exist dou componente distincte care
vor rezolva cei doi pai. Componenta iniial de transformare este definit n mod implicit de
funcia nucleu. Aceast component depinde de tipul specific al datelor i cunotiinele
domeniului referitoare la relaiile ce sunt ateptate s se iveasc din sursa respectiv de
date. Componenta algoritmului de analiz i clasificare a informaiilor este robust i are un
caracter general. n plus prezint i o analiz statistic a stabilitii. Algoritmul mai este i
eficient, n sensul c necesit o cantitate de resurse computaionale care este polinomial n
mrimea i numrul datelor de intrare chiar i atunci cnd dimensiunea spaiului n care sunt
scufundate datele crete exponenial.
Aceast strategie sugereaz o abordare de tip inginerie software (software
engeneering) pentru sistemele de nvare, bazat pe mprirea cerinelor n componente
mai mici i reutilizarea modulelor cheie.
n cele ce urmeaz, vor fi subliniate patru aspecte cheie ale acestei abordri
mpreun cu ilustrarea lor n figura 3.1:




56 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
datele sunt scufundate ntr-un spaiu vectorial numit spaiul caracteristicilor (feature
space);
sunt cutate relaii liniare printre imaginile datelor din spaiul caracteristicilor;
algoritmii sunt implementai de o asemenea manier nct coordonatele punctelor
scufundate nu sunt necesare, ci doar produselor scalare dintre ele;
perechile produselor scalare pot fi calculate eficient direct din datele originale, cu
ajutorul unei funcii nucleu.


Fig 3.1 Funcia scufund datele ntr-un spaiu asociat unde relaiile neliniare apar ca fiind
liniare. Funcia nucleu calculeaz produsele scalare n spaiul asociat direct din datele de
intrare.

Cu toate c a fost impus restricia de a folosi algoritmi ce optimizeaz funcii liniare,
observaiile de mai sus permit dezvoltarea unor metode fundamentate de descoperire a
relaiilor neliniare din date prin folosirea scufundrilor.








3.3 Modularitate


Prezentarea algoritmilor SVM din capitolul 2 a condus ctre construcia unei
proceduri algoritmice special adaptate pentru a folosi numai produsele scalare dintre datele
de intrare. Aceast metod poate fi combinat cu o funcie nucleu care calculeaz produsul
scalar al imaginilor dintre dou perechi de date de intrare scufundate ntr-un spaiu asociat,
fcnd astfel posibil implementarea algoritmilor ntr-un spaiu cu mai multe dimensiuni.
Modularitatea metodei kernel se caracterizeaz prin posibilitatea de a reutiliza
algoritmul de nvare. Acelai algoritm poate fi folosit cu diferite funcii nucleu fiind astfel
aplicabil indiferent de domeniul din care provin datele. Componenta kernel ine cont de date
dar poate fi combinat cu diferii algoritmi pentru a rezolva o gam variat de cerine. Toate
acestea conduc ctre o abordare natural i elegant n proiectarea sistemelor de nvare:
modulele se mbin ntre ele pentru a crea sisteme de nvare complexe. Figura 3.2 prezint
etapele necesare pentru implementarea analizei i clasificrii informaiilor bazat pe funcii
nucleu.


Fig 3.2 Etapele necesare aplicrii metodei kernel.

Datele sunt procesate folosind o funcie nucleu (kernel function) pentru a obine matricea
nucleu (kernel matrix). Aceasta este la rndul ei prelucrat de un algoritm de analiz i
clasificare a informaiilor pentru a se obine o funcie de clasificare (pattern function).
Funcia astfel rezultat va fi folosit pentru a analiza exemple noi de date.



58 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
Din punct de vedere computaional metoda kernel are dou proprieti importante.
n primul rnd ea permite accesul n spaii vectoriale de dimensiuni foarte mari cu un cost
computaional sczut att din punct de vedere al spaiului ct i al timpului i n al doilea
rnd, n ciuda complexitii funciilor de caracteristici rezultate, majoritatea algoritmilor
rezolv probleme de optimizare convex care nu sufer de minim local.
Subcapitolul va analiza n detaliu cele 3 componente modulare ale metodei kernel:
matricea nucleu, funciile nucleu i algoritmul de optimizare secvenial minim (SMO) ce
ofer o metod eficient de rezolvare a problemei duale prezentate n capitolul anterior.


3.3.1 Matricea nucleu

Dndu-se un set de vectori

, matricea Gram (gram matrix) este o


matrice de dimensiuni ale crei valori sunt

. Dac este folosit o funcie


nucleu pentru a evalua produsele scalare ntr-un spaiu asociat unei funcii de translaie ,
matricea Gram asociat are urmtoarele intrri:

x
i
x

x
i
x


n acest caz matricea poart i denumirea de matrice nucleu (kernel matrix). Notaia
standard pentru afiarea matricelor nucleu este urmtoarea:

unde simbolul K din colul stnga sus indic faptul c tabelul reprezeint o matrice nucleu.
Aceast matrice este simetric i are transpusa egal cu ea nsi. n plus, ea conine toate
informaiile necesare pentru a calcula distana dintre perechile aparinnd setului de date.
Exist ns i informaii care se pierd comparativ cu setul iniial de vectori. De exemplu,
matricea nu conine informaia legat de orientarea setului de date iniial n raport cu
originea. Mai important este c aceast reprezentare nu conine nicio informaie referitoare
la alinierea punctelor n raport cu axele de coordonate. Aceasta se datoreaz faptului c
orice rotaie a sistemului de coordonate nu schimb matricea produselor scalare, deoarece
ea este invariant la astfel de transformri.
Dac privim n urm la seciunea (2.5) din capitolul precedent i observm ecuaia
(2.36) putem constata c singurele informaii primite de clasificatorul SVM ca date de intrare



59 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
sunt matricea Gram sau matricea nucleu i valorile de ieire asociate. Cu alte cuvinte, toate
informaiile pe care le poate extrage un algoritm de analiz i clasificare a informaiilor
despre datele de antrenare i spaiul asociat n care acestea vor fi scufundate, sunt coninute
de matricea nucleu i de informaiile de etichetare asociate.
n acest sens matricea nucleu este privit ca punctul de gtuire a informaiei
(information bottleneck) ce are sarcina de a transmite suficiente informaii algoritmului
pentru ca acesta s i poat ndeplini sarcinile. Acest mod de a privi matricea, face din ea
tipul de date central pentru algoritmii ce se folosesc de metoda kernel. Cu alte cuvinte,
matricea nucleu acioneaz ca o interfa ntre datele de intrare i modulele de nvare.

Observaia 3.1
n cazul implementrii trebuie luat o msur de precauie referitoare la constrngerile de
memorie. Astfel, pentru seturi mari de date, ntreaga matrice nucleu nu va putea fi reinut
n memorie. n acest caz funcia nucleu va trebui recalculat pe msur ce sunt adugate noi
intrri.

Observaia 3.2
n cazul nvrii supervizate ce rezolv problema de clasificare binar cu etichetele
, este folosit matricea

numit Hesian (Hessian).



Definiia 3.3 (matrici semipozitiv definite)
O matrice simetric este semipozitiv definit dac toate valorile ei proprii sunt mai mari sau
egale cu zero.

Propoziia 3.4
Matricele Gram i matricele nucleu sunt semipozitiv definite.

Propoziia 3.5
O matrice este semipozitiv definit dac i numai dac

pentru o matrice B cu
valori reale.

Aplicnd proprietile recent enunate, putem rescrie problema de optimizare a
clasificatorului neliniar, folosind matricea nucleu (Hesian-ul):


unde

i sunt vectorii linie, respectiv coloan corespunztori parametrilor problemei.


Un aspect important al verificrii validitii funciilor nucleu cu ajutorul proprietii de
semipozitiv definire este c aceast condiie este valabil pentru o funcie definit pentru
orice tip de date de intrare. Astfel, nu este necesar ca la intrare s avem vectori cu valori



60 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
reale, caracterizarea aplicndu-se indiferent de tipul datelor, fie ele vectori cu componente
reale, structuri discrete, imagini, serii temporale .a.m.d. Folosind proprietatea matricei
nucleu de a fi semipozitiv definit, funcia nucleu calculeaz produsele scalare proiectnd
perechi de puncte de intrare ntr-un spaiu asociat. Figura 3.3 ilustrez acest lucru printr-o
scufundare, transformnd obiectele n vectori cu ajutorul funciei .


Fig 3.3 Folosirea funciilor nucleu permite aplicarea algoritmilor i pe alte tipuri de date
dect cele vectoriale.


3.3.2 Funcii nucleu

Aa cum am putut vedea pn n acest moment, folosirea funciilor nucleu constituie
o abordare remarcabil n identificarea relaiilor neliniare, prin aplicarea unor algoritmi
liniari binecunoscui ntr-un spaiu vectorial adecvat. Aceast abordare separ construcia
algoritmului de specificarea spaiului determinat de funcia nucleu. Indiferent de algoritmul
de analiz i clasificare a informaiilor folosit, proprietiile teoretice ale unei funcii nucleu
rmn aceleai.
O prim modalitate de a verifica c o funcie oarecare este i o funcie nucleu, o
constituie construirea spaiului asociat. Iniial se aplic transformarea dup care se



61 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
calculeaz produsul scalar dintre dou imagini. Aceast tehnic a fost folosit n aceast
lucrare atunci cnd s-a demonstrat c nucleul polinomial 2-dimensional este kernel.
Cea de-a doua modalitate se bazeaz pe definiia matricelor semipozitiv definite. Aa
cum se poate observa mai sus, matricea nucleu format prin evaluarea unei funcii nucleu
pentru fiecare pereche format din datele de intrare, este semipozitiv definit. Aceasta
constituie baza pentru urmtoarea definiie.

Definiia 3.6 (funcii semipozitiv definite)
O funcie satisface proprietatea de semipozitiv definire, dac este o funcie
simetric pentru care matricele formate prin restricionarea la orice submulime a spaiului
sunt semipozitiv definite.

Definiia nu impune mulimii s fie neaprat un spaiu vectorial.

Teorema 3.7 (de caracterizare a funciilor nucleu)
O funcie , care este continu sau are un domeniu finit, poate fi divizat n:

transformarea ntr-un spaiu Hilbert aplicat ambelor argumente, urmat de calcularea
produsului scalar n , dac i numai dac funcia satisface proprietatea de semipozitiv
definire.

Spaiul asociat unei funcii nucleu ce satisface proprietatea de semipozitiv definire poart
denumirea de spaiu Hilbert reprodus de funcia nucleu (reproducing kernel Hilbert space -
RKHS).

Caracterizrile fcute anterior att funciilor ct i matricelor nucleu, nu sunt utile
doar pentru a decide dac un candidat poate reprezenta un nucleu valid. Una din pricipalele
consecine este c pot fi folosite pentru a argumenta o serie de reguli ce permit manipularea
i combinarea unor nucleu-uri simple cu scopul de a obine altele mai complexe i mai
folositoare. Cu alte cuvinte, aceste operaii aplicate pe unul sau multe nuclee, pstreaz
proprietatea de semipozitiv definire a acestora. Astfel, funciile i matricele nucleu sunt
nchise la astfel de operaii. Atta timp ct este garantat c rezultatul unei operaii oarecare
este o matrice simetric i semipozitiv definit, datele pot fi scufundate ntr-un spaiu
asociat, chiar dac spaiul Hilbert reprodus de funcia nucleu este transformat prin aplicarea
respectivei operaii.








62 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
3.3.3 Algoritmul de optimizare secvenial
minimal (SMO)

Algoritmul de oprimizare secvenial minimal (sequencial minimal optimization -
SMO)[Platt 1998] ofer o modalitate eficient de rezolvare a urmtoarei problemei duale:



(3.1)

(3.2)



(3.3)

Putem privi aceast problem d.p.d.v matematic ca fiind o problem de optimizare
cuadric (quadratic optimization problem) a unei funcii cuadrice cu constrngeri liniare.
Pentru rezolvarea ei exist numeroase librrii de programare cuadric (quadratic
programming - QP) n care sunt implementai diveri algoritmi. Forma cuadric a problemei
implic construcia unei matrice care are un numr de elemente egal cu numrul de exemple
de antrenare ridicat la ptrat. Din aceast cauza ea nu poate ncpea n memorie n cazul n
care avem de-a face cu mai mult de 4000 de exemple de antrenare.
Primul care a ncercat s rezolve aceast problem a fost Vapnik [Vapnik 1979] prin
metoda numit tierea n buci (chunking). Algoritmul se bazeaz pe faptul c valoarea
formei cuadrice rmne neschimbat atunci cnd sunt eliminate liniile si coloanele matricei
care corespund multiplicatorilor Lagrange egali cu zero. Astfel, problema QP poate fi divizat
ntr-o serie de subprobleme mai mici, a cror ultim el este de a identifica toi multiplicatorii
Lagrange diferii de zero. Cu toate c aceast tehnic reduce semnificativ dimensiunea
matricei la o valoare egal cu numrul de multiplicatori Langrage diferii de zero ridicat la
ptrat, matricea rezultat tot nu poate ncpea n memorie.
n 1997, Osuna [Osuna et al. 1997] demonstreaz o teorem care faciliteaz
construcia unui set nou de algoritmi QP pentru clasificatorii SVM. Teorema afirm c
problemele QP mari pot fi divizate ntr-o serie de subprobleme QP mai mici. Fiecare pas va
reduce funcia obiectiv global i va avea un punct ce verific toate constrngerile, atta
timp ct cel puin un exemplu ce nu satisface condiiile KKT este adugat din subproblema
anterioar. Astfel, o secven de subprobleme QP care adaug ntotdeauna cte un violator
al condiiilor, converge garantat.
Osuna et al. sugereaz folosirea unei dimensiuni constante a matricei pentru fiecare
subproblem QP, fapt ce implic adugarea i tergerea aceluiai numr de exemple la
fiecare pas. Algoritmul descris n lucrarea lui Osuna [Osuna et al. 1997] folosete adugarea
i tergerea a cte unui singur exemplu la fiecare pas. Acest lucru este n mod evident



63 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
ineficient, de aceea cercettorii folosesc n practic adugarea i tergerea mai multor
exemple la fiecare pas, n conformitate cu anumite euristici nepublicate.
Algoritmul SMO descompune problema general QP n subprobleme, folosind
teorema lui Osuna [Osuna et al. 1997] pentru a asigura convergena. El nu necesita spaiu
suplimentar pentru memorarea unei matrice i nici nu folosete pai de optimizare numeric
QP.
Spre deosebire de metodele anterioare, algoritmul SMO rezolv la fiecare pas, cea
mai mic problem de optimizare posibil. Aceasta implic doi multiplicatori Lagrange,
deoarece multiplicatorii Lagrange trebuie s satisfac constrngerea liniar de egalitate. La
fiecare pas algoritmul SMO alege doi multiplicatori Lagrange, calculeaz valoarea lor optim
i nlocuiete valorile vechi cu cele nou calculate n clasificatorul SVM.
Avantajul algoritmului SMO const n faptul c rezolvarea subproblemei pentru doi
multiplicatori Lagrange poate fi fcut n mod analitic. Astfel, optimizarea numeric QP este
evitat. Cu toate c n cadrul acestui algoritm sunt rezolvate mai multe subprobleme de
optimizare, problem QP general este rezolvat rapid deoarece fiecare subproblem este
rezolvat ntr-un timp foarte scurt. Un alt avantaj al algoritmului SMO este c nu necesit
spaiu de memorare a matricei. Astfel, problemele cu multe exemple de antrenare pot fi
rezolvate de un calculator personal ce nu necesit o memorie suplimentar. Deoarece, n
cadrul SMO nu sunt folosii algoritmi care se bazeaz pe construcia matricei, problemele de
precizie numeric sunt de asemenea excluse.
Algoritmul SMO are dou componente: o metod analitic de rezolvare pentru cei
doi multiplicatori Lagrange i o euristic de alegere a respectivilor multiplicatori. n
continuare este prezentat descrierea algoritmului:

Repet pn converge
{
1. Se alege perechea

pentru actualizare (folosind o euristic ce


ncearc s aleag aceste dou valori astfel nct s fie fcut progresul
cel mai mare n direcia maximului global);
2. Se reoptimizeaz n raport cu

, innd ceilali


fixai.
}
Pentru a verifica convergena algoritmului, trebuie verificat dac sunt ndeplinite
condiiile KKT n marja unui parametru de toleran lund valori ntre 0.01 i 0.001. Motivul
principal pentru care algoritmul SMO este unul eficient se datoreaz faptului c actualizarea
parametrilor

se face foarte rapid.







64 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor

Metoda analitic de rezolvare pentru cei doi multiplicatori Lagrange

Presupunem iniial

fixai i dorim reoptimizarea lui

n
raport cu

satisfcnd concomitent i condiiile iniiale. Din ecuaia (3.3) rezult:


Deoarece partea dreapt a egalitii este fixat (deoarece am fixat

), o putem
nlocui printr-o constant :

(3.4)
Putem figura constrngerile

ca mai jos:

Fig 3.4
Din constrngerile (3.2), rezult c

trebuie s se gseasc n ptratul


prezentat n figur. n plus, mai este figurat i dreapta

pe care


trebuie s se gseasc de asemenea. Se observ n plus c

, n caz contrar cele


dou condiii descrise mai sus nu pot fi ndeplinite simultan. Pentru exemplul curent ,
dar aceast valoare depinde de forma pe care dreapta

o poate lua. n
general va exista o limit inferioar i una superioar , ntre care

va putea lua valori


astfel nct

s se gseasc n interiorul ptratului .


Folosind ecuaia (3.4),

se poate scrie ca o funcie de


Astfel funcia obiectiv poate fi rescris:


Tratnd parametrii

ca pe nite constante, se poate observa c acest funcie este


o funcie cuadric n

. Ea poate fi exprimat n forma

pentru anumite



65 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
valori ale lui i . Maximizarea funciei cuadrice se poate face ignornd constrngerile
(3.2) (sau echivalent, constrngerea

) i apoi egalnd derivatele funciei cu zero.


Valoarea aprut n urma rezolvrii acestor ecuaii va fi notat cu

. Aceast
valoare poate fi acum mrginit n intervalul dup cum urmeaz:




Valoarea optim a lui

poate fi aflat acum nlocuind

n ecuaia (3.4).

Euristici pentru alegerea celor doi multiplicatori Lagrange

Aa cum am putut vedea din teorema lui Osuna, dac la fiecare pas unul din cei doi
multiplicatori Lagrange, alei s fie modificai de algoritmul SMO, nu satisface condiiile KKT,
convergena algoritmului este garantat. Pentru a accelera aceast convergen, algoritmul
SMO folosete dou euristici de alegere pentru cei doi multiplicatori Lagrange: o euristic
pentru primul multiplicator Lagrange i alta pentru cel de-al doilea.
Prima abordare se concentreaz pe gsirea exemplelor care cel mai probabil nu
satisfac condiiile KKT (multiplicatorii Lagrange care nu sunt sau ). Un astfel de exemplu
gsit este eligibil pentru optimizare. Pe msur ce algoritmul SMO progreseaz, exemplele
aflate la limit (cu multiplicatorii Lagrange sau ) vor rmne cel mai probabil la limit, pe
cnd celelalte exemple se vor muta pe msur ce alte exemple sunt optimizate. Algoritmul
SMO se va concentra pe subsetul exemplelor care nu satisfac condiiile KKT pn cnd acesta
va deveni consistent; apoi algoritmul va scana tot setul de date pentru a vedea care dintre
exemplele aflate la margine nu mai satisfac condiiile KKT, fapt datorat optimizrilor
efectuate. Odat ce primul multiplicator Lagrange a fost selectat, algoritmul SMO alege cel
de-al doilea multiplicator Lagrange astfel nct s maximizeze progresul optimizrii comune.
n anumite circumstane, alegerea celui de-al doilea multiplicator Lagrange nu poate
realiza un progres pentru procesul de optimizare. n acest caz, algoritmul SMO folosete o
ierarhie de euristici pentru alegerea celui de-al doilea multiplicator, pn cnd i gsete
perechea cu care poate realiza un progres. Ierarhia const din urmtoarii pai: se ncearc
mai nti prima abordare descris anterior i n cazul n care nu se poate constata un progres,
algoritmul SMO caut prin exemplele care nu satisfac condiiile KKT, ncercnd s gseasc
un al doilea multiplicator Lagrange cu ajutorul cruia se poate realiza un progres. Dac nu
este identificat niciun astfel de exemplu, algoritmul SMO ncepe s caute un exemplu care
realizeaz un progres, n tot setul de antrenare. Ambele cutri descrise, pornesc de la poziii
aleatoare pentru a nu conduce algoritmul SMO ctre exemplele de la nceputul setului de
antrenare. n cazuri limit cnd nici un astfel de exemplu nu poate fi gsit, algoritmul SMO
alege alt exemplu n locul primului multiplicator Lagrange ales.



66 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
Algoritmul SMO a fost testat att pe aplicaii din lumea real ct i pe probleme
generate artificial. Printre avantajele care au fost constatate se numr: performana
algoritmului SMO pentru clasificatorii SVM liniari, performana algoritmului SMO pentru
clasificatori SVM att liniari ct i neliniari, n cazul cnd datele de intrare sunt puine,
performana algoritmului SMO datorat scalabilitii sale pentru problemele mari.
Experimental s-a constat c timpul de antrenare pentru algoritmul SMO variaz ntre ~N i
~N
2.2
. Datorit uurintei utilizrii i scalabilitii setului de antrenare, algoritmul SMO
reprezint algoritmul standard de nvare al clasificatorului SVM. Algoritmului i-au fost
aduse de-a lungul timpului importante modificri i mbuntiri, dezvoltndu-se chiar i ali
algoritmi bazai pe structura sa, dintre care cele mai recent folosite n bibliotecile open-
source fiind cele dezvoltate de Fan et al. 2005 i Glasmachers et al. 2006.

















4. Experimente, rezultate i
concluzii


n acest capitol voi descrie experimentele efectuate de mine n vederea obinerii unor
rezultate n ceea ce privete clasificatorul SVM. Seciunea 4.1 ofer o viziune de ansamblu
asupra coleciei de date Reuters-21578, folosit n experimente. Aceste documente au fost
prelucrate astfel nct s imi permit utilizarea bibliotecii WEKA [seciunea 4.2], un
instrument foarte folosit n domeniul nvrii automate. Formatul nativ pentru aceast
librrie (ARFF) este descris n seciunea 4.2.1. n afar de algoritmul standard SMO pentru
vectori suport, biblioteca WEKA are implementat o facilitate ce i permite s lucreze i cu
alte biblioteci. O astfel de bibliotec binecunoscut n studiul vectorilor suport este LIBSVM
[seciunea 4.2.2]. n continuare se trece la prezentarea rezultatelor obinute pentru cele trei
tipuri de nuclee (liniar, polinomial i gaussian), nu nainte de a se face o descriere
amnunit a operaiilor de selectare i de prelucrare a datelor [Seciunea 4.3]. Concluziile i
observaiile experimentelor sunt prezentate n seciunea 4.4.







4.1 Corpusul Reuters-21578


Colecia de documente Reuters-21578 a reprezentat de-a lungul timpului principalul
criteriu de referin n evaluarea clasificrii documentelor. Aceast colecie conine 21578
articole de tiri, colectate i categorizate de firmele Carnegie Group, Inc. i Reuters, Ltd. n
vederea construirii sistemului de clasificare a textelor CONSTRUE.
Aceste documente sunt de fapt articole de tiri emise de agenia Reuters n anul
1987. Tot n acelai an, ele au fost colectate i categorizate. Din 1990 ele au fost disponibile
laboratorului de regsire a informaiei din cadrul departamentului de infromatic de la
Universitatea Massachusetts, pentru cercetare. n urmtorii trei ani datele au fost
reformatate i au fost create fiierele corespunztoare. Prima versiune disponibil pentru
publicul larg a fost lansat n 1993, sub denumirea Reuters-22173. Oportunitatea de a face
colecia Reuters-22173 comparabil pentru rezultatele diverselor studii de specialitate, a
condus la o reorganizare a corpusului. n plus au fost observate 595 de documente duplicat
care au fost eliminate, ajungndu-se astfel la forma final a corpusului, Reuters-21578.
Persoana care a participat de la bun nceput n aceast proces a fost David D. Lewis.
Corpusul este compus din 22 de fiiere n format SGM, primele 21 (reut2-000.sgm
pn la reut2-020.sgm) coninnd cte 1000 de documente, n timp ce ultimul (reut2-
021.sgm) conine 578 de documente. Formatul SGM folosete <etichete> (tags) pentru a
face distincie ntre documente i ntre seciuni din cadrul unui document. Fiecare articol
ncepe cu urmtoarea etichet:

unde poate lua valorile , valorile
, valorile , iar
semnificaia lor este urmtoarea:
indic dac documentul are sau nu asignate una sau mai multe categorii
n corpusul Reuters-22173;
- marcheaz dac documentul a fost folosit pe post de document de
antrenare, de test, sau nu a fost folosit deloc n experimentele efectuate de Lewis n
1991, 1992 i 1994;




69 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
- marcheaz dac documentul a fost folosit pe post de document de
antrenare sau de testare n experimentele efectuate de Hayes et al. n 1989 i 1990;
- numrul de identificare al articolului n colecia Reuters-22173;
numrul de identificare al articolului n colecia Reuters-21578.

Dintre etichetele interne ale unui document merit menionate i .
Eticheta are o subetichet n interiorul creia se gsete textul
propriu-zis al documentului. n figura 4.1 este prezentat un astfel de document al coleciei cu
etichetele asociate.
Fig 4.1 Un model de document din colecia Reuters-21578.

Cele 21578 de documente aparin unui numr de 135 categorii valide, iar un
document poate aparine niciuneia sau mai multor astfel de categorii. Cel mai frecvent se
ntlnesc documente ce sunt atribuite unei singure clase.
Pentru testarea unei metode de categorizare a textelor, este important ca
dezvoltarea sistemului s nu fie pe nedrept influenat de cunotiinele despre natura
datelor pe care se testeaz, altfel performanele obinute vor fi mai mari dect n realitate. O
modalitate de a depi acest inconvenient este prin mprirea setului de date n dou
subseturi: un set de antrenare (training set) i un set de test (test set).
Eficacitatea rezultatelor poate fi comparat doar pentru studiile care folosesc
aceleai set de antrenare i acelai set de test (sau care folosesc validarea n cruce (cross-
validation)). O problem a coleciei Reuters-22173, cauzat de ambiguitatea formatrii i



70 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
adnotrii corpusului, a fost c a condus la folosirea unor seturi de antrenare i testare
diferite, n lucrrile de cercetare. Problema a survenit cnd cercettorii au ncercat s dea la
o parte documentele care nu aveau asignat nicio categorie, deoarece existau mai multe
definiii ale acestui concept. Pentru a elimina aceste ambiguiti din colecia Reuters-21578,
se specific n mod explicit care sunt documentele care pot fi folosite pe post de documente
de antrenare, respectiv de testare. Acest lucru este realizat prin valorile date etichetelor
, < i . Cele mai cunoscute 3 astfel de mpriri
(splits) sunt prezentate n cele ce urmeaz:

1. mprirea sugerat de Lewis (ModLewis)
13.625 documente n setul de antrenare:

6.188 documente n setul de test:

1.765 documente nefolosite:

2. mprirea sugerat de Apte (ModApte)
9.603 documente n setul de antrenare:

3.299 documente n setul de test:
8.676 documente nefolosite:



3. mprirea sugerat de Hayes (ModHayes)
20.856 documente n setul de antrenare:
722 documente n setul de test:
0 documente nefolosite













Tabelul 4.2 Primele zece cele mai mari clase din colecia Reuters-21578 n ceea ce privete
numrul documentelor de antrenare i de test.
CATEGORIE
(CLAS)
Documente
de antrenare
Documente
de test
earn 2877 1087
aquisition 1650 700
money-fx 538 179
grain 433 149
crude 389 189
trade 369 119
interest 347 131
ship 197 89
wheat 212 71
corn 182 56



71 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor

n lucrrile recente [Joachims 1998; Dumais et al. 1998; Shapire et al. 1998; Weiss et
al. 1999], a fost folosit n mod invariabil subsetul de date ModApte care include numai
documente vizualizate i evaluate de o persoan care le-a indexat. Repartizarea
documentelor pe clase este neuniform, de aceea unele lucrri evalueaz sistemele de
clasificare din perspectiva primelor zece categorii n ordinea descresctoare a numrului de
documente. Aceste categorii pot fi vizualizate n tabelul 4.2.






























4.2 Biblioteca WEKA


WEKA (Waikato Environment for Knowledge Analysis) reprezint un cadru de lucru
pentru aplicarea diferitelor operaii din domeniul nvrii automate (machine learning).
Este o bibliotec software scris n limbajul de programare Java i distribuit sub licena
GNU General Public License.
WEKA conine implementrile unor algoritmi de clasificare, clusterizare i extragere
de reguli de asociere (association rule mining), mpreun cu interfee grafice pentru
utilizatori i utilitare pentru vizualizare, n explorarea datelor i evaluarea algoritmilor. WEKA
lucreaz cu date formatate n mod diferit: pe lng formatul nativ ARFF sunt acceptate i alte
formate (CSV, fiiere ASCII MATLAB). O prezentare general a sistemului a fost realizat de
Hall et al. 2009; surse mai cuprinztoare de informaii sunt cartea scris de Witten i Frank n
2005 i manualele utilizatorului incluse n distribuia software
2
. Sursele online, printre care
se numr pagina Wiki WEKA
3
i API-urile asigur o acoperire complet. Lista de email-uri
wekalist este un forum de discuii cu peste 3000 de membrii nregistrai.
Proiectul a debutat n 1993 la Universitatea Waikato, fiindu-i acordat o subvenie din
partea Fundaiei neo-zeelandeze pentru Cercetare, tiin i Tehnologie. Prin el s-a dorit
crearea unei comuniti de cercetare, domeniul nvrii automate fiind ales datorit
potenialului su de aplicabilitate n agricultur, principala industrie din Noua Zeeland. Dei
iniial a fost dezvoltat n limbajul C, n 1997 biblioteca a fost rescris de la zero n Java
datorit simplificrilor aduse de limbaj n special n analiza erorilor (debugging). Versiunea
scris n Java s-a numit iniial JAWS (Java Weka system), dar n martie 1999 a fost adoptat
termenul de WEKA.
Numrul de email-uri din lista wekalist, numrul de descrcri (donwloads) i
numrul de lucrri academice care citeaz WEKA, demonstreaz c sofware-ul a devenit
foarte popular. Este folosit n cadrul domeniilor nvrii automate i extragerii informaiei
din texte (text mining) att ca un instrument de nvare i aplicare a algoritmilor specifici,
ct i ca o unealt de cercetare pentru dezvoltarea i compararea rezultatelor obinute pe
baza unor tehnici noi. Unul din principalele motive pentru succesul de care se bucur WEKA

2
Dispobibil la adresa http://www.cs.waikato.ac.nz/ml/weka
3
Disponibil la adresa http://weka.wikispaces.com/



73 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
este c biblioteca este distribuit gratis (open-source project). Alte motive ar mai fi:
portabilitatea folosirii pe diferite maini de lucru datorat implementrii mainii virtuale Java
(JVM), interfaa grafic pentru utilizatori n special seciunea Explorer ce a permis acestora
s pun n practic mult mai uor algorimii de nvare automat, extensibilitatea ce permite
crearea de noi algoritmi i compararea lor cu cei existeni, documentaia dezvoltat online
ca parte a WEKA Wiki n combinaie cu informaiile din lista de email-uri wekalist a condus la
crearea unei adevrate comuniti de dezvoltatori WEKA.


4.2.1 Formatul ARFF

Un fiier n format ARFF (Attribute-Relation File Format) este un fiier text ASCII
care descrie o list de instane (instances) ce au n comun un set de atribute (attributes).
Fiierele ARFF au dou seciuni distincte: informaiile din zona de declarri (header)
sunt urmate de seciunea propriu-zis de date (data).

Zona de declarri
Aceast zon conine numele relaiei (relation), o list de atribute (coloanele datelor)
mpreun cu tipurile lor.

Declararea relaiei(@relation)
Numele relaiei este declarat pe prima linie a fiierului ARFF:

unde este un ir de caractere ce trebuie inclus ntre
apostraofe atunci cnd conine spaii.

Declararea atributelor(@attribute)
Declararea atributelor se face prin niruirea secvenelor @attribute. Fiecare atribut
din setul de date are propria declarare @attribute, ce definete n mod unic numele
atributului i tipul de date asociat. Ordinea n care atributele sunt declarate
corespunde cu poziia de pe coloan din seciunea de date a fiierului. Spre exemplu,
dac un atribut este declarat al 3-lea, atunci WEKA se ateapt ca valorile atributului
s se gseasc pe a 3-a coloan delimitat de virgule (,). Formatul instruciunii
@attribute este urmtorul:

unde trebuie s nceap cu o liter i trebuie de asemenea
inclus ntre apostraofe atunci cnd conine spaii.



74 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
Tipul poate fi doar unul dintre cele 4 tipuri suportate de WEKA:
numeric (numeric)
ntreg (integer) care este tratat ca i numeric
real (real) care este tratat ca i numeric
nominal (nominal)
ir de caractere (string)
dat calendaristic (date)

Atributele numerice - pot fi numere ntregi sau reale.
Atributele nominale - sunt specificate prin definirea unei liste cu valorile posibile:

Atributele iruri de caractere se pot memora cu ajutorul lor propoziii i fraze.
Atributele date calendaristice se declar n felul urmtor:

unde este numele atributului i este un parametru
opional care specific modul de parsare i de afiare a datei calendaristice. Formatul
standard este .

Zona de date
Aceast zon conine o linie prin care se specific c urmeaz s fie declarate date mpreun
cu instanele afiate pe mai multe linii.

Declararea datelor(@data)
Declararea datelor se face cu ajutorul sintagmei .

Declararea instanelor
Fiecare instan este scris pe o singur linie pn la ntlnirea unui simbol ce
marcheaz sfritul liniei curente (carriage return). Simbolul (%) introduce un
comentariu care se ntinde pn la sfritul liniei curente. Valorile atributelor fiecrei
instane sunt desprite prin virgul (,). Ele apar n ordinea n care au fost declarate n
zona declarrilor (valoarea corespunztoare celui de-al -ulea atribut se va gsi pe a
-a poziie a instanei). Valorile lips sunt reprezentate printr-un semn de ntrebare
(?). Valorile irurilor de caractere i atributelor nominale fac distincie ntre literele
mici i mari, iar n cazul n care sunt desprite prin spaii trebuie incluse ntre
apostroafe(). Datele calendaristice trebuie transcrise n seciunea de date n acelai
format specificat la declararea atributului corespunztor. De asemenea, ele trebuie
puse ntre ghilimele().

n figura 4.3 putem observa cum arat un document transcris n formatul ARFF,
evideniind toate caracteristicile descrise mai sus.




75 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor

Fig 4.3 Un document din setul de date standard IRIS, transpus n formatul ARFF.

Fiiere ARFF cu date mprtiate (sparse)
Fiierele ARFF cu date mprtiate sunt foarte asemntoare cu fiierele ARFF, cu singura
deosebire c valorile 0 nu sunt explicit reprezentate. Ele au n comun aceeai zon de
declarri dar difer n zona de declarare a datelor. Spre exemplu, n loc de a reprezenta
fiecare valoare n ordine:



sunt descrise n mod explicit doar valorile diferite de zero prin numrul atributului i
valoarea lui:



Fiecare instan este reprezentat ntre acolade (,-), iar formatul fiecreia este:
unde este indexul atributului ncepnd cu 0.



76 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
De menionat c valorile omise de reprezentarea datelor mprtiate sunt 0 i nu
valori lips. Dac o valoare este necunoscut ea se reprezint printr-un semn de ntrebare
(?).


4.2.2 Biblioteca LIBSVM

LIBSVM [Chang and Lin 2001+ este o bibliotec pentru mainile cu vectori suport
(SVM) a crei dezvoltare a nceput n anul 2000 cu ajutorul a dou grant-uri oferite de
Consiliul Naional Taiwanez de tiin. n prezent a ajuns s fie una dintre cele mai folosite
biblioteci de acest gen. LIBSVM este un software integrat pentru probleme cu vectori suport
de clasificare (C-SVC, nu-SVC), regresie (epsilon-SVR, nu-SVR) i estimare de distribuii (one-
class SVM). Suport de asemenea i clasificarea multiclase. Mai multe detalii pentru
instruciuni de folosire a bibliotecii se pot gsi n fiierul README inclus n pachet,
consultnd cele mai frecvente ntrebri
4
i studiind ghidul practic scris de Hsu el al. (2003).
Toate tipurile de algoritmi descrii reprezint probleme de minimizare cuadric.
Pentru a rezolva optim problema de minimizare biblioteca LIBSVM, folosete o
descompunere a matricei nucleu similar ca idee cu a algoritmului SMO dar avnd i unele
diferene. Aceast metod a fost propus de Fan et al. (2005). Pentru o mai rapid
funcionare se folosesc metode de eliminare a unor elemente (shrinking), rezultnd o
problem de optimizare mai mic. De asemenea, timpul de calcul al metodei de
descompunere este redus prin memorarea (caching) celor mai recent folosite elemente din
matricea nucleu. n ceea ce privete complexitatea computaional a algoritmilor nu s-a
ajuns nc la un rezultat teoretic, dar din punct de vedere experimental, este cunoscut c
numrul de iteraii este mai mare dect un timp liniar n raport cu numrul exemplelor de
antrenare.
WEKA i LIBSVM sunt dou utilitare software folosite pentru construcia
clasificatorilor SVM. Fiecare dintre cele dou are avantajele i dezavantajele sale. WEKA are
o interfa grafic ce ofer multe statistici interesante (matricea de confuzie, precizie,
msura F, scoruri ROC), n timp ce LIBSVM ruleaz mult mai repede dect algoritmul SMO
din WEKA. WEKA LIBSVM (WLSVM) [EL-Manzalawy and Honavar 2005] combin
funcionalitile celor dou utilitare. WLSVM poate fi privit ca o implementare a bibliotecii
LIBSVM ce ruleaz n mediul WEKA.


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


4.3 Rezultate Experimentale


n cele ce urmeaz voi descrie rezultatele exprimentelor pe care le-am efectuat prin
aplicarea clasificatorului SVM pe setul de date Reuters-21578. Aa cum am menionat n
urm cu dou seciuni, acest set de date a fost ales deoarece a reprezintat de-a lungul
timpului principalul criteriu de referin n clasificarea documentelor. Pentru a putea
compara rezultatele obinute cu cele ale altor studii, am folosit submulimea de documente
ModApte i m-am concentrat doar asupra primelor zece categorii n ordinea descresctoare
a numrului de documente. Acestea sunt: earn, acquisition (acq), money-fx, grain, curde,
trade, interest, ship, wheat i corn. n ceea ce privete algoritmii pentru rezolvarea
problemei de clasificare binar, am folosit algoritmul standard SMO al bibliotecii WEKA i un
algoritm mai recent implementat n biblioteca LibSVM. Funciile nucleu folosite n
experimente au fost nucleul liniar, polinomial de diverse grade i cel gaussian (rbf).
Implementarea am realizat-o n limbajul de programare Java folosind ultimele versiuni ale
bibliotecilor: WEKA 3.6.4 i LibSVM 3.0. Am comparat rezultatele obinute pentru diferite
valori ale parametrilor de antrenare (parametrul de regularizare C, gradul polinoamelor i
parametrul gamma ).

Prelucrarea datelor
Pentru a putea folosi facilitile bibliotecii WEKA a trebuit ca mai nti s transform
datele coleciei Reuters-21578 din formatul SGM original n formatul ARFF. Pentru o mai
mare uurin n prelucrarea lor, am folosit acelai set de date dar n format XML
5
pe care l-
am parsat cu ajutorul bibliotecii SAX (Simple API for XML)
6
.
n urma operaiei de selectare a documentelor corespunztoare submulimii
ModApte, au rezultat un numr de 9108 documente pentru cele zece categorii considerate,
dintre care 6574 documente de antrenare i 2534 documente de testare. Numrul de
documente pentru fiecare clas n parte poate fi vizualizat n tabelul 4.4 de mai jos. Se poate
observa c valorile din tabelele 4.2 i 4.4 nu coincid, deoarece am eliminat din calcul acele

5
Disponibil la adresa http://modnlp.berlios.de/reuters21578.html
6
Disponibil la adresa http://www.saxproject.org/



78 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
documente care nu conineau informaie n tag-ul . De asemenea, documentele
care erau etichetate ca aparinnd mai multor clase le-am distribuit fiecrei categorii n














Tabelul 4.4 Numrul de documente de antrenare i de test.

parte. Un numr de dou documente erau etichetate de dou ori cu aceeai etichet,
problem rezolvat prin tergerea unei etichete din cele dou (documentul cu
conine eticheta de dou ori i documentul cu
conine eticheta de dou ori). Toate aceste documente pot fi folosite pe post de
exemple pozitive (documente etichetate cu eticheta clasei ) pentru fiecare clas n parte.
Pentru a obine documente etichetate negativ (), am selectat acele documente cu
atributul dar crora nu li s-a specificat nicio etichet n tag-ul
. Am obinut un numr de 1975 documente etichetate negativ. Acest observaie
a fost sugerat de Lewis
7
, cu meniunea c orice document dintre acestea poate fi folosit
drept exemplu negativ pentru oricare din cele 135 de categorii disponibile n colecia
Reuters-21578. Urmnd indicaiile studiilor de specialitate, am pstrat acelai raport ntre
numrul exemplelor etichetate negativ i numrul celor etichetate pozitiv, pentru fiecare
categorie, ntre documentele de antrenare i cele de testare. nsumnd numrul
documentelor cu exemple negative cu numrul de documente obinute anterior, am ajuns la
un numr total de 11083 documente distincte folosite n experimente. Tabelul 4.5 prezint o
statistic a numrului de documente.
Pentru fiecare clas n parte a fost generat cte un fiier ARFF de antrenare, respectiv
de testare. Fiecare fiier conine dou atribute: un atribut de tip ir de caractere (string)
corespunztor textului dintr-un document i un atribut nominal cu valorile ce
specific dac documentul curent este un exemplu pozitiv () sau negativ (). Instanele
conin documentele alese pentru clasa respectiv, mpreun cu o instan global, prezent
n toate documentele, ce este alcatuit din toate cuvintele distincte ce compun vocabularul
celor 11083 de documente. Aceast instan este etichetat drept un exemplu negativ, iar

7
Din README.TXT http://www.daviddlewis.com/resources/testcollections/reuters21578/readme.txt
Categorie
(clas)
Documente
de antrenare
Documente
de test
acquisition 1488 643
corn 159 48
crude 349 161
earn 2709 1044
grain 394 134
interest 289 100
money-fx 460 141
ship 191 85
trade 337 112
wheat 198 66
TOTAL (9108) 6574 2534



79 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
prezena ei este necesar pentru uniformizarea numrului de atribute prezent n fiecare
fiier ARFF, n cazul folosirii modelului de tip sac de cuvinte (bag-of-words). Un astfel de
fiier ARFF are urmtoarea structur i poate fi folosit atunci cnd se dorete testarea
nucleului de tip lan (string):


























Tabelul 4.5 Statistic privind numrul de exemple pozitive i negative pentru documentele
de antrenare i cele de test.


Fiierele ARFF create pn n acest moment nu pot fi folosite n cazul celorlalte tipuri
de nuclee n afara celui lan, pentru simplul motiv c nu conin nicio informaie referitoare la
frecvenele cuvintelor. Pentru rezolvarea acestui impediment, am aplicat filtrul
StringToWordVector disponibil n WEKA care transform fiierul curent ntr-un fiier ARFF ce
are ca atribute cuvintele distincte din text, iar ca instane numrul de ocurene ale fiecrui
termen n documentul curent, folosind reprezentarea tf-idf. n plus, atributul care specific
dac documentul este un exemplu pozitiv sau negativ, se pstreaz. Datorit faptului c
documentele selectate pentru o categorie anume nu conin toate cuvintele din vocabular, se
folosete reprezentarea pentru un fiier ARFF cu date mprtiate (sparse).

CATEGORIE
(CLAS)
Documente de
antrenare
Documente de
test
+ - + -
acquisition 1488 1975 643 854
corn 159 1975 48 597
crude 349 1975 161 912
earn 2709 1975 1044 762
grain 394 1975 134 672
interest 289 1975 100 684
money-fx 460 1975 141 606
ship 191 1975 85 879
trade 337 1975 112 657
wheat 198 1975 66 659
TOTAL (36140) 6574 19750 2534 7282



80 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
Filtrul StringToWordVector conine o serie de opiuni care pot fi folosite pentru a mai
reduce numrul mare de atribute. Dintre ele am folosit: lowerCaseTokens (transformarea
literelor mari n litere mici), SnowballStemmer (elimin afixele din forma unui cuvnt, lsnd
numai rdcina) ce implementeaz algorimul descris de Porter (1980), useStoplist = true
(eliminarea cuvintelor cel mai frecvent folosite n limba englez
8
), outputWordCounts = true
(scrie n fiier numrul de apariii ale fiecrui atribut), IDFTransform = true (folosete
reprezentarea tf-idf), AlphabeticTokenizer (excluderea cuvintelor ce nu sunt alctuite numai
din litere). n urma aplicrii filtrului au rezultat un numr de 21641 de atribute. Valorile
atributelor au fost normalizate n intervalul [0,1] prin aplicarea filtrului Normalize.
Fiierele ARFF rezultate n urma tuturor acestor operaii pot fi acum folosite ca date
de intrare pentru algoritmii bibliotecii WEKA.

Rezultate
Rezultatele ce urmeaz s fie prezentate, evideniaz avantajele folosirii fiecruia
dintre cele trei tipuri de nuclee: liniar, polinomial i gaussian(rbf). Pentru fiecare dintre
acestea, am folosit diferii parametrii de antrenare (parametrul de regularizare C, gradul
polinomului E i parametrul gamma ) n vederea obinerii celor mai bune rezultate posibile.
Selectarea parametrilor a fost fcut pe baza consultrii n prealabil a unor lucrri i metode
descrise pentru obinerea lor [Caruana and Niculescu-Mizil 2006; Hsu el al. 2003]. Nucleele
au fost comparate folosind cei doi algoritmi menionai: Weka SMO i LIBVSM. Ca metrici de
evaluare a corectitudinii algoritmilor de clasificare, am folosit precision(P) i recall(R),
deoarece sunt cele mai folosite. n termenii unei probleme de clasificare cele dou noiuni se
definesc dup cum urmeaz:


unde numrul valorilor pozitive adevrate reprezint numrul de elemente corect etichetate
cu eticheta clasei pozitive (true positive - tp) i numrul total de elemente etichetate cu
clasa pozitiv reprezint suma dintre i numrul elementelor incorect etichetate cu clasa
pozitiv (false positive - fp).


unde numrul total de elemente care aparin de drept clasei pozitive reprezint suma dintre
i numrul elementelor care ar fi trebuit etichetate cu clasa pozitiv dar care nu au fost
(false negative - fn).




8
Lista cuvintelor disponibil la adresa http://www.ranks.nl/resources/stopwords.html



81 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
Msura denumit tradiional msura F (F-measure) sau scorul F echilibrat (balanced
F-score), este definit ca media armonic a lui i :




Msura mai este notat cu F1 i a fost calculat pentru prima oar de van Rijsbergen (1979).
n continuare voi prezenta tabelele cu rezultatele obinute.


Tabelul 4.6 a) Rezultate obinute aplicnd algoritmul SMO pentru nucleul liniar, variind
parametrul de regularizare C ntre 10
-2
i 10
1
. Subliniate sunt valorile maxime ale msurii F1
cu o precizie de 3 zecimale.


Tabelul 4.6 b) Rezultate obinute aplicnd algoritmul LIBSVM pentru nucleul liniar, variind
parametrul de regularizare C ntre 10
-2
i 10
1
. Subliniate sunt valorile maxime ale msurii F1
cu o precizie de 3 zecimale.



WEKA SMO
LINIAR KERNEL
C = 10
-2
C = 10
-1
C = 10
0
= 1 C = 10
1

P R F1 P R F1 P R F1 P R F1
acquisition
.978 .827 .896 .982 .946 .964 .998 .942 .97 .998 .93 .963
corn
1 .083 .154 .976 .854 .911 1 .958 .979 1 .958 .979
crude
.978 .28 .435 .98 .894 .935 .987 .944 .965 .987 .944 .965
earn
.984 .99 .987 .994 .994 .994 1 .992 .996 1 .992 .996
grain
.958 .172 .291 .992 .918 .953 1 .963 .981 1 .978 .989
interest
1 .11 .198 .968 .73 .839 1 .82 .901 1 .79 .883
money-fx
1 .305 .467 1 .816 .898 1 .865 .928 1 .865 .928
ship
.875 .082 .151 .984 .729 .838 .984 .718 .83 .984 .718 .83
trade
1 .33 .479 1 .875 .933 .991 .938 .963 .99 .929 .959
wheat
1 .091 .167 1 .909 .952 1 .939 .969 1 .955 .977
LIBSVM
LINIAR KERNEL
C = 10
-2
C = 10
-1
C = 10
0
= 1 C = 10
1

P R F1 P R F1 P R F1 P R F1
acquisition
.978 .827 .896 .982 .946 .964 .998 .942 .97 .998 .93 .963
corn
1 .083 .154 .976 .854 .911 1 .958 .979 1 .958 .979
crude
.978 .28 .435 .98 .894 .935 .987 .944 .965 .987 .944 .965
earn
.984 .99 .987 .994 .994 .994 1 .992 .996 1 .992 .996
grain
.958 .172 .291 .992 .918 .953 1 .963 .981 1 .978 .989
interest
1 .11 .198 .968 .73 .839 1 .82 .901 1 .79 .883
money-fx
1 .305 .467 1 .816 .898 1 .865 .928 1 .865 .928
ship
.875 .082 .151 .984 .729 .838 .984 .718 .83 .984 .718 .83
trade
1 .33 .479 1 .875 .933 .991 .938 .963 .99 .929 .959
wheat
1 .091 .167 1 .909 .952 1 .939 .969 1 .955 .977



82 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor



WEKA SMO
POLY KERNEL
C = 10
-3
& E = 2 C = 10
-2
& E = 2 C = 10
-1
& E = 2 C = 10
0
=1 & E = 2 C=10
1
& E = 2
P R F1 P R F1 P R F1 P R F1 P R F1
acquisition
.579 .999 .729 .711 .998 .83 .998 .802 .89 .998 .933 .965 .998 .942 .97
corn
.667 .042 .078 .857 .125 .218 .962 .521 .676 .969 .646 .775 .97 .667 .79
crude
.8 .025 .048 .973 .224 .364 .987 .472 .639 .988 .516 .678 .988 .516 .678
earn
.604 .999 .753 .945 .995 .969 1 .988 .994 1 .986 .993 1 .986 .993
grain
.75 .022 .043 .963 .194 .323 .989 .642 .778 1 .799 .888 .991 .806 .889
interest
.857 .06 .112 .958 .23 .371 1 .5 .667 1 .64 .78 1 .63 .773
money-fx
.947 .128 .225 .981 .376 .544 1 .66 .795 1 .745 .854 1 .766 .867
ship
.923 .141 .245 .952 .235 .377 .952 .235 .377 .952 .235 .377
trade
.75 .027 .052 .977 .384 .551 .985 .589 .737 .953 .723 .822 .953 .732 .828
wheat
.875 .106 .189 .976 .606 .748 1 .773 .872 1 .773 .872
C = 10
-3
& E = 3 C = 10
-2
& E = 3 C = 10
-1
& E = 3 C = 10
0
=1 & E = 3 C=10
1
& E = 3
P R F1 P R P R F1 P R P R F1 P R
acquisition
.909 .016 .031 .968 .047 .089 .965 .984 .975 .994 .252 .402 .994 .263 .416
corn
.667 .042 .078 .889 .167 .281 .923 .25 .393 .933 .292 .444 .941 .333 .492
crude
.833 .031 .06 .952 .124 .22 .975 .242 .388 .975 .242 .388 .975 .242 .388
earn
.664 .999 .798 .914 .997 .954 .996 .99 .993 1 .986 .993 1 .983 .991
grain
.833 .037 .071 .955 .157 .269 .977 .321 .483 .984 .463 .629 .97 .485 .647
interest
.857 .06 .112 .96 .24 .384 1 .4 .571 .978 .44 .607 1 .48 .649
money-fx
.955 .149 .258 .974 .27 .422 .97 .454 .618 1 .539 .7 1 .518 .682
ship
.667 .024 .045 .75 .035 .067 .833 .059 .11 .833 .059 .11 .833 .059 .11
trade
.833 .045 .085 .95 .17 .288 .971 .304 .463 .913 .375 .532 1 .241 .388
wheat
.5 .015 .029 .9 .136 .237 .952 .303 .46 .971 .515 .673 .946 .53 .68
C = 10
-3
& E = 4 C = 10
-2
& E = 4 C = 10
-1
& E = 4 C = 10
0
=1 & E = 4 C=10
1
& E = 4
P R F1 P R P R F1 P R P R F1 P R
acquisition
.833 .008 .015 .96 .037 .072 .947 .056 .106 .951 .061 .114 .959 .073 .136
corn
.75 .063 .115 .889 .167 .281 .9 .181 .31 .9 .181 .31 .909 .208 .339
crude
.8 .025 .048 .917 .068 .127 .95 .118 .21 .95 .118 .21 .95 .118 .21
earn
.752 .999 .858 .935 .999 .966 .99 .995 .993 .999 .994 .997 1 .993 .997
grain
.875 .052 .099 .938 .112 .2 .97 .239 .383 .976 .306 .466 .957 .336 .497
interest
.875 .07 .13 .944 .17 .288 .964 .27 .422 .973 .36 .526 .976 .41 .577
money-fx
.929 .092 .168 .97 .227 .368 .955 .298 .454 1 .383 .554 1 .397 .569
ship
.5 .012 .023 .5 .012 .023 .667 .024 .045 .667 .024 .045 .667 .024 .045
trade
.8 .036 .068 .909 .089 .163 .944 .152 .262 .952 .179 .301 .952 .179 .301
wheat
.667 .03 .058 .875 .106 .189 .938 .227 .366 .957 .333 .494 .92 .348 .505

Tabelul 4.7 a) Rezultate obinute aplicnd algoritmul SMO pentru nucleul polinomial,
variind parametrul de regularizare C ntre 10
-3
i 10
1
i gradul polinomului E lund valorile
2,3,4. Subliniate sunt valorile maxime ale msurii F1 cu o precizie de 3 zecimale.





83 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor



LIBSVM
POLY KERNEL
C = 10
-3
& E = 2 C = 10
-2
& E = 2 C = 10
-1
& E = 2 C = 10
0
=1 & E = 2 C=10
1
& E = 2
P R F1 P R P R F1 P R P R F1 P R
acquisition
.969 .048 .092 .989 .939 .963 .998 .936 .966 .998 .93 .963 .998 .93 .963
corn
.667 .042 .078 .955 .438 .6 .974 .771 .86 1 .833 .909 1 .833 .909
crude
.917 .068 .127 .988 .503 .667 .992 .745 .851 .992 .739 .847 .992 .739 .847
earn
.757 .997 .861 .998 .991 .995 1 .991 .996 1 .99 .995 1 .99 .995
grain
.8 .03 .058 .988 .597 .744 1 .873 .932 1 .873 .932 1 .873 .932
interest
.889 .08 .147 1 .42 .592 1 .74 .851 1 .73 .844 1 .7 .824
money-fx
.96 .17 .289 1 .553 .712 1 .837 .911 1 .844 .915 1 .844 .915
ship
.667 .024 .045 .955 .247 .393 .978 .518 .677 .978 .518 .677 .978 .518 .677
trade
.909 .089 .163 .985 .571 .723 .99 .857 .919 .99 .857 .919 .99 .866 .924
wheat
.5 .015 .029 .96 .364 .527 1 .924 .961 1 .924 .961 1 .924 .961
C = 10
-3
& E = 3 C = 10
-2
& E = 3 C = 10
-1
& E = 3 C = 10
0
=1 & E = 3 C=10
1
& E = 3
P R F1 P R P R F1 P R P R F1 P R
acquisition
.993 .213 .351 .998 .858 .923 .998 .883 .937 .998 .872 .931 .998 .872 .931
corn
.833 .104 .185 .955 .438 .6 .968 .625 .759 .968 .625 .759 .968 .625 .759
crude
.95 .118 .21 .985 .41 .579 .987 .472 .639 .987 .472 .639 .987 .472 .639
earn
.955 .992 .973 1 .986 .993 1 .986 .993 1 .985 .992 1 .985 .992
grain
.917 .082 .151 .988 .612 .756 .991 .799 .884 .991 .813 .893 .991 .813 .893
interest
.941 .16 .274 1 .46 .63 1 .71 .83 1 .68 .81 1 .68 .81
money-fx
.974 .262 .413 1 .617 .763 1 .766 .867 1 .766 .867 1 .773 .872
ship
.8 .047 .089 .929 .153 .263 .933 .165 .28 .933 .165 .28 .933 .165 .28
trade
.964 .241 .386 .984 .563 .716 .988 .714 .829 .988 .714 .829 .988 .714 .829
wheat
.857 .091 .164 .973 .545 .699 1 .788 .881 1 .864 .927 1 .864 .927
C = 10
-3
& E = 4 C = 10
-2
& E = 4 C = 10
-1
& E = 4 C = 10
0
=1 & E = 4 C=10
1
& E = 4
P R F1 P R P R F1 P R P R F1 P R
acquisition
.994 .247 .396 .997 .516 .68 .998 .639 .779 .998 .669 .801 .998 .669 .801
corn
.875 .146 .25 .938 .313 .469 .95 .396 .559 .955 .438 .6 .955 .438 .6
crude
.947 .112 .2 .978 .273 .427 .979 .286 .442 .979 .286 .442 .979 .286 .442
earn
.984 .989 .986 1 .982 .991 1 .982 .991 1 .983 .991 1 .982 .991
grain
.955 .157 .269 .985 .478 .643 .989 .679 .805 .989 .672 .8 .989 .672 .8
interest
.955 .21 .344 1 .46 .63 .983 .59 .737 .982 .55 .705 .982 .55 .705
money-fx
.977 .305 .465 1 .539 .7 1 .624 .769 1 .645 .784 1 .645 .784
ship
.75 .035 .067 .833 .059 .11 .833 .059 .11 .833 .059 .11 .833 .059 .11
trade
.944 .152 .262 .975 .348 .513 .98 .429 .596 .98 .429 .596 .98 .429 .596
wheat
.889 .121 .213 .968 .455 .619 1 .697 .821 1 .697 .821 1 .697 .821

Tabelul 4.7 b) Rezultate obinute aplicnd algoritmul LIBSVM pentru nucleul polinomial,
variind parametrul de regularizare C ntre 10
-3
i 10
1
i gradul polinomului E lund valorile
2,3,4. Subliniate sunt valorile maxime ale msurii F1 cu o precizie de 3 zecimale.

Tabelul 4.8 a) Rezultate obinute aplicnd algoritmul SMO pentru nucleul gaussian (rbf),
variind parametrul de regularizare C ntre 10
0
i 10
3
i parametrul gamma ntre 10
-5
i 10
0
.
Subliniate sunt valorile maxime ale msurii F1 cu o precizie de 3 zecimale.
WEKA SMO
RBF KERNEL
C = 1 & = 10
-4
C = 1

& = 10
-3
C = 1 & = 10
-2
C = 1 & = 10
-1
C = 1 & = 1
P R F1 P R F1 P R F1 P R F1 P R F1
acquisition
.5 .002 .003 .946 .953 .95 .987 .955 .971 1 .031 .06
corn
1 .208 .345 1 .479 .648
crude
.988 .491 .656 1 .478 .647
earn
.578 1 .733 .669 .996 .8 .989 .989 .989 .999 .979 .989 1 .761 .865
grain
1 .44 .611 1 .694 .819 1 .052 .099
interest
.95 .19 .317 1 .39 .561 1 .12 .214
money-fx
.983 .411 .58 1 .475 .644 1 .092 .169
ship
1 .224 .365 1 .188 .317 1 .012 .023
trade
1 .509 .675 1 .446 .617
wheat
1 .273 .429 1 .652 .789 1 .061 .114
C=10 & = 10
-4
C=10

& = 10
-3
C = 10 & = 10
-2
C = 10 & = 10
-1
C=10 & = 1
P R F1 P R P R F1 P R P R F1 P R
acquisition
1 .002 .003 .953 .946 .949 .985 .95 .968 .998 .953 .975 1 .056 .106
corn
1 .354 .523 1 .854 .921 1 .521 .685
crude
.989 .54 .699 1 .932 .965 1 .602 .752
earn
.67 .998 .802 .989 .99 .989 .998 .993 .996 1 .981 .99 1 .784 .879
grain
1 .5 .667 1 .933 .965 1 .754 .86 1 .09 .164
interest
.955 .21 .344 1 .72 .837 1 .48 .649 1 .14 .246
money-fx
.985 .468 .635 1 .851 .92 1 .539 .7 1 .099 .181
ship
.962 .294 .45 .984 .729 .838 1 .282 .44 1 .012 .023
trade
1 .545 .705 1 .893 .943 1 .563 .72
wheat
1 .318 .483 1 .924 .961 1 .758 .862 1 .061 .114
C=10
2
& =10
-4
C=10
2
& =10
-3
C=10
2
& =10
-2
C=10
2
& =10
-1
C=10
2
& = 1
P R F1 P R P R F1 P R P R F1 P R
acquisition
.954 .946 .95 .984 .947 .965 .998 .944 .97 .998 .95 .974 1 .056 .106
corn
1 .354 .523 1 .896 .945 1 .896 .945 1 .521 .685
crude
1 .547 .707 .993 .938 .965 1 .944 .971 1 .596 .747
earn
.989 .99 .989 .998 .993 .996 1 .99 .995 1 .981 .99 1 .784 .879
grain
1 .5 .667 1 .933 .965 1 .978 .989 1 .754 .86 1 .09 .164
interest
.955 .21 .344 1 .77 .87 1 .76 .864 1 .48 .649 1 .14 .246
money-fx
.986 .482 .648 1 .865 .928 1 .851 .92 1 .553 .712 1 .099 .181
ship
1 .294 .455 .984 .729 .838 .984 .718 .83 1 .282 .44 1 .012 .023
trade
1 .554 .713 1 .911 .953 .99 .902 .944 1 .554 .713
wheat
1 .318 .483 1 .924 .961 1 .939 .969 1 .758 .862 1 .061 .114
C=10
3
& =10
-5
C=10
3
& =10
-4
C=10
3
& =10
-3
C=10
3
& =10
-2
C=10
3
& =10
-1

P R F1 P R P R F1 P R P R F1 P R
acquisition
.954 .946 .95 .985 .947 .966 .998 .935 .965 .998 .939 .968 .998 .95 .974
corn
1 .354 .523 1 .896 .945 1 .938 .968 1 .896 .945 1 .521 .685
crude
.989 .54 .699 .987 .938 .962 .993 .944 .968 1 .944 .971 1 .596 .747
earn
.989 .99 .989 .998 .993 .996 1 .992 .996 1 .99 .995 1 .981 .99
grain
.985 .5 .663 1 .933 .965 1 .978 .989 1 .978 .989 1 .754 .86
interest
.955 .21 .344 1 .78 .876 1 .8 .889 1 .7 .824 1 .48 .649
money-fx
.986 .482 .648 1 .872 .932 1 .858 .924 1 .837 .911 1 .553 .712
ship
.962 .294 .45 .984 .729 .838 .984 .718 .83 .984 .718 .83 1 .282 .44
trade
1 .554 .713 1 .92 .958 .99 .92 .954 .99 .902 .944 1 .554 .713
wheat
1 .318 .483 1 .939 .969 1 .939 .969 1 .939 .969 1 .758 .862

Tabelul 4.8 b) Rezultate obinute aplicnd algoritmul LIBSVM pentru nucleul gaussian (rbf),
variind parametrul de regularizare C ntre 10
0
i 10
3
i parametrul gamma ntre 10
-5
i 10
0
.
Subliniate sunt valorile maxime ale msurii F1 cu o precizie de 3 zecimale.
LIBSVM
RBF KERNEL
C = 1 & = 10
-4
C = 1

& = 10
-3
C = 1 & = 10
-2
C = 1 & = 10
-1
C = 1 & = 1
P R F1 P R F1 P R F1 P R F1 P R F1
acquisition
.5 .002 .003 .946 .953 .95 .987 .955 .971 1 .031 .06
corn
1 .208 .345 1 .479 .648
crude
.988 .491 .656 1 .478 .647
earn
.578 1 .733 .669 .996 .8 .989 .989 .989 .999 .979 .989 1 .761 .865
grain
1 .44 .611 1 .694 .819 1 .052 .099
interest
.95 .19 .317 1 .39 .561 1 .12 .214
money-fx
.983 .411 .58 1 .475 .644 1 .092 .169
ship
1 .224 .365 1 .188 .317 1 .012 .023
trade
1 .509 .675 1 .446 .617
wheat
1 .273 .429 1 .652 .789 1 .061 .114
C=10 & = 10
-4
C=10

& = 10
-3
C = 10 & = 10
-2
C = 10 & = 10
-1
C=10 & = 1
P R F1 P R P R F1 P R P R F1 P R
acquisition
1 .002 .003 .953 .946 .949 .985 .95 .968 .998 .953 .975 1 .056 .106
corn
1 .354 .523 1 .854 .921 1 .521 .685
crude
.989 .54 .699 1 .932 .965 1 .602 .752
earn
.67 .998 .802 .989 .99 .989 .998 .993 .996 1 .981 .99 1 .784 .879
grain
1 .5 .667 1 .933 .965 1 .754 .86 1 .09 .164
interest
.955 .21 .344 1 .72 .837 1 .48 .649 1 .14 .246
money-fx
.985 .468 .635 1 .851 .92 1 .539 .7 1 .099 .181
ship
.962 .294 .45 .984 .729 .838 1 .282 .44 1 .012 .023
trade
1 .545 .705 1 .893 .943 1 .563 .72
wheat
1 .318 .483 1 .924 .961 1 .758 .862 1 .061 .114
C=10
2
& =10
-4
C=10
2
& =10
-3
C=10
2
& =10
-2
C=10
2
& =10
-1
C=10
2
& = 1
P R F1 P R P R F1 P R P R F1 P R
acquisition
.954 .946 .95 .984 .947 .965 .998 .944 .97 .998 .95 .974 1 .056 .106
corn
1 .354 .523 1 .896 .945 1 .896 .945 1 .521 .685
crude
1 .547 .707 .993 .938 .965 1 .944 .971 1 .596 .747
earn
.989 .99 .989 .998 .993 .996 1 .99 .995 1 .981 .99 1 .784 .879
grain
1 .5 .667 1 .933 .965 1 .978 .989 1 .754 .86 1 .09 .164
interest
.955 .21 .344 1 .77 .87 1 .76 .864 1 .48 .649 1 .14 .246
money-fx
.986 .482 .648 1 .865 .928 1 .851 .92 1 .553 .712 1 .099 .181
ship
1 .294 .455 .984 .729 .838 .984 .718 .83 1 .282 .44 1 .012 .023
trade
1 .554 .713 1 .911 .953 .99 .902 .944 1 .554 .713
wheat
1 .318 .483 1 .924 .961 1 .939 .969 1 .758 .862 1 .061 .114
C=10
3
& =10
-5
C=10
3
& =10
-4
C=10
3
& =10
-3
C=10
3
& =10
-2
C=10
3
& =10
-1

P R F1 P R P R F1 P R P R F1 P R
acquisition
.954 .946 .95 .985 .947 .966 .998 .935 .965 .998 .939 .968 .998 .95 .974
corn
1 .354 .523 1 .896 .945 1 .938 .968 1 .896 .945 1 .521 .685
crude
.989 .54 .699 .987 .938 .962 .993 .944 .968 1 .944 .971 1 .596 .747
earn
.989 .99 .989 .998 .993 .996 1 .992 .996 1 .99 .995 1 .981 .99
grain
.985 .5 .663 1 .933 .965 1 .978 .989 1 .978 .989 1 .754 .86
interest
.955 .21 .344 1 .78 .876 1 .8 .889 1 .7 .824 1 .48 .649
money-fx
.986 .482 .648 1 .872 .932 1 .858 .924 1 .837 .911 1 .553 .712
ship
.962 .294 .45 .984 .729 .838 .984 .718 .83 .984 .718 .83 1 .282 .44
trade
1 .554 .713 1 .92 .958 .99 .92 .954 .99 .902 .944 1 .554 .713
wheat
1 .318 .483 1 .939 .969 1 .939 .969 1 .939 .969 1 .758 .862


4.4 Concluzii


Prima concluzie care poat fi tras n legtur cu experimentele efectuate este
eficacitatea algoritmului LIBSVM n comparaie cu algoritmul SMO att din punct de vedere
al rezultatelor ct mai ales a timpului mult mai rapid de execuie. Cu toate c cei doi
algoritmi au furnizat aceleai rezultate pentru nucleu liniar i pentru cel gaussian (rbf), nu
pot spune acelai lucru din punct de vedere al timpului necesar pentru obinerea
rezultatelor. Dac n cazul aplicrii nucleului liniar timpii de execuie au fost oarecum
asemntori, pentru calcularea nucleelor neliniare (polinomial i gaussian) algoritmul SMO a
necesitat un timp de execuie care a fost mai mare chiar cu de 10x timpul necesar pentru
calcularea aceluiai nucleu cu algoritmul LIBSVM.


NUCLEU
LINIAR POLINOMIAL GAUSSIAN (RBF)
PARAMETRII GRAD = 2 GRAD = 3 GRAD = 4 =10
-4
=10
-3
=10
-2
=10
-1

ALGORITM
SMO SVM SMO SVM SMO SVM SMO SVM SMO SVM SMO SVM SMO SVM SMO SVM
acquisition
.97 .97 .97 .966 .975 .937 .136 .801 .966 .966 .965 .965 .97 .97 .975 .975
corn
.979 .979 .79 .909 .492 .759 .339 .6 .945 .945 .968 .968 .945 .945 .685 .685
crude
.965 .965 .678 .851 .388 .639 .21 .442 .962 .962 .968 .968 .971 .971 .752 .752
earn
.996 .996 .994 .996 .993 .993 .997 .991 .996 .996 .996 .996 .996 .996 .99 .99
grain
.989 .989 .889 .932 .647 .893 .497 .805 .965 .965 .989 .989 .989 .989 .86 .86
interest
.901 .901 .78 .851 .649 .83 .577 .737 .876 .876 .889 .889 .864 .864 .649 .649
money-fx
.928 .928 .867 .915 .7 .872 .569 .784 .932 .932 .928 .928 .92 .92 .712 .712
ship
.838 .838 .377 .677 .11 .28 .045 .11 .838 .838 .838 .838 .838 .838 .44 .44
trade
.963 .963 .828 .924 .532 .829 .301 .596 .958 .958 .954 .954 .944 .944 .72 .72
wheat
.977 .977 .872 .961 .68 .927 .505 .821 .969 .969 .969 .969 .969 .969 .862 .862

Tabelul 4.9 Analiz comparativ a celor mai bune rezultate obinute prin aplicarea
algoritmului SMO i algoritmului LIBSVM (prescurtat SVM n tabel). Valorile subliniate
sugereaz c respectivul algoritm a obinut o valoare mai mare a msurii F1. Pentru cazul de
egalitate nicio valoare nu este subliniat.




87 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
Din punct de vedere al comparrii rezultatelor obinute ntre nucleul liniar i cele
neliniare (polinomial i gaussian), se poate observa c nucleul liniar i cel gaussian (rbf) sunt
asemntoare cu foarte mici diferene n favoarea unuia sau altuia. Rezultatele obinute
aplicnd nucleul polinomial ncep s descreasc n performane invers proporional cu
creterea gradului polinomului. Cele mai bune performane pentru acest nucleu s-au obinut
prin aplicarea algoritmului LIBSVM (vezi tabelul 4.9).
Ceea ce am obinut nu a fost dect o confirmare a faptului subliniat de Hsu el al.
(2003) , c atunci cnd numrul de instane folosite n procesul de nvare este mai mic
dect cel al atributelor, se recomand folosirea nucleului liniar pentru obinerea celor mai
bune rezultate.





















Bibliografie


AIZERMAN, M.A., BRAVERMAN E.M. and ROZONOR L.I. (1964). Theoretical foundations of
the potential function method in pattern recognition learning. Automation and Remote
Control 25:821837.

ANDREW, Y.NG. (2010). Lecture notes. Part V Support Vector Machines. Stanford
University. PDF available at http://www.stanford.edu/class/cs229/notes/cs229-
notes3.pdf

BEN-HUR, A., ONG, C.S., SONNENBURG, S., SCHLKOPF, B. and RTSCH, G. (2008). Support
Vector Machines and Kernels for Computational Biology. PLoS Comput Biol 4(10):
e1000173. doi:10.1371/journal.pcbi.1000173

BORKO, H. and BERNICK, M. (1963). Automatic document classification. J. Assoc. Comput.
Mach. 10, 2, 151161.

BOSER, B.E., GUYON, I.M. and VAPNIK, V.N. (1992). A training algorithm for optimal margin
classifiers. In D. Haussler, editor, Proceedings of the 5th Annual ACM Workshop on
Computational Learning Theory (COLT) ACM Press, pp. 144152.

BOUCKAERT, R. R., FRANK, E., HALL, M. A., HOLMES, G., PFAHRINGER, B., REUTEMANN, P.,
WITTEN, I. H. (2010). WEKAExperiences ith a Java Open-Source Project. Journal of
Machine Learning Research 11 , 2533-2541.




89 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
BREIMAN, L., FRIEDMAN, J., OLSHEN, R. and STONE, C. (1984). Classification and Regression
Trees. Wadsworth International.

CARUANA, R. and NICULESCU-MIZIL, A. (2006). An empirical comparison of supervised
learning algorithms. In Proc. ICML

CHANG, C.-C. and LIN, C.-J. (2001). LIBSVM : a library for support vector machines. Software
available at http://www.csie.ntu.edu.tw/~cjlin/libsvm

CRISTIANINI, N. and SHAWNE-TAYLOR, J. (2000). An Introduction to Support Vector
Machines. Cambridge: Cambridge University Press.

CRISTIANINI, N. and SHAWNE-TAYLOR, J. (2004). Kernel Methods for Pattern Analysis.
Cambridge University Press.

DRUCKER, H., VAPNIK, V., and WU, D. (1999). Automatic text categorization and its
applications to text retrieval. IEEE Trans. Neural Netw. 10, 5, 10481054.

DUMAIS, S. T. AND CHEN,H. (2000). Hierarchical classification of Web content. In
Proceedings of SIGIR-00, 23rd ACM International Conference on Research and
Development in Information Retrieval (Athens, Greece, 2000), 256263.

DUMAIS, S. T., PLATT, J., HECKERMAN, D., and SAHAMI, M. (1998). Inductive learning
algorithms and representations for text categorization. In Proceedings of CIKM-98, 7th
ACM InternationalConference on Information and Knowledge Management (Bethesda,
MD, 1998), 148155.

EL-MANZALAWY, Y. and HONAVAR, V. (2005). WLSVM: Integrating LibSVM into Weka
Environment. Software available at http://www.cs.iastate.edu/~yasser/wlsvm

FAN, R.-E., CHEN, P.-H. and LIN, C.-J. (2005). Working set selection using second order
information for training SVM. Journal of Machine Learning Research 6, 1889-1918.

GLASMACHERS, T. and IGEL, C. (2006). Maximum-gain working set selection for SVMs.
Journal of Machine Learning Research, 7:14371466.

HALL, M., FRANK, E., HOLMES, G., PFAHRINGER, B., REUTEMANN, P., WITTEN, I. H.
(2009).The WEKA Data Mining Software: An Update; SIGKDD Explorations, Volume 11,
Issue 1.

HASTIE, T., TIBSHIRANI, R. and FRIEDMAN, J. (2001). The Elements of Statistical
Learning, Data Mining, Inference, and Prediction, Springer.



90 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor

HAYES, P.J., ANDERSON, P.M., NIRENBURG, I.B., and SCHMANDT, L.M. (1989). A Shell for
Content-Based Text Categorization. IEEE Conference on Artificial Intelligence Applications.

HAYES, P.J. and WEINSTEIN, S.P. (1990). A System for Content-Based Indexing of a Database
of News Stories. Second Annual Conference on Innovative Applications of Artificial
Intelligence.

HERTZ, J., KROGH, A. and PALMER, R.G. (1991). Introduction to the Theory of Neural
Computation. Addison-Wesley.

HSU , C.-W., CHANG, C.-C. and LIN, C.-J. (2003). A practical guide to support vector
classification. Technical report, Department of Computer Science, National Taiwan
University, http://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf.

JOACHIMS, T. (1998). Text categorization with support vector machines: Learning with many
relevant features. In Proceedings of ECML-98, 10th European Conference on Machine
Learning (Chemnitz, Germany, 1998), 137142.

JOACHIMS, T. (1999). Transductive inference for text classification using support vector
machines. In Proceedings of ICML-99, 16th International Conferenceon Machine Learning
(Bled, Slovenia, 1999), 200209.

KLINKENBERG, R. and JOACHIMS, T. (2000). Detecting concept drift with support vector
machines. In Proceedings of ICML-00, 17th InternationalConference on Machine Learning
(Stanford, CA), 487494.

KNIGHT, K. (1999). Mining online text. Commun. ACM 42, 11, 5861.

KRISHNAKUMAR, A. (2006). Building a kNN classifier for the Reuters-21578 collection.
University of California, Santa Cruz.

LEWIS, D.D. (1991). Representation and Learning in Information Retrieval. Technical Report
91--93.

LEWIS, D.D. (1992). An Evaluation of Phrasal and Clustered Representations on a Text
Categorization Task. In Fifteenth Annual International ACM SIGIR Conference on Research
and Development in Information Retrieval, 37-50.

LEWIS, D.D., and RINGUETTE, M. (1994). A Comparison of Two Learning Algorithms for Text
Categorization. In Symposium on Document Analysis and Information Retrieval (Univ. of
Nevada, Las Vegas), 81-93.




91 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
MANNING, C.D., RAGHAVAN, P. and SCHTZE, H. (2008). Introduction to Information
Retrieval, Cambridge University Press.

MANNING, C.D. and SCHTZE, H. (1999). Foundations of Statistical Natural Language
Processing. MIT Press, Cambridge, MA.

MERKL, D. (1998). Text classification with selforganizing maps: Some lessons learned.
Neurocomputing 21, 1/3, 6177.

OSUNA, E., FREUND, R., GIROSI, F. (1997). Improved Training Algorithm for Support Vector
Machines, Proc. IEEE NNSP 97.

PAZIENZA, M. T. (1997). Information Extraction. Lecture Notes in Computer Science, Vol.
1299. Springer, Heidelberg, Germany.

PLATT, J. C. (1998). Sequential minimal optimization: A fast algorithm for training support
vector machines, in B. Scholkopf, C. Burges, and A. Smola, editors, Advances in Kernel
Methods - Support Vector Learning. MIT Press

PORTER, M.F. (1980). An algorithm for suffix stripping, Program, 14(3) pp 130137.

QUINLAN, J.R. (1993). C4.5: Programs for Machine Learning. Morgan Kauffmann.

RIPLEY, B. D. (1996). Pattern Recognition and Neural Networks, Cambridge University Press.

ROSENBLATT, F. (1958). The perceptron: a probabilistic model for information storage and
organization in the brain, Psychological Review 65: 386-408.

SALTON, G., WONG, A. and YANG C. S. (1975). A Vector Space Model for Automatic
Indexing. Communications of the ACM, vol. 18, nr. 11, pages 613620.

SCHLKOPF, B. and SMOLA, A. (2002). Learning with Kernels. MIT Press.

SEBASTIANI, F. (2002). Machine learning in automated text categorization. ACM Computing
Surveys, 34(1):147.

SHAPIRE, R., and SINGER, Y. (1998). Boostexter: A system for mulit-label text categorization.

TAIRA, H. and HARUNO, M. (1999). Feature selection in SVM text categorization. In
Proceedings of AAAI-99, 16th Conference of the American Association for Artificial
Intelligence (Orlando, FL, 1999), 480486.




92 | P a g i n a

Bratu Andrei Alexandru - Metode de tip kernel n categorizarea textelor
VAN RIJBERGEN, C.V. (1979). Information Retrieval. London; Boston. Butterworth, 2nd
Edition.

VAPNIK, V.N. (1979). Estimation of dependencies based on empirical data (in Russian),
Nauka, Moscow.

VAPNIK, V.N. (1996). The Nature of Statistical Learning Theory, Springer, New York.

VAPNIK, V.N. (1999) The Nature of Statistical Learning Theory. Springer, 2nd edition.

VAPNIK, V. and CHERVONENKIS, A.J. (1964). A note on one class of perceptrons. Automation
and Remote Control, 25.

VAPNIK, V.N. and CHERVONENKIS, A.J. (1974). Theory of Pattern Recognition (in Russian),
Nauka, Moscow.

WEISS, S. M., APTE, C., DAMERAU, F. J., JOHNSON, D. E., OLES, F. J., GOETZ, T., and HAMPP,
T. (1999). Maximizing text-mining performance. IEEE Intelligent Systems 14, 4, 6369.

WITTEN, I.H. and FRANK, E. (2005). DataMining: PracticalMachine Learning Tools and
Techniques. Morgan Kaufmann, 2nd edition.

YANG, Y. and LIU, X. (1999). A re-examination of text categorization methods. In Proceedings
of SIGIR-99, 22nd ACM International Conference on Research and Development in
Information Retrieval (Berkeley, CA, 1999), 4249.

Resurse adiionale
i




i
http://en.wikipedia.org/wiki/Classification_(machine_learning)
http://www.scholarpedia.org/article/Text_categorization
http://en.wikipedia.org/wiki/Document_classification
http://www.ercim.eu/publication/Ercim_News/enw62/novovicova.html
http://en.wikipedia.org/wiki/Kernel_methods
http://www.daviddlewis.com/resources/testcollections/reuters21578/readme.txt
http://weka.wikispaces.com/ARFF+(book+version)

S-ar putea să vă placă și