Sunteți pe pagina 1din 5

Laborator 4 Algoritmi de clasificare.

Vector space classification


Scop:
Vector Space Model Algoritm de clusterizare bazata pe text Algoritmul KNN - K-Nearest Neighbour Evaluarea algoritmilor de clasificare

1. Aspecte teoretice
1.1. Vector Space Model In cadrul Vector Space Model, fiecrui document ii este ataat un vector de caracteristici, a crui dimensiune este dat de numrul de atribute unice care se regsesc n documentul din colectie. Fiecare element al vectorului are o pondere care specific importana atributului n clasificarea documentului. De regul, aceste atribute sunt extrase din document folosind metode de regsirea a informaiei. Faza de extragere a termenilor care caracterizeaz un document este numit indexarea documentului. In faza de atribuire de ponderi pentru fiecare termen se stabilete semnificaia n caracterizarea documentului. Aceste ponderi pot avea valorile 0 sau 1, indicnd existena (1) sau nu (0) a termenilor in document. De regul, este mult mai raspndit folosirea frecvenei de ntlnire a termenului n cadrul documentului. Tf se folosete pentru a reprezenta frecvena de apariie a termenului n document, iar Idf reprezint inversul frecvenei de ntlnire a termenului n ntreaga colecie. n Idf = log( k ) , unde nk este numrul de documente n care apare termenul, iar N este numarul total de documente. In etapa urmtoare trebuie aleas o msura de similaritate pentru calculul asemnrii dintre dou documente. Cea mai folosit msur pentru similaritate este cea a coeficienilor cosinus, care determin cosinusul unghiului dintre doi vectori de caracteristici. Alte msuri utilizate sunt cele ale coeficienilor Jaccard sau ale coeficienilor Dice, ambele fiind normalizri ale potrivirii simple a coeficienilor. Coeficienii Jaccard sunt msuri de similaritate ntre seturi de atribute, i sunt definii ca raport ntre numrul de elemente ale interseciei i numrul de elemente ale reuniunii setului de atribute : A B J ( A, B ) = A B Distana Jaccard, care determin diferen ntre seturile de test, este complementar coeficientului Jaccard i este obinut prin scderea coeficientului Jaccard din 1: A B A B J ( A, B ) = 1 J ( A, B ) = A B

Coeficienii Dice sunt msuri de similaritate ntre seturi de atribute, i sunt definii 2 A B J ( A, B ) = conform formulei: A+B

1.2. Algoritm de clusterizare bazata pe text


Cum am spus mai sus, pentru a clasifica documentele, trebuie n prima faz stabilite atributelor documentelor pe care va fi bazat clusterizarea i reprezentarea lor. Dup stabilirea modelului, clusterizarea este apoi efectuat folosind ca intrare vectorii care reprezint documentele i un algoritm de clusterizare a documentelor. In cadrul clasificrii bazate pe text se caracterizeaz fiecare document n funcie de coninutul su : cuvintele coninute, frazele sau fragmentele. Ideea de la care se pleac este c dac dou documente conin multe cuvinte comune, atunci este foarte probabil ca ele s fie documente similare. Abordrile din aceast categorie pot fi mprite n funcie de metoda de clusterizare folosit n: partiionale, ierarhice, bazate pe grafuri, bazate pe reele neurale i algoritmi probabilistici. Clusterizarea partiionala. Clusterizarea de documente partiionala ncearc partiionarea neted a unei colecii de documente ntr-un numr predefinit de clustere disjuncte. Algoritmii de clusterizare partiionali sunt mprtii n algoritmi cu metode iterative sau de realocare i n algoritmi cu metode cu un singur pas. Cei mai cunoscui algoritmi de clusterizare partitional sunt k-means, care se bazeaz pe ideea ca centrul clusterului, numit centroid, este o bun reprezentare a clusterului. In prima faz se aleg n centroizi; apoi se calculeaz distana cosinus dintre fiecare document din colecie i centroizi, iar documentul este asignat clusterului cu centroidul cel mai apropiat. In cea de-a doua etap sunt recalculai centroizii noului cluster i procedura continu pn este atins un anumit prag. Un alt algoritm de clusterizare partiionala este algoritmul celei mai apropiate vecinatati care va fi detaliat in capitolul urmtor. Clusterizarea ierarhica. Algoritmii de clusterizare ierarhic produc o secven de partiii de acelai fel. Similaritatea dintre fiecare pereche de documente este stocat ntr-o matrice de similaritate n x n. La fiecare pas, algoritmul fie unete dou clustere, fie mparte un cluster n dou. Rezultatul unei clusterizari poate fi vzut sub forma unei structurii arborescente cu un cluster rdcin care conine toate documentele coleciei i multe clustere la baz, fiecare continnd un singur document. Clusterizarea bazat pe grafuri. Documentele care urmeaz s fie clusterizate pot fi vzute ca un set de noduri i muchiile dintre noduri reprezint relaiile dintre ele. Fiecare muchie are o pondere, care d gradul acelei relaii. Algoritmii bazai pe grafuri se bazeaz pe partiionarea grafului, adic pe identificarea clusterelor prin taierea muchiilor din graf astfel nct muchiile tiate s fie minimizate. Din moment ce muchiile din graf reprezint similaritatea dintre documente, tind muchiile cu suma minim a ponderilor, algoritmul minimizeaz similaritatea dintre documentele din clustere diferite. Ideea de baza este c ponderile muchiilor din acelai cluster vor fi mai mari dect ponderile muchiilor dintre clustere. Clusterizarea Fuzzy. Algoritmii fuzzy de obicei ncearc s gseasc cea mai bun clusterizare prin optimizarea unei anumite funcii criteriu. Faptul ca un document poate aparine de mai mult de un singur cluster este descris de o funcie de membru. Funcia de membru calculeaz pentru fiecare document un vector de membru, n care al i-lea element

indic gradul de apartenen a documentului la al i-lea cluster. Cel mai utilizat algoritm de clusterizare fuzzy este Fuzzy c-means, care este o variaie a algoritmului partiional kmeans. Clusterizarea bazata pe reele neurale. SOM (Self-Organizing Maps - Kohonen) este un model de reea neural nesupervizat des folosit. Const din dou straturi: nivelul de intrare cu n noduri de intrare, corespunzator celor n documente i stratul de ieire cu k noduri de ieire, care corespunde celor k regiuni de decizie. Fiecrei din cele k uniti de ieire i este asignat un vector de ponderi. In timpul unui pas de nvare, un document din colecie este asociat cu un nod de ieire care are cel mai similar vector de ponderi. Vectorul de ponderi a nodului ctigator este apoi adaptat n asemenea fel nct va fi i mai aproape de vectorul care reprezint acel document. Ieirea algoritmului este aranjamentul documentelor de intrare ntr-un spaiu 2-dimensional n asemenea fel nct similaritatea dintre dou documente de intrare este oglindit n termenii distanei topografice dintre cele k regiuni de decizie.

1.3. Algoritmul k

- K- earest eighbour

Principiul acestei metode este clasificarea unui document prin gsirea documentului cel mai apropiat din setul de antrenament. Metodele care se bazeaz pe acest principiu sunt numite metode de nvare bazat pe memorie. Sunt folosite ponderile termenilor Tf i Idf, calculndu-se similaritatea dintre exemplele de test i centroizii clusterelor. Ponderea asignat unui termen este o combinaie a ponderilor sale ntr-o interogare original i documentele considerate relevante i irelevante. In algoritmul de mai jos se folosete distana Euclidian pentru a determina similaritatea dintre dou documente.

Algoritm: %input K: number of neighbours X: training set patterns Y: class labels of the training set z: new pattern
%output l: predicted label of new pattern for each x in X compute Euclidean distance of z from x d(x) = distance(z,x) d is an array containing the distances of all x in X from z end; ;order patterns of X in increasing order of d(x) (sorted_d, index) = sort(X,d) sorted_d is the list of elements of d sorted in increasing order, and index(i) is the index in X of the i-th element of sorted_d neighbours = index(1:k);

;index(1:k) are the first k elements of index label_neighbours = Y(neighbours); ;Y(neighbours) are the elements of Y with index equal to neighbours; l = majority(label_neighbours); ;majority(label_neighbours) is the class label occurring more times in the ;label_neighbours list.

1.4. Evaluarea algoritmilor de clasificare


Algoritmii de clasificare pot fi evaluai n funcie de vitez i/sau acuratee. Viteza unui clasificator trebuie s fie evaluat separat pentru cele dou sarcini: nvarea i clasificarea noilor instane. Cele mai folosite criterii de evaluare sunt precizia i memorarea. Pragurile de decizie n algoritmii de clasificare pot fi modificate pentru a obine o precizie mai mare (cu un grade de memorare mai mic) sau vice-versa. Se tie c performana clasificatorilor depinde foarte mult de mprirea datelor n seturi de antrenare i testare. Testarea clasificatorilor pe datele de antrenare folosite pentru nvare duce la rezultate semnificativ mai bune. Problema evalurii clasificatorilor este dependent de domeniul lor. Fiecare clasificator are un sub-domeniu particular pentru care este specializat. Pentru a depi aceast problem, sunt combinai clasificatori cu nvare multipl pentru a obine o clasificare mai precis.

2.

Teme

Implementai, testai i interpretai rezultatele pentru vector space classification, folosind ca date de intrare urmtoarele descrieri i fisiere de intrare :

2.1. In cadrul arhivei reuters.zip se gasesc documente in format sgml care conin tiri ale ageniei Reuters. Sa se indexeze aceste documente folosind ponderea wi , k ; i este un cuvant din documentul k: n wi , k = fi , k * log( i ) ,
unde fi , k reprezint frecvena cu care cuvntul i apare n documentul k, N este numrul total de documente angrenate in faza de antrenare, iar ni este numrul total de apariii ale cuvantului i n ntreaga colecie. Folosind algoritmul de mai sus pentru metoda kNN de clasificare s se dezvolte o aplicaie care s permit determinarea celui mai apropiat grup de documente pentru un document ce conine tiri i care este specificat ca intrare.

2.2. Pentru setul de imagini binare (imagini.zip) din cadrul laboratorului 3 sa se foloseasc algoritmul kNN pentru a determina clasa creia ii aparine o cifr din cadrul unei imagini de iterogare.

2.3. Pentru setul de date in format arff din cadrul arhivei hepatitis.zip sa se ruleze algoritmi de clasificare Naive Bayes si kNN (IBk) - k = 4 din cadrul Weka. S se compare performanele celor dou clasificatoare. S se descrie diferenele observate ntre cele dou tipuri clasificri.

3.

Bibliografie

[1] Salton, Gerard. Automatic Text Processing. Addison-Wesley Publishing Company, 1988 [2] http://people.revoledu.com/kardi/tutorial/Similarity/Jaccard.html [3] http://www.daviddlewis.com/resources/testcollections/reuters21578/

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