Sunteți pe pagina 1din 53

INTRODUCERE

n cursul de investigare a probleme diferenelor stilistice ntre texte, apar adesea probleme de clusterizare pe orice criterii.Ca criterii pot fi, de exemplu, evenimente cum ar fi : apariia unor anumite elemente n text fraze constnd dintr-un numr mare de cuvinte,anumite combinaii de litere,cuvinte,anumite pri de vorbire etc. Dezvoltarea spectaculoas a clusterizrii n ultimii cincizeci de ani a permis cercetrilor n domeniu s ncerce utilizarea mai eficient a algoritmilor pentru rezolvarea unor probleme din ce n ce mai dificile,din ce n ce mai apropiate de complexitatea problemelor soluionale de om a dus la apariia unui nou domeniu al stiinei lingvistice ca: Data Mining,care este parte component din alt domeniu mare sub numele de Information retrieval. n primele dou capitole se explic amnunit istoria apariiei i bazele clusterizrii , primele ncercri de a crea metode i programe de acest tip au inceput n jumtatea secolului trecut, posibilele metode de mbuntire ale acestuia precum i importana acestui domeniu nu numai n ntrebuinarea de ctre om dar chiar i de calculator n diferite domenii ale lingvisticii. Tot in aceste capitole se descriu avantajele i dezavantajele clusterizrii ierarhice si partiionare, sunt descrise majoritatea metodelor i componentele acestor metode, precum i importana sa n dezvoltarea domeniului clusterizrii, care la moment se gsete ntr-o continu dezvoltare. Vom analiza cei mai des folosii algoritmi de clusterizare a textelor. Ultimul capitol se axeaz pe descrierea programului i dezvluie att metodele care au fost folosite n crearea i afiarea programului experimental, dar descrie i explic interfaa programului i modul de utilizare a aplicaiei.n anexele A i B este artat codul surs al programului i a interfeei. Metodele folosite n elaborarea algoritmului programului sunt: K-means i K-Nearest Neighbourn. Aceste metode ajuta la perceperea mai bun a temei date n domeniul dat. Data mining este un domeniu care se ocup ci studiul i crearea sistemelor de calcul i a programelor de cutare n baze de date mici i mari. Domeniile acesteia includ : Recunoaterea formelor, Analiza de date spatiale, Prelucrarea imaginilor, Cercetri economice, Text mining,

n cadrul web-ului algoritmii de clusterizare au fost folosii pentru : clasificarea


documentelor,decoperirea unor pattern-uri, comportamente de navigare,i altele. Una din cele mai recente direcii n clusterizarea textelor este implementarea unor programe i algoritmi pentru cutare mai avansat i corect. Actualitatea temei. Problema de analiz a stilului textelor i clusterizarea lor ulterioar este destul de actual n ultimul timp. Mecanisme pentru compararea stilurilor de texte poate gsi aplicarea n diverse sfere ale activitii umane.Atracia instrumentelor matematice n problema de analiz lingvistic i clusterizare a nceput n jumtatea secolului trecut.Apoi au fost primele ncercri de la analiza statistic a textelor care este de a enumera cuvintele utilizate n diferite lucrri de autori sau n text de un singur autor i compararea mai apoi a fregvenelor. Pentru a compara stilurile alese, de obicei se ea o colecie de orice dovezi care s demonstreze stilul textului. Combinnd textele n grupuri se poate de efectuat dup probabilitatea de apariie a acelueai semn,dar aceste probabiliti sunt necunoscute. Scopul principal al lucrrii const n realizarea de instrumen software pentru rezolvarea problemei de clusterizare a textelor, cu posibilitatea de o prezentare vizualizat a rezultatelor. Realizarea acestui scop determin parcurgerea multor etape fundamentale de analiz, determinarea tehnicii de reprezentare a cunotinelor, reprezentarea lor, ca programul s realizeze clusterizarea corect.

1.ASPECTE GENERALE DESPRE CLUSTERIZARE

1.1 Scurt istoric


ncepnd cu 1950, numrul i volumul total de documente text care sunt folosite n cercetarea tiinific, de afaceri i alte domenii de activitate uman este n continu cretere. Aceast cretere se reflect att n creterea sumei totale de colecii text i o cretere semnificativ a numrului de documente care necesit prelucrare i sortare. Potrivit studiului, Universitatea din California (University of California - Berkley), n 2002, lumea a produs aproximativ 5 milioane terabytes de informaii. Pentru comparaie: cantitatea de informaii Bibliotecii Congresului, care gzduiete 19 milioane de cri i manuscrise 56000000 aproximativ 10 terabytes, c este, 500 de mii de ori mai mici. Potrivit serviciului de cercetare Cyveillance Inc, numrul total de pagini pe internet n 2001 a depit 4 miliarde i este n cretere exponenial. n plus, o sum substanial de informaii text coninute n bazele de date corporative i biblioteci digitale din ntreaga lume. Dac n anul 2000 n lume este trimis ctre cele 10 de miliarde de mesaje de e-mail pe zi, n anul 2006 - deja 60 miliarde email-uri n fiecare zi [11]. Numrul de mesaje trimise n fiecare zi prin e-mail. Consecina de cretere rapid astfel de date de tip text din lume, precum i dezvoltarea rapida a Internetului, a fost necesitatea de precomenzi de tablouri text n mod automat: n primul rnd, a existat o sarcin urgent de a gsi informaii specifice n colecii mari i foarte mari de date de tip text (de exemplu, emise de motoarele de cutare ca rspuns la solicitrile utilizatorilor). n plus, fr sistematizarea textelor nu se poate de soluionat i alte probleme, n special: gama larg de documentare; s identifice relaiile dintre grupuri de documente; simplific vizualizarea de informaii textuale; s identifice duplicate sau aproape de coninutul documentelor; analiz de coninut, etc. n ciuda acestui fapt, n prezent doar 10% din informatii text stocate n conturile lume pentru seturile de date structurate (n primul rnd - o baz de date i baza de cunotine) [12]. n acelai timp, potrivit unui studiu Reuters, 38% dintre managerii petrec n opinia lor, prea mult timp n cutarea i organizarea informaiilor care avei nevoie, ci de la toi jurnalitii care au acces la internet n cutare de tiri, doar 20% gsi informaiile necesare.

10

n aceste condiii, dezvoltarea de metode speciale de documente text clustering, adic partiie de matrice text de pe sistem (eventual ierarhic) subseturi similare devine important, fr de care lucrul efectiv cu informaii textuale este imposibil. Clusterzarea matricei text v permite de a organiza colectarea i mai nguste n domeniul de aplicare al instrumente. Dac este necesar, pot fi grupate n al doilea nivel, aplicnd aceeai procedur pentru a grupurilor de partiiei obinute n prima etap, i aa mai departe. Astfel, o persoan primete un instrument pentru rezolvarea problemelor asociate cu analiza unor cantiti mari de informaii textuale Caracterul urgent al dezvoltarea de metode de clustering i a crescut odat cu apariia conceptului de "penetrare informaii. Acest concept descrie diferitele metode de analiz a informaiilor n baze de date pentru a gsi relaii, anomalii i tendinele, fr a clarifica sensul semantic de nregistrri. Cele mai populare de astzi, i, probabil, n viitorul apropiat este clusterizarea semantic (sau, cu alte cuvinte, tematice), gruparea de documente de tip text. Acest tip de grupare implic divizia de colecii text n seturi de texte (n continuare - clustere), astfel c textul n acelai cluster similare reciproc n sensul, n timp ce textele aparinnd grupuri diferite au sensuri diferite. n cazul n care gruparea semantic a textelor poate "etichet" clustere alocate de descriptori tematice. Este o grupare semantic (denumit n continuare "pur i simplu grupare) de texte luate n considerare n aceast lucrare. Pn n 1980 principalele metode de texte de clusterizare sunt expert (manual) metode bazate pe utilizarea de evaluri ale experilor pentru a determina obiectul de documente. n timp ce utilizarea de abordare de la egal la egal este paradigma numai c ne permite de a dezvolta metode aplicabile pe scar larg de clustering text. Astzi, aceast abordare rmne n vigoare pentru rezolvarea problemelor care necesit soluii non-triviale de alocare de texte diferite la acelai cluster. Un exemplu este gruparea de nregistrri pacienilor n bazele de date ale instituiilor medicale ca cele mai bune de separare a pacienilor pe grupe tematice ar trebui s ia n considerare factori care se bazeaz pe povetile de bolile lor poate dezvlui doar un medic cu experien.Cu toate acestea, n acelai timp, metode manuale de grupare au caracteristici i special limiteaz posibilitatea al utilizrii lor: clusterizarea manual se aplic numai pentru colecii relativ mici de documente;

metode manuale au nevoie de o lung perioad de timp pentru a lucra, deoarece expertului
i trebuie ceva timp pentru a lua o decizie cu privire la fiecare text. Aceste caracteristici ale metodelor manuale de clusteriyare a textelor a fcut reale domeniile de dezvoltare a semi-automat i, mai trziu, metode automate de clusterizare a textelor. n prezent exist multe probleme a cror rezolvare este aproape imposibil fr utilizarea unor metode automate de clusterizare:

11

servicii pentru clieni de la diferite companii se confrunt cu sarcina de structurare i analiz a reclamaiilor feedback sau a unui client pentru a determina cele mai puternice surse de nemulumire lor, si depistare precoce a noi motive de nemulumire lor; servicii operaionale, companiile de producie trebuie s efectueze clusterizarea de rapoarte cu privire la situaiile de urgen pentru organizarea gestionare mai eficient a unei producii, pentru a identifica tendine periculoase, care ar putea duce la o cretere a accidentelor poteniale; cercettori i oameni de tiin s monitorizeze publicaii pe tema muncii lor de a identifica noi idei i tendine; atunci cnd se lucreaz cu baze de date pentru a reduce cantitatea de regsire informaii actualizate periodic este adesea necesar pentru compresie, care pot fi efectuate de ctre gruparea sale: n cazul n care eantionul iniial de excesiv de mari, putei s l salvai, lsnd un reprezentant cele mai tipice pentru fiecare cluster. O caracteristic a acestor i al multor alte exemple de probleme de clusterizare de texte este ca documentele care sunt clusterizate , nu sunt prezentate ca o matrice, dar ca un flux de texte primite, ceea ce face ca sarcina efectiv i mai complex de urmrire a dinamicii de distribuie a documentelor pe clustere n timp. Acest tip include, de exemplu, problema de clusterizare automat a fluxului de tiri. Partiionarea corect a fluxul de tiri, n conformitate cu structurele sale tematice este important nu numai pentru furnizorii de tiri (ca un factor care sporete confortul i atractivitatea de servicii pentru consumatori), dar i pentru utilizatorii finali folosind lenta de noutai. n acest caz, metode alternative pentru clusterizare automate, clusterizare-manual produse de experi - n multe cazuri, devine opiune mai puin atractiv. Aceasta nu este doar caracteristicile de mai sus-menionat a metode manuale de clustering, dar costul tot mai mare de munc manual i dependen puternic a rezultatelor obinute de la opinia experilor subiective. Istoria lucrri n domeniu OOP(Programare orientat pe obiecte) evoluiaz din a doua jumtate a secolului XX.Trebuie remarcat c metodele de grupare a textelor dezvoltat n paralel cu alte metode de procesare de text: regsirea de informaii, de clasificare a coleciilor text, de alocare automata a entitilor (uniti de informaii structurate n text, care corespunde cu un model special i obiecte de identificare sau a proprietilor), etc. De-a lungul acestor linii de cercetare constituie zona de cercetare numit analiz aprofundat textual, sau Text Mining de cercetare de baz n dezvoltarea de metode de clusterizare a informaii textuale,determinarea dezvoltrii lor n continuare sunt prezentate mai jos. Teoria este luata din [13]

12

1.2 Principalele direcii de cercetare n clusterizarea textelor


1958 Investigarea proprietile statistice ale limbii. 1961 Aplicarea de asociere a termenilor pentru clustering. 1965-1968 Dezvoltarea spaiul vectorial model. 1975-1985 Dezvoltarea metodelor matematice de baz ale textelor clustering fr a lua n considerare semantica.

1985 Dezvoltarea unui model de spaiul vectorial generalizate.


1990 Studiul a metodei de indexare latente semantice. 1998 Aplicarea de grupare de termeni pentru document clustering. 2003 metode mbuntite de selectare a termenilor-cheie.

2006 Aplicarea vector suport (SVM), pentru text clustering.


De mare importan sunt opera a doi oameni de tiin de la Universitatea Cornell, G. Salton i A. Wang, care a dat un impuls semnificativ pentru dezvoltarea de metode pentru gruparea automat a textelor. n 1975 un grup de oameni de tiin de la Universitatea Cornell a publicat un articol , ne propunem sa descrie textele ca vectori ntr-un spaiu multidimensional i, prin urmare, s fie folosite n lucrul cu aceste texte, vector de msur standard a apropierii n spaiile vectoriale. De lucru a fost un impuls pentru dezvoltarea a numeroase studii n domeniul de text grupare posibil pentru a evita caracteristici semantice i lexicale de informaii i documente text a considerat ca obiecte matematice. Printre altele, a fost dezvoltat de una dintre cele mai simple metode de a compara vectori de texte, care este folosit i astzi - spaiul model vectorial (Vector Space Model, VSM). n prezent, de cercetare n dezvoltarea de metode de clustering texte fiind foarte intens. Un motiv pentru aceasta, dezvoltarea rapid n ultimul deceniu, tehnologii informaionale, care permit s exploreze colecii foarte mari de text (mai mult de un terabyte). n acelai timp, n ciuda unui numr mare de publicaii tiinifice n domeniul de grupare automate de matrice text (una dintre cea mai mare bibliotec digital n informatic CiteSeer1 conine aproximativ 3000 de lucrri n acest domeniu), continu s apar metode regulat noi i existente rafinat pentru a mbunti eficiena lor. Astfel, exist o specializare tot mai mare a metodelor propuse de grupare automate de colecii text. Noi abordri sunt dezvoltate pentru a rezolva probleme specifice: de grupare a documentelor legale; News grupare, grupare de texte, care conin un numr mare de termeni compleci, i anume expresii contextuale stabile sau substantive compuse sunt substantive comune, etc. O astfel de abordare a fost de a utiliza pentru clusterizare colecii de texte cu grupare prealabil a termenilor. Printre altele, aceast idee se bazeaz pe metode de clusterizare insular.

13

Toate aceste fapte indic faptul c cercetarea n mbuntirea metodelor de rezolvare a clasterizrii automat al coleciilor de texte continu s fie o problem important.

2. PROCESUL DE CLUSTERIZARE

14

2.1 Procesul de organizare a clusterizrii


Clusterizarea reprezint procesul de organizare a obiectelor (datelor) n grupuri de elemente asemntoare ntr-un anumit sens, cu proprieti similare numii clusteri. Un cluster este o colecie de date/obiecte asemantoare ntre ele i diferite (disimilare) de altele, situate n celelalte clustere. 1Clusterizarea este o metod de nvare nesupervizat, folosit n diverse domenii: Data Mining, Machine Learning, Bioinformatic, Analiza statistic a datelor, Recunoaterea formelor Pattern recognition, etc. n figura de mai jos este prezentat un set de date bidimensional; putem observa trei grupuri de date.

Figura 2.1.1 Reprezentarea unui set de date bidimensionale[5] Fiercare grup este un cluster. Sarcina clusterului este de a gsi cei trei clusteri ascuni n seturile de date .Cu toate c este uor ca o persoan s observe clusterele ntr-un spaiu bidimensional sau tridimensional, devine foarte greu, dac nu chiar imposibil, s detectm clusterele doar vizual, cnd dimensiunea crete. Mai mult dect att, n multe aplicaii, clusterele nu sunt att de bine definite sau bine delimitate ca n figura de mai sus. Prin urmare, trebuie utilizate tehnici matematice pentru gruparea n clustere. Clusterizarea este una dintre tehnicile fundamentale din analiza datelor care organizeaza un set de obiecte dintr-un spaiu multi-dimensional n grupuri coezive, cum au fost denumite i mai sus clustere. Au fost propuse multe utilizri pentru clusterizare n procesul de regsire a informaiei. Mai ntai, pe baza ipotezei de cluster, clusterizarea poate crete eficiena si eficacitatea n recuperare. Ulterior, clusterizarea poate fi folosit, fiind un mecanism puternic, pentru navigarea ntr-o colecie de documente (pentru a le separa sau grupa) sau pentru prezentarea rezultatelor

http://faculty.chass.ncsu.edu/garson/PA765/cluster.htm 15

recuperrii. Alte aplicaii de clusterizare includ exapansiunea interogarilor, urmarirea documentelor similare si acordarea de ranguri rezultatelor recuperarii. Analizele cluster mpart datele n grupuri (clusters) care au un anumit nteles, o anumit utilitate, sau ambele. Dac ntelesul este scopul, atunci clusterele trebuie s capteze structura natural a datelor. n unele cazuri, clusterizarea este un punct de nceput folositor pentru alte scopuri, ca de exemplu sumarizarea datelor. Fie pentru nelegere, fie pentru utilitate clusterizarea a jucat un rol important n mai multe domenii: psihologie i alte tiine sociale, biologie, statistic, recunoaterea formelor, regsire informaiei, nvarea automat i data mining.2 Clasele, sau grupuri de obiecte cu neles conceptual care mbuntaesc caracteristici comune, joaca un rol important n analizarea i descrierea lumii. ntradevr fiintele umane sunt ndemnatice la mpartirea obiectelor n grupuri (clusterizare) i asignarea obiectelor particulare la aceste grupuri (clasificare). n contextul acesta al ntelegeri, clusterele sunt potenial clase i clusterizarea este o tehic automat pentru gsirea automat a claselor. De exemplu n economie se colecteaz o mare cantitate de date despre clieni. Clusterizarea poate fi folosit la segmentarea clienilor n grupuri mai mici pentru analize adiionale i activiti de marketing. Termenul de clusterizare este folosit n mai multe comuniti de cercetare pentru a descrie metode pentru gruparea datelor neetichetate. Aceste comunitai au terminologii i presupuneri diferite pentru clusterizare i contextul n care este folosit. Clusterizarea este o tehnica de grupare a irurilor,care atribuie valori similare peste un numar de variabile. Este o tehnica de cercetare deosebita care ajut pentru a ntelege organizarea pe grupe a datelor. Pentru a ilustra necesitatea procesului de clusterizare ma jos va fi prezentat un exemplu n cadrul cruia are loc procesul de clusterizare: Exemplu: Zi de zi, ageniile de tiri din jurul lumii transmit un numr mare de articole de tiri. Dac un site web dorete s adune aceste articole de tiri pentru a asigura un serviciu integrat de tiri, trebuie s organizeze articolele adunate n funcie de subiectul pe care l trateaz. ntrebarea este: ce subiecte trebuie s aiba i cum trebuie organizate? O posibilitate ar fi angajarea unui grup de editori care s ndeplineasc misiunea. Cu toate acestea, organizarea manual este costisitoare i necesit mult timp, ceea ce face misiunea imposibil i nepotrivit pentru tiri sau alte informaii care sunt dependente de timp. A prezenta tirile cititorilor fr o organizare clar, nu constituie o opiune. Cu toate c o clasificare poate organiza articolele de tiri n funcie de anumite subiecte predefinite, aceast metod nu poate fi aplicat n acest caz, deoarece clasificarea
2

http://www.en.wikipedia.org/wiki/Cluster_analysis 16

necesit date de antrenare, care trebuie s fie organizate manual prin ierarhizarea subiectelor. Din moment ce subiectele de tiri se schimb n mod constant i rapid, seturile de date de antrenare vor trebui, de asemenea, s se modifice constant, ceea ce nu este fezabil prin etichetarea manuala. Gruparea n clustere este soluia ideal pentru aceast problem pentru c vor fi grupate n mod automat o serie de articole de tiri bazate pe asemanrile de coninut. Algoritmii de grupare ierarhic n clustere pot, de asemenea, organiza i grupa documente (de exemplu, fiecare subiect poate conine subsubiecte i aa mai departe). Ierarhizrile n funcie de subiect sunt n special folositoare pentru texte . Exemplul de mai sus indic faptul c procesul de grupare n clustere necesit o funcie care msoar gradul de asemnare dintre dou obiecte. Adeseori se folosete metrica euclidian, sau mai general, metrica lui Minkowski Aa cum a fost deja menionat, pentru a clusteriza documentele, trebuie ntai ales tipul caracteristicilor sau atributelor documentelor pe care va fi bazat clusterizarea si reprezentarea lor. Cel mai des folosit model este Vector Space Model. Clusterizarea este apoi efectuat folosind ca intrare, vectorii care reprezint documentele i un algoritm de clusterizare a documentelor. Vector Space Model Modelul cel mai folosit in clusterizare este Vector Space Model [18]aici fiecare obiect (de exemplu, un document) este caracterizat de un set de proprieti (termeni), care indic importana fiecrei trsturi pentru fiecare obiect. Selectarea celor mai potrivite trsturi i construirea noilor trsturi nainte de clusterizare sunt aspecte importante care pot influena calitatea rezultatului, care nu trebuie s fie subestimat. n Vector Space Model fiecare document este reprezentat ca vector de caracteristici, a carui lungime este egala cu numrul de atribute unice ale documentului din colecie. Fiecare component din vector are o pondere care indic importana fiecrui atribut n caracterizarea documentului. De obicei, aceste atribute sunt termeni care sunt extrai din document. Faza de extragere a termenilor care caracterizeaz un document este numit indexarea documentului. Apoi, n faza de ponderare a termenilor, acestor termeni le sunt atribuite ponderi, indicnd semnificaia lor n caracterizarea documentului. Aceste ponderi pot fi binare, indicnd existena (1) sau nu (0) a termenilor n document. De obicei, este mult mai raspandit folosirea frecvenei de ntalnire a termenului n document sau un algoritm apartinnd familiei Tf*Idf. Frecventa de ntalnire a termenului este bazata pe statistica termenului n document i este cel mai simplu mod de a asigna ponderi unui termen. Tf*Idf este o msur folosit n coleciile de documente care favorizeaz termenii care sunt frecveni n documente relevante, dar puin

17

frecveni n colecie ca ntreg. Tf reprezint frecvena de ntlnire a termenului n document, iar Idf este inversul frecvenei de ntlnire a termenului n ntreaga colecie. Idf = log(nk / N) unde nk este numrul de documente care conin termenul, iar N este numrul total de documente Dup ce s-a ncheiat ponderarea termenilor, trebuie aleasa o msura de similaritate pentru calculul asemnarii dintre doua documente (sau clustere). Considernd c fiecare document este reprezentat de un vector de ponderi, similaritatea poate fi gsita, n cel mai simplu mod, calculnd produsul termenilor si. Oricum, aceasta msura de similaritate nu este folosit niciodat. Cea mai cunoscut masur de similaritate este cea a coeficienilor cosinus, care masoar cosinusul unghiului dintre doi vectori de caracteristici. Alte msuri sunt cele ale coeficienilor Jaccard i ale coeficienilor Dice, ambele fiind versiuni normalizate ale potrivirii simple a coeficientilor. Algoritmii de clusterizare existeni difer n multe privine, cum ar fi tipul atributelor cheie pe care i folosesc pentru a caracteriza documentele, masura de similaritate folosit, reprezentarea clusterelor, etc. Pe baza caracteristicilor sau atributelor din documente folosite de algoritmul de clusterizare, abordrile pot fi categorisite astfel :

bazate pe text clusterizarea este bazat pe coninutul documentului; bazate pe link-uri bazat pe structura de link-uri a paginilor n colecie; hibride care iau n considerare att coninutul, ct si link-urile .
Cteva cerine tipice de clusterizare: Scalabilitate algoritmilor: sunt necesari algoritmi care s nu fie afectai de problema dimensiunii datelor adic s fie scalabili. Abilitatea de a trata cu diverse tipuri de atribute; Capacitatea de a descoperi clustere de forme arbitrare: cei mai muli algoritmi de clusterizare determin clustere pe baza distanei euclidiene sau pe baza distanei Manhattan. Algoritmii construii pe aceste msuri ale distanei tind s gseasc clustere sferice cu dimensiuni i densiti asemntoare. Cerine minime de determinare a parametrilor iniiali: foarte muli algoritmi de clusterizare cer utilizatorilor s specifice anumii parametrii iniiali, cum ar fi numrul dorit de clustere. Abilitatea de a prelucra date zgomotoase: datele din lumea real conin att date eronate i nregistrri greite ct i date lips. Algoritmii ar trebui s fie insensibili la asemenea date. Insensibilitatea la ordinea prezentrii datelor de intrare; Interpretabilitate.

18

n cazul majoritii problemelor formulate n cazul clusterizrii, informaia disponibil despre datele observate este n general neglijabil. Metodologiile de clusterizare sunt n particular utile n determinarea interconexiunilor dintre datele observate, precum i a structurii acestora. n general, clusterizarea formelor presupune efectuarea urmtoarelor operaii primitive asupra datelor (Jain, Murtay, Flynn, 1999): Reprezentarea caracteristicilor) Definirea unei msuri de proximitate pe domeniul datelor observate Clusterizarea (gruparea) datelor Abstractizarea datelor (dac este necesar) Estimarea rezultatelor (dac este necesar). formelor (eventual extragerea caracteristicilor i/sau selecia

2.2 Tehnicile de clusterizare


Exist mai multe tehnici de construire a clusterele, tehnici bazate pe diverse tipuri de algoritmi:

ascendeni (de agregare, de sintez) clasele sunt construite prin agregarea succesiv a
elementelor, se obine astfel o ierarhie de partiii, de clase.

descendeni (de divizare) mulimea obiectelor este divizat succesiv n submulimi de


obiecte din ce n ce mai omogene; se poate obine i aici o ierarhie a partiiilor.

de partiionare se pleac de la o partiie (structur de clase) care se modific pentru a


maximiza omogenitatea fiecrei clase. Primele dou categorii pot fi reunite n clasificarea ierarhic (hierarchical cluster analysis). Algoritmul fundamental de clasificare ascendent ierarhic presupune determinarea perechilor de elemente cele mai apropiate ntre ele. Prin agregarea lor, se produc noi elemente care se clasific n acelai mod pn cnd mulimea elementelor care se clasific va avea un singur element. Metoda ierarhic descendent const n construirea ierarhiei n ordine invers: se pleac de la mulimea total a elementelor i la fiecare pas urmtor, cea mai mare (cea mai eterogen) grupare este divizat n dou subgrupri. Algoritmul se oprete atunci cnd toate grupurile constituite au cte un singur element. Pentru definirea grupului cel mai eterogen se utilizeaz diametrul grupului, definit ca distana maxim dintre dou elemente din grup. Evident c se pot utiliza i alte metode n acest scop.

19

Metodele de partiionare din analiza cluster au ca idee esenial aceea c se poate porni de la o partiie oarecare a mulimii de obiecte i se poate ajunge, prin migrarea obiectelor ntre clase, la o partiie care ndeplinete un criteriu de optim. Majoritatea metodelor au drept criteriu de optim obinerea partiiei care minimizeaz suma ptratelor erorilor (apare la distana Ward). Eroarea este distana de la un obiect la centrul clusterului su.[6] Tehnicile de clusterizare reprezint tehnici speciale de aranjare a datelor de intrare pe baza dispunerii a vectorilor corespunztori. Pentru a studia asemnarea/deosebirea dintre elementele unei mulimi, n vederea gruprii, fiecare dintre aceste elemente este definit printr-un vector, ale crui componente sunt chiar caracteristicile/atributele reprezentative ale vectorului respectiv. Stabilirea numrului de componente/atribute i definirea acestora se face n funcie de scopul studiului, datele disponibile i, nu n cele din urm, n funcie de experiena analistului. n faza urmtoare, pentru determinarea asemnrii/deosebirii dintre elementele implicate se calculeaz distana dintre vectorii corespunztori. n cadrul unui astfel de proces, vectorii de intrare sunt grupai n funcie de distana care separ punctele reprezentative. n urma procesului de clusterizare rezult una sau mai multe grupe (clustere), n funcie de situaia, care reprezint poziionarea spaial a proprietilor considerate pentru elementele supuse gruprii. n interiorul unei asemenea grupe (cluster) punctele sunt mai apropiate ntre ele sau n raport cu un centru comun, dect n raport cu centrele altor grupe. Acest lucru este exemplificat n figura 2.2.1

Figura 2.2.1 Exemplu de clusterizare a unor elemente[5] n figura 2.2.1 pot fi identificate cu uurin 3 grupe (clustere) n care elementele sunt grupate, criteriul de similaritate fiind caracterizat de distana msurat ntre vectorii corespunztori

20

ai elementelor. Astfel, dou sau mai multe elemente aparin aceleai grupe dac sunt mai apropiate n raport cu o anumit distan. Aceasta este clusterizarea bazat pe distan. Un alt gen interesant de clusterizare este gruparea conceptual. n cadrul acestei grupri, dou sau mai multe elemente aparin aceleai grupe dac aceasta definete un concept comun tuturor elementelor. Altfel spus, elementele sunt grupate n conformitate cu potrivirea la conceptele descriptive i nu n conformitate cu msurile de similaritate . n general, analiza datelor reprezint baza evalurii multor aplicaii, fie n cadrul etapei de proiectare, fie n operaiile de conducere on-line, n cazul unor procese complexe. In cadrul unor asemenea procese, multitudinea tehnicilor utilizate pentru reprezentarea datelor, pentru msurarea asemnrii dintre elementele reprezentative, n vederea gruprii, poate fi derutant n ceea ce privete alegerea celor mai potrivite metode de grupare. Este deosebit de important de a nelege diferena dintre clusterizare care este un proces nesupravegheat i analiza discriminant, care este un proces de clasificare supravegheat. n cadrul clasificrii supravegheate, sunt stabilite deja o serie de grupe iniiale, care conin elemente preclasificate (cu eticheta grupei), problema const n a eticheta un nou element ntlnit, dar nc neetichetat. In mod practic, elementele etichetate sunt folosite pentru descrierea grupelor/claselor respective. n cazul clusterizrii, plecnd de la elemente iniiale neetichetate, se ajunge la una sau mai multe grupe semnificative, n funcie de situaie. Clusterizarea se utilizeaz pe scara larg n diferite analize, n explorarea datelor, n probleme de luare a deciziilor, situaii de nvare asistat, inclusiv recondiionarea documentelor, segmentarea imaginilor, clasificarea modelelor etc. Clusterizarea poate fi utilizat n special pentru cercetarea legturilor dintre date, n scopul unor evaluri (preliminare) a structurii acestora, definirea unor elemente/modele reprezentative. Termenul de clusterizare este folosit n numeroase domenii de cercetare tiinific pentru a descrie procesul de grupare a unor modele neetichetate. Aceste domenii folosesc deja diferite terminologii, tehnici i ipoteze, care se refer la etapele procesului de clusterizare, specifice problemelor abordate.

2.3 Etapele procesului de clusterizare


Etapele unui proces de clusterizare se refer la rezolvarea urmtoarelor probleme: stabilirea elementelor supuse operaiei de clusterizare; definirea unei msuri de proximitate n cadrul unei mulimi; procesul de clusterizare; extragerea rezultatelor;

21

evaluarea rezultatelor. Stabilirea elementelor supuse procesului de clusterizare este o etap principal care uneori mai include stabilirea numrului de clase/grupe (clustere), tipul i scara caracteristicilor/atributelor disponibile algoritmului de clusterizare. Selectarea caracteristicilor este procesul de identificare a celor mai utile i reprezentative atribute/caracteristici utilizate n procesul de clusterizare. Selectarea acestor caracteristici se refer la modalitatea de a efectua una sau mai multe transformri ale datelor de intrare, n scopul obinerii unor noi caracteristici dominante. Proximitatea elementelor este msurat de obicei printr-o funcie de distan definit de perechi de elemente. Msurile de asemnare pot fi folosite i pentru a caracteriza similitudinea conceptual dintre dou sau mai multe elemente. n literatura de specialitate au fost definite o mulime de sisteme de msurare a distanelor. Cea mai utilizat este distana Euclidian, care poate reflecta similitudinea dintre dou elemente, dup ce n prealabil s-a definit o metric pentru fiecare atribut al vectorilor. Procesul de clusterizare poate fi realizat n mai multe feluri. Datele de ieire ale acesteia pot fi hard (separarea elementelor n grupe clar determinate) sau fuzzy (unde fiecare element are un grad variabil de apartenen la fiecare din grupele rezultate). Extragerea rezultatelor este procesul de obinere a rezultatelor sub o form ct mai simpl i reprezentativ. n acest caz, simplitatea este privit fie din perspectiva analizei automate (astfel nct un calculator s poat efectua mai departe procesarea datelor ntr-un mod eficient) sau din persectiva uman (astfel nct reprezentarea obinut pentru rezultate s fie mai uor de neles de ctre om). n cadrul gruprii spaiale, extragerea unor rezultate reprezint, de fapt, o descriere concis a fiecrei grupe obinute, de obicei prezentate sub forma unor elemente reprezentative. n principiu, toi algoritmii de clusterizare ar trebui s ne conduc la obinerea unor grupe/clase pentru orice mulime de date de intrare. Dac n urma procesului de clustering, utiliznd un anumit algoritm, nu se obine gruparea elementelor, atunci poate fi aplicat un alt algoritm care poate furniza rezultate mai bune dect cel utilizat anterior. Astfel, evaluarea rezultatelor unui proces de grupare spaial are mai multe aspecte. Analiza validitii grupelor face o evaluare a rezultatelor procesului de clusterizare i utilizeaz, de obicei, un criteriu de optimizare. Aceast analiz este obiectiv i se efectueaz pentru a se determina dac rezultatele clusterizrii sunt corecte. Un cluster (un grup) este validat dac nu a rezultat accidental sau dintr-un capriciu al algoritmului folosit.

22

Stabilirea elementelor

Selectarea Proximitatea elementelor

Procesul de clusterizare

Extragerea rezultatelor Analiza validitaii


Figura 2.3.1 Reprezentarea etapelor procesului de culsterizare

2.4 Dificultile utilizatorului n procesul de clusterizare


Exist un numr relativ mare de dificulti care pot s apar n procesul de clusterizare. Dintre acestea cele mai importante sunt : tehnicile de clusterizare uzuale nu pot rezolva toate tipurile de probleme n mod corespunztor; creterea timpului de calcul n cazul unor dimensiuni mari ale structurii seturilor de date; eficiena tehnicilor de clusterizare depinde de definirea unui sistem de msurare a distanei (pentru gruparea bazat pe distan); n cazul n care nu exist n mod clar un sistem de msurare a distanei, atunci acesta trebuie definit, lucru care nu este ntotdeauna uor, n special n situaia clusterizrii multidimensionale;

rezultatul algoritmului de clusterizare, care n multe cazuri poate fi arbitrar, poate fi


interpretat n mod diferit. Numrul mare de algoritmi de clusterizare existeni n literatura de specialitate ridic o prima ntrebare: cum poate fi stabilit cel mai adecvat algoritm pentru o anumit problem care trebuie rezolvat? Criteriile de alegere ale acestuia se bazeaz pe urmtoarele aspecte: modul de formare a grupelor; structura mulimii de date;

23

sensibilitatea tehnicilor de clusterizare la modificri care pot afecta structura mulimii de date. Pn n momentul de fa nu exist o analiz critic a algoritmilor de clusterizare care s poat rspunde unor ntrebri importante precum: cum trebuie normalizate datele? ce msur a similitudinii este adecvat unei situaii date?

cum pot fi folosite cunotinele din domeniu la rezolvarea unei anume probleme de
clusterizare? cum poate fi clusterizare un set foarte mare de date, de ordinul a unui milion, de exemplu, n mod eficient? De asemenea, nu exist o tehnic de clusterizare universal aplicabil la determinarea varietilor de structuri prezente n spaiile multidimensionale. Este evident c oamenii pot asimila uor rezultatele clusterizrii bidimensionale, dar majoritatea problemelor reale implic clusterizarea multidimensional, ale cror rezultate nu pot fi interpretate intuitiv de mintea uman.

2.5 Algoritmi de clusterizare a documentelor


Clusterizare bazat pe text. Aceast abordare caracterizeaz fiecare document n funcie de coninutul su: cuvintele coninute, frazele sau fragmentele. Ideea de baz este c dac doua documente conin multe cuvinte comune, atunci este foarte probabil ca ele sa fie documente similare. Abordrile din aceast categorie pot fi, mai departe, categorisite n funcie de metoda de clusterizare folosita n: partiionale, ierarhice, bazate pe grafuri, bazate pe reele neurale i algoritmi probabilistici. Mai departe, n funcie de felul n care algoritmul de cluterizare trateaz din punct de vedere al suprapunerii clusterelor, un algoritm poate sa fie tare (crisp), care trateaza partitiile nesuprapuse, sau fuzzy - cu care un document poate fi clasificat n mai multe clustere. Majoritatea algoritmilor existenti sunt tari, ceea ce nseamna ca un document fie aparine, fie nu unui anumit cluster. Clusterizarea partiional. Clusterizarea de documente partitional sau non-ierarhic ncearc partiionarea neted a unei colecii de documente ntr-un numar predefinit de clustere disjuncte. Mai precis, aceti algoritmi produc un numr ntreg de partiii care optimizeaza o anumit funcie, criteriu (ex : maximizarea sumei mediilor similaritatilor pereche intra-cluster). 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 muli sunt iterativi i metodele cu un singur pas sunt utilizate la inceputul metodei de realocare. Cei mai cunoscui algoritmi de clusterizare partiional sunt k-means, care se bazeaz pe ideea c centrul clusterului, numit

24

centroid, poate fi o bun reprezentare a clusterului. Algoritmul pornete prin a alege k centroizi de clustere. Apoi este calculat distana cosinus dintre fiecare document din colecie i centroizi si documentul este asignat clusterului cu centroidul cel mai apropiat. Apoi sunt recalculai centroizii noului cluster i procedura continua iterativ pana este atins un anumit criteriu. Alt algoritm de clusterizare partiionala este algoritmul celei ma apropiate vecinatati (k - nearest neighbor). Clusterizarea ierarhic. Algoritmii de clusterizare ierarhica produc o secventa de partitii de acelasi fel. De obicei, similaritatea dintre fiecare pereche de documente este stocata ntr-o matrice de similaritate n x n. La fiecare pas, algoritmul fie unete doua clustere (metode aglomerative), fie mparte un cluster n doua (metode divizive). Rezultatul unei clusterizri poate fi vizualizat ntr-o structur sub forma de arbore, numit dendograma, cu un cluster n vrf care conine toate documentele coleciei i multe clustere la baza, fiecare coninnd un singur document. Alegand nivelul convenabil pentru dendograma, obinem o partiionare n cte clustere dorim. Aproape toti algoritmii ierarhici folositi pentru clusterizarea documentelor sunt aglomerativi (HAC). Un algoritm HAC tipic pornete prin a asigna fiecare document din colecie unui singur cluster. Similaritatea dintre toate perechile de clustere este calculat si stocat n matricea de similaritate. Apoi, cele mai apropiate (similare) clustere sunt unite si matricea de similaritate este updatat pentru a reflecta schimbarea n similaritate dintre noul cluster si clusterele originale. Procesul este repetat pana cand ramane un singur cluster sau pan cnd este atins un prag. Metodele de clusterizare ierarhic aglomerativ difer prin modul n care calculeaza similaritatea dintre doua clustere. Metodele existente sunt metoda legaturii singulare (single link), metoda legaturii complete (complete link), metoda mediei de grup (group average), metoda Ward si metoda centroidului (mediana). Clusterizarea bazat pe grafuri. Documentele care urmeaza sa fie clusterizate pot fi vzute ca un set de noduri i muchiile dintre noduri reprezint relaiile dintre ele. Fiecare muchie are o pondere, care denot gradul acelei relaii. Algoritmii bazai pe grafuri se bazeaza pe partitionarea grafului, adic pe identificarea clusterelor prin tierea muchiilor din graf astfel nct muchiile tiate (suma ponderilor muchiilor taiate) sa fie minimizate. De vreme 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 baz este ca ponderile muchiilor din acelasi cluster vor fi mai mari decat ponderile muchiilor dintre clustere. Astfel, clusterul rezultat va conine documentele strans legate. Cei mai importani algoritmi bazai pe grafuri sunt Chameleon, ARHP (Association Rule Hypergraph Partitioning) si cel propus de Dhillon.

25

Clusterizarea bazat pe reele neurale. SOM (caracteristica Self-Organizing Maps a lui Kohonen) este un model de reea neurala nesupervizat des folosit. Const din doua straturi: stratul de intrare cu n noduri de intrare, corespunztor celor n documente i stratul de ieire cu k noduri de ieire, care corespunde celor k regiuni de decizie. Fiecrei din cele k unitti de ieire i este asignat un vector de ponderi. n timpul unui pas de nvatare, un document din colecie este asociat cu un nod de ieire care are cel mai similar vector de ponderi. Vectorul de ponderi a nodului castigator este apoi adaptat n asemenea fel nct va deveni i mai similar cu vectorul care reprezint acel document. Ieirea algoritmului este aranjamentul documentelor de intrare ntr-un spaiu 2dimensional n asemenea fel nct similaritatea dintre doua documente de intrare este oglindit n termenii distanei topografice dintre cele k regiuni de decizie. Alt abordare propusa este modelul hrii caracteristicilor ierarhice (hierarhical feature map), care este bazat pe organizarea ierarhic a mai mult de o harta de caracteristici cu auto-organizare. Clusterizarea Fuzzy. Toate abordrile de mai dinainte produc clustere ntr-un mod n care fiecare document este asignat unui singur cluster. Abordrile clusterelor fuzzy, pe de alta parte, sunt non-exclusive, n sensul c fiecare document poate aparine de mai mult de un singur cluster. Algoritmii fuzzy de obicei ncearc s gseasc cea mai bun clusterizare prin optimizarea unei anumite funcii criteriu. Faptul c 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, o variaie a algoritmului partiional k-means. Alt abordare fuzzy este algoritmul Fuzzy Clustering si Fuzzy Merging. Clusterizarea probabilistic. Alt mod de a trata incertitudinea este folosirea algoritmilor de clusterizare probabilistic. Aceti algoritmi folosesc metode statistice pentru a calcula similaritatea dintre date n loc de anumite msuri predefinite. Ideea de baz este asignarea de probabilitai pentru membrii unui document ntr-un cluster. Fiecare document poate aparine mai multor clustere n funcie de probabilitatea de apartenen la fiecare cluster. Abordrile de clusterizare probabilistic sunt bazate pe modelari de amestec finit (finite mixture). Doi algoritmi probabilistici des utilizai sunt maximizarea asteptrii (expectation maximization) si AutoClass. Ieirea algoritmilor probabilistici este setul de valori ale parametrilor funciei de distribuie i probabilitatea de membru a fiecrui document pentru fiecare cluster. Teoria este luat din [22]

26

2.6 Clasificarea principalelor metode de clusterizare


Analiza datelor st la baza multor aplicaii, fie n faza de proiectare sau fie ca parte a operaiilor lor on-line. Analiza gruprii reprezint organizarea unei colecii de tipare (de obicei reprezentate ca un vector de msurri, sau un punct ntr-un spaiu multidimensional) n grupri bazate pe similitudini. n mod intuitiv, tiparele dintr-o grupare valid sunt mai asemntoare cu fiecare dect cu un tipar ce aparine unei grupri diferite. Varietatea de tehnici de reprezentare a datelor, msurarea apropierii (similaritii) dintre elementele de date, i gruparea elementelor de date a produs o confuzie mare i adesea a sortrii metodelor de clusterizare. Este important s nelegem diferena dintre clusterizare (clasificare nesupravegheat) i analiza discriminant (clasificarea supravegheat). n cadrul nvrii supravegheate, ne este asigurat o colecie de tipare etichetate (preclasificate); problema const n a eticheta un nou tipar ntlnit dar nc neetichetat. n mod tipic, tiparele etichetate date sunt folosite pentru a nva descrierea claselor care n schimb sunt folosite pentru a eticheta un nou tipar. n cazul clusterizrii, problema const n a grupa o colecie dat de tipare neetichetate n grupri semnificative. ntr-un fel, etichetele sunt asociate de asemenea cu clusterii, dar aceste categorii de etichete sunt antrenate de date; asta dac, sunt obinui exclusiv numai din date. [21,20] Clasterizarea se clasific dup urmrotoarele criterii. a) Avnd n vedere modul n care sunt obinute clusterele, avnd dou tipuri mari de algoritmilor de clusterizare: algoritmi de clusterizare ierarhic algoritmi de clusterizare partiional Att algorimii ierarhici ct i cei partiionali se mpart la rndul lor n mai multe grupe de algoritmi, astfel algoritmii de clusterizare ierarhic pot fi: Single likage Complete linkage Average linkage Median Algoritmii partiionali pot fi: K-means Adaptive k-means K-medoids Fuzzy clustering In figura de mai jos este prezent clasificarea algoritmilor de clusterizare.

27

Figura 2.6.1 Clasificarea algoritmilor de clusterizare b) n funcie de modul cum sunt proiectate clusterele avem 3 tipuri diferite de algoritmi:

Algoritmi iterativi:
multe formule.

mpart instanele n grupe disjuncte folosind o mrime numit

distan. n funcie de implementri aceast distan poate fi calculat folosind mai

Algoritmi incrementali: au la baz o msur a calitii clusterului numit unitatea


categoriei.Un algoritm incremental construiete arbori de clasificare astfel nct fiecare nou cluster format s fie necesar sau util.Decizia de pstrare a setului de date fr a realiza un cluster nou se va lua cnd vechea clasificare este curat. Astfel o instan nou va trebui clasificat astfel nct s produc un cluster nou doar dac plasarea ntr-un cluster deja existent compromite puritatea acelui cluster.

Algoritmi statistici: mpart instanele n grupe pe principiul probabilitilor, spre deosebire


de principiul determinist folosit de celelalte dou metode. c) n funcie de modul de parcurgere a setului de date pentru construirea clusterizrii avem:

Algoritmii cu agregare sau bottom - up: construiesc clusterele pornind de la nivelul


frunz i agreg clustere n grupe mai generale, folosind diverse criterii.

Algoritmii de diviziune sau top - down: ncep construirea culsterizrii de la


mpri n clustere mai mici.

nivelul

rdcin, unde ntregul set de date constitue primul cluster. Folosind anumite criterii l va d) O alt clasificare se poate face n funcie de restriciile de apartenen a unei instane la unul sau mai multe clustere:

Algoritmi de clusterizare Knn: o instan va putea aparine unui singur cluster.

28

Algoritmi de culsterizare K-means: o instan poate aparine mai multor clustere cu o


oarecare probabilitate. Figura 2.6.2 reflect toate categoriile menionate anterior.

Figura 2.6.2 Categoriile de metode pentru clasterizare. Figurile sunt luate din [24]

2.7 Metode de clusterizarea folosind algoritmi de partiionare


Algoritmii de clusterizare prin partiionare mpart setul de date n clustere folosind diverse criterii pentru gruparea instanelor. Prima problem care se pune n acest tip de algoritmi este numrul de clustere care vor fi formate. Acest numr este de obicei furnizat ca dat de intrare a procesului de clusterizare, fiind ales n funcie de tipul datelor care vor fi prelucrate. Alt problem este alegerea criteriului de grupare a instanelor. Cel mai folosit criteriu este distana dintre instane. Pentru evaluarea clusterizrii se calculeaz diveri indicatori care furnizeaz informaii desrpre eterogenitatea clusterelor, despre distana dintre clustere i altele. Considernd un set de date D, putem spune c sub-seturile de date partiionare a setului de date D, dac pentru orice instan unde j [1,k]. Subseturile de date realizeaz o ,

diexist un j, astfel nct

trebuie s ndeplineasc proprietatea ca

, adic reuniunea tuturor subseturilor trebuie s acopere n ntregime setul de date D. Dac , oricare ar fi i,j [1,k],vom avea partiii disjuncte ale setului de

date. n funcie de algoritmii de partiionare folosii un cluster poate fi disjunct sau cu o funcie

29

probabilistic de distribuie a instanelor. n continuare vom prezenta noiunile de baz a algoritmilor de clusterizare prin partiionarea setului de date. [23]

2.7.1 Descrierea algoritmului de partiionare


Modul de lucru al unui algoritm de clusterizare care folosete metoda partiionrii poate fi descris astfel: avnd setul de date D, un numr predefinit de clustere care se doresc a fi obinute: N i un criteriu de similaritate a datelor, algoritmul va partiiona setul de date optimiznd acel criteriu. Criteriul cel mai frecvent folosit este distana dintre instane. Pentru calculul distanei avem mai multe forumule, dintre care: distana euclidian, dinstana Manhatan, etc. Clusterele sunt alctuite printr-un proces iterativ, n mai muli pai de execuie. Fiecare cluster va fi evaluat la sfritul unui ciclu. Dac criteriul de similaritate nu este satisfcut, se reia procesul de distribuire e a instanelor. O instan va fi astfel redistribuit succesiv n clustere diferite. n final se obin clustere de o calitate ridicat. Dezavantajul metodei este c necesit un timp ridicat de computare. [23] n continuare vom descrie paii algoritmului de clusterizare de partiionare: Pas 1: Avem inputul constnd n numrul de clustere ce se doresc obinute (k clustere), criteriul urmrit (distana dintre instane) i setul de date. Pas 2: Sunt alese aleator k puncte. Ele vor reprezenta "centrele clusterelor": C1, ... Ck Unde: k este numrul de clustere, C poate face parte din setul de date sau poate fi o instan ce nu aparine setului de date dar are aceai structur Pas 3: Pentru fiecare instan se evaluaz criteriul de similaritate cu fiecare centru de cluster: Este Ii similar cu Cj? Unde: Ii este o instan din setul de date, i = 1..n, Cj este un centru de cluster j = 1..k, n - dimensiunea setului de date, k numrul de clustere Pas 4: O instan va fi repartizat clusterului care optimizeaz cirteriul de similaritate) 6 Pas 5: Pentru fiecare cluster nou format prin repartiia instanelor, se va recalcula noul centru, numit centroid, pe baza unei formule consistente criteriului de similaritate, lund n calcul toate instanele care au fost distribuite n acel cluster

30

Pas 6: Algoritmul este reluat de la pasul 2 cu noile centre de clustere .Criteriul de oprire: instanele vor fi repartizate succesiv n acelai cluster. Un cluster are urmtorii parametrii care pot fi evaluai: centroidul clusterului, raza clusterului i diametrul clusterului. Pentru evaluarea distanei dintre clustere avem: distana dintre centroide, distana dintre cele mai apropiate dou instane i distana dintre cele mai deprtate dou instane. n continuare vom furniza o formul de calcul pentru evaluarea parametrilor unui cluster. Centroidul clusterului reprezint o medie a tuturor instanelor plasate n acel cluster, i poate fi calculat folosind formula:

(2.7.1.1) Unde: I: reprezint o instan din setul de date N: reprezint numrul de instane din clusterul k k : reprezint numrul clusterului Raza unui cluster poate fi calculat ca o sum a distanelor dintre instanele care au fost clasificate n acel cluster. Astfel raza unui luster k poate fi calculat folosind formula :

(2.7.1.2) Unde: I: reprezint o instan din setul de date N: reprezint numrul de instane din clusterul k k : reprezint numrul clusterului Centroid k: reprezint centroidul clusterului Diametrul unui cluster poate fi calculat dup formula urmtoare:

(2.7.1.3) Unde:

31

I: reprezint o instan din setul de date N: reprezint numrul de instane din clusterul k k : reprezint numrul clusterului Formulele sunt luate din [24]

2.7.2 Metode de calcul a distanei


Procesul de clusterizare va urmri minimizarea distanei n scopul formrii unor clustere similare. Alegerea metodei de calcul a distanei se face n funcie de setul de date analizat i n 7 funcie de rezultatele ce se doresc a fi obinute. Modul de calculul a distanei influeneaz o serie de parametrii n procesul de clusterizare, cum sunt: forma clusterelor obinute, calitatea clusterelor i viteza de construire a clusterelor. Distana Euclidian Considerm un set de date D, cu N nregistrri i M atribute pentru fiecare nregistrare. Dorim s calculm distana dintre o nregistrare A i o nregistrare B (A,B A = (a1, a2, ... , aM) B = (b1, b2, ... , bM) Distana Euclidian se calculeaz folsind formula: D). [23]

(2.7.1) Distana Manhattan Folosind notaiile de mai sus, distana Manhattan se calculeaz folosind formula:

(2.8.2) Distana Minkowsky Se calculeaz folosind formula:

(2.8.3) Partiionarea setului folosind eroarea ptratic Eroare ptratic este unul dintre cele mai folosite criterii de construire a unei clusterizri, deoarece este uor de calculat i produce rezultate de o calitate ridicat att pentru clustere izolate ct i pentru clustere compacte. Eroarea ptratic pentru un cluster se calculeaz folosind formula:

32

(2.8.4) Unde:

Ii: reprezint instana i din clusterul


: reprezint centroidul clusterului

m: reprezint numrul de instane prezente n clusterul


Eroarea ptratic pentru ntregul process de clusterizare se calculez nsumnd erorile pentru fiecare din clustere:

(2.8.5) Formulele sunt luate din [24]

2.7.3 Clusterizare cu partiionare probabilistic


O sub-categorie a metodelor de partiionare sunt metodele de clusterizare probabilistice. Ele mpart instanele n grupe folosind un calcul probabilistic. La baza clasificrii statistice st un model statistic numit mixturi finite. O mixtur este un set de k distribuii de probabilitate reprezentnd k grupe supuse unor legi distincte i bine definite, care guverneaz valorile atributelor pentru membrii acelui cluster. Fiecare distribuie reprezint probabilitatea valorii unui atribut, dac se cunoate clusterul la care aparine instana respectiv. Ca exemplu putem considera persoanele care sunt clienii unui magazin. Cunoatem mai multe gurpe guvernate de un comoprtament similar. Una dintre grupele comportamentale este femei tinere. Cunoscnd c o instan aparine acestui cluster de clieni, modelul mixturilor finite ne va oferi informaii de genul: atributul achiziii_cosmetice are valoarea da cu probabilitatea de x%.

33

Figura 2.7.3.1 Paii algoritmului K means.[24] Fiecare cluster are o distribuie distinct, guvernat de legi diferite. Toate instanele din setul de date aparin unui singur cluster i n mod obligatoriu unui cluster. Problema ce trebuie rezolvat este determinarea clusterului la care aparine fiecare instan. De asemenea, dimensiunea clusterelor va diferi, modelul mixtur oferind i o distribuie de probabilitate care va fi folosit pentru calculul populaiei relativ a clusterelor. Un exemplu de algoritm de partiionare probabilistic este: Expectation-Maximization (EM).

2.7.4 Clusterizarea partiionar


Metoda K-means alctuiete clustere folosind date cu atribute ce conin valori numerice. Ea mparte instanele n grupe disjuncte folosind distana dintre instane. n funcie de implementri distan poate fi calculat folosind una dintre formulele prezentate mai sus. [23] Algoritmul K-means poate fi descris astfel: Pas1: Se precizeaz cte clustere va avea mprirea: acesta este parametrul k Pas2: Sunt alese aleator k puncte care vor fi desemnate centrele clusterelor: C1,...,Ck Pas3: Instanele sunt repartizate n clusterul cu cel mai apropiat centru corespunztor distanei folosite. Pas4: Pentru fiecare cluster format dup repartizarea tuturor instanelor se va calcula centorid-ul care este media instanelor din acel cluster

34

Pas5: Centrul clusterului va fi nlocuit cu centroid-ul calculat la pas 4. Pas6: Algoritmul este reluat de la pasul 2. Procesul este oprit atunci cnd instanele sunt repartizate succesiv n acelai cluster de mai multe ori. n acest caz se consider c s-au stabilizat clusterele. n funcie de implementare parametrul k este predefinit sau este introdus de utilizator. Deoarece instanele sunt repartizate n clusterul de a crui centru este mai aproape centrele se vor stabiliza pe un minim. Pentru a elimina acest neajuns, algoritmul se va rula succesiv pe aceleai date, de fiecare alegnd alte centre de clustere iniiale. Un dezavantaj al algoritmului k-means este c procesul de clusterizare este greoi. La fiecare pas algoritmul trebuie s efectueze un numr mare de calcule pentru a determina distana dintre fiecare instan i fiecare centru. n plus algoritmul trebuie s efectueze un numr mare de iteraii: dup ce au fost alctuite clusterele, sunt recalculate centrele lor iar procesul este reluat. Din aceast cauz algoritmul este foarte lent. Pentru a diminua ct mai mult acest dezavantaj au fost gsite diverse metode de a scdea numrul de iteraii necesare i numrul de calcule efectuate. Una dintre aceste metode este folosirea proieciei setului de date,sau divizarea setului dup anumite axe pentru a nu mai folosi n calcul fi instan n parte, ci cu diviziunile respective. Aceste mbuntiri n sensul creterii vitezei au neajunsul scderii calitii clasificrii.

Figura 2.7.4.1 Influena alegerii numrului de grupe (K) asupra rezultatului final.[5] Totui, datorit simplitii sale i a eficienei sporite legate de minimizarea funciei eroare ptratic, algoritmul K-medii este folosit deseori cu rezultate bune, mai ales atunci cnd setul de date descrie o mulime de puncte care formeaz grupe liniar separabile i relativ ndeprtate una fa de alta. Metoda de clusterizare Kmedii este convenabil pentru seturi de date mari de sute de mii de nregistrri.

35

Esena metodelor non-ierarhice de clusterizare const n corelarea prevederilor dispoziiilor din centrele de clustere multidimensionale n semne din spaiu i ajustarea gradual a acestor centre. n algoritmi de baz pentru perioada iniial de centre i numrul de clustere, de obicei, definite de utilizator, modificai i mai compleci, unele dintre aceti parametri pot fi detectai automat. Metode Nonierarhice, spre deosebire de ierarhic, permite ca unul si acelai text s reprezinte mai muli clusteri. Avantajele unor metode non-ierarhice este complexitatea liniar a (O(N),unde N este numrul de texte), precum i posibilitatea de a relaiona probabilitatea de texte pentru clustere. Dezavantajul este mai mult srac, n comparaie cu metodele ierarhice, n reprezentarea rezultatului.[11] Acest algoritm are o aplicaie mai larga, de cele mai multe ori este folosit ca instrument de analiza n explorarea datelor. Pentru date unidimensionale este o modalitate potrivit de a separa variabilele n K grupe neuniforme. De asemenea este utilizat la alegerea paletei de culori pe dispozitivele vechi de afiare grafic. Deseori utilizat ca o form de segmentare a imaginii. Rezultatele segmentrii sunt utilizate pentru detectarea frontierii i recunoasterea obiectului. n acest context obinuita Distana Euclidian este deseori insuficient pentru formarea clusterilor, de aceea sunt frecvent folosite i alte metode ca msurarea ponderii folosind coordonatele pixelilor, metoda de colorare RGB sau textura imaginii.

2.8 Metode de clusterizare ierarhice


Spre deosebire de clusterizarea prin partiionare, metodele de clusterizare ierarhice nu necesit precizarea n prealabil a numrului de clustere care vor a fi obinute. Ele necesit precizarea condiiei de oprire a algoritmului. n unele cazuri condiia de oprire poate fi numrul de clustere. Reprezentarea rezultatului procesului de clusterizare se poate face sub forma arborilor de decizie, cu mai multe niveluri, numite dendrograme. Clusterele obinute n final au o relaie ierarhic de genul printe, copil, frai, etc. Criteriul de grupare a instanelor n clustere se face pe baza calculului distanei dintre instane.

2.8.1 Tipuri de clusterizare ierarhic


Exist dou categorii principale de algoritmi ierarhici:

algoritmi de clusterizare ierarhic aglomerativ . algoritmi de clusterizare ierarhic fragmentar sau prin diviziune .
Algorimii aglomerativi realizeaz o analiz de tip bottom-up, pornind de la nivelul fiecare instan este un cluster individual. Procesul de frunz al arborelui nivel la care,

36

clusterizare urmrete aglomerarea clusterelor n clustere noi, prin unirea a dou sau mai multe clustere formate n pasul precedent. Fr o condiie de oprire corespunztoare procesul de clusterizare aglomerativ se va opri cnd toate instanele au fost introduse ntr-un singur cluster final. Condiia de oprire trebuie s precizeze clusterizare. Algoritmii fragmentari realizeaz o analiz de tip top-bottom. Ei pornesc de la nivelul rdcin al arborelui i realizeaz fragmentri succesive, n clustere noi. Fr o condiie de oprire, algoritmul mparte setul de date n clustere formate dintr-o singur instan, obinnd un numr de clustere egal cu numrul de instane din setul de date. Condiia de oprire are scopul de a opri algoritmul cnd un numr suficient de clustere a fost atins sau cnd gradul de fragmentare este atins. n figura 2.8.1.1 este prezentat un exemplu grafic de clusterizare ierarhic. Se consider un set de date cu 7 instane (A..G) cu proprietile: instanele A i B sunt suficient de similare, C, D, E i F de asemenea, iar G distinct de celelalte. Astfel se dorete o clusterizare n 3 clustere a acestui set de date. n figura .x.a. este ilustrat procesul de clusterizare agomerativ ce pornete de la nivelul instan, iar n figura .x.b. clusterizarea fragmentar. Linia punctat reprezint momentul n care trebuie oprit clusterizarea pentru a se obine rezultatul dorit.[17] gradul de granularitate satisfctor pentru

Figura 2.8.1.1 Exemplu de clasterizare ierarhic.[24]

37

2.8.2 Algoritmul de clusterizare ierarhic aglomerativ


Paii algoritmului de clusterizare aglomerativ sunt: Pas 1: Fiecare instan Ii este repartizat ntr-un cluster individual: Ii Kj, i = 1..n, j = 1..m, i m = n (la nceputul procesului) Pas 2: Pentru fiecare instan Ii se calculeaz distana dintre ea i restul instanelor: d(Ii, Ij) ( j i ). Pas 3: Se grupeaz instanele folosind criteriul celei mai mici distane. Pas 4: Se reia algoritmul de la pas 1, folosind noile clusterele formate(m < n) n funcie de msura distanei utilizat la pasul 3, putem obine diferite tipuri de clusterizare: a. Clusterizare prin metoda legaturii singulare (single link) Unul din cele mai simple procedee de aglomerare n clusterizare este cel bazat pe distana minim, cunoscut de asemenea ca i tehnica celui mai apropiat vecin. n acest caz distana dintre grupe este definit ca distana dintre cele mai apropiate elemente: D(r,s) = min{d( i,j)} (2.8.2.1) unde elementul i este din grupa r , iar elementul j este din grupa s Aceast msur a distanelor dintre grupe/clase este artat n Fig. 2.8.2.1

Figura 2.8.2.1 Distana minim (legatura unica) dintre dou grupe. n acest caz este calculat distana dintre fiecare pereche posibil de elemente (i,j), unde elementul i este din grupa r i elementul j este din grupa s. Valoarea minim a acestei distane se consider a fi distana dintre grupele r i s. Cu alte cuvinte distana dintre dou grupe este dat de valoarea celei mai scurte legturi dintre grupele respective. La fiecare stadiu din gruparea spaial ierarhic, grupele r i s, pentru care D(r,s) este minim sunt grupate (unite).

38

b. Clusterizare prin metoda legaturii complete (complete link) Metoda legturii complete, numit metoda celui mai ndeprtat vecin este opus celei precedente.n metoda de clusterizare pe baza legturii complete (distanei maxime, distana) D(r,s) se calculeaz: D(r,s) = max {d(i,j)} (2.8.2.2) unde elementul i este din grupa r, iar elementul j este din grupa s. n acest caz distana dintre dou grupe este dat de valoarea celei mai lungi legturi dintre grupe, Fig 2.7.2.2 XX. La fiecare etap a gruprii ierarhice spaiale, grupele r i s, pentru care D(r,s) este maxim, sunt grupate (unite).

Figura 2.7.2.2 Distana maxim (legtura complet) dintre dou grupe. c. Clusterizare prin metoda bazat pe distana medie n cadrul acestei metode distana dintre dou grupe este definit ca media distanelor dintre toate perechile de elemente/obiecte, unde fiecare pereche conine cte un obiect din fiecare grup. Astfel, distana D(r,s) se determin cu relaia: D(r,s) = Trs / ( Nr Ns) Nr, Ns - dimensiunile grupei r, respectiv s. La fiecare etap a gruprii spaiale ierarhice, grupele r i s pentru care D(r,s) este minim, sunt grupate. Fig. 2.8.2.3 ilustreaz modul de definire a distanei medii. (2.8.2.3) unde: Trs - suma tuturor distanelor posibile dintre elementele grupei r i cele ale grupei s;

39

Figura 2.8.2.3 Definirea distanei medii dintre dou grupe. d. Clusterizare prin metoda Ward Ward propune un procedeu de clustering (grupare spaial) cutnd s formeze partiiile Pn, Pn-1,, P1 ntr-o manier care s minimizeze pierderile de informaii asociate fiecrei grupri i s msoare aceste pierderi ntr-o form uor de interpretat. La fiecare pas din analiz sunt combinate dou grupe a cror fuziune conduce la rezultate minime n creterea informaiei pierdute. Informaia pierdut este definit de Ward n condiiile criteriului suma patratric a erorii (SPE). Argumentarea propus de Ward poate fi ilustrat mult mai simplu considernd date unidimensionale. S presupunem pentru exemplu, 10 elemente cu o singur caracteristic (6, 5, 6, 2, 2, 2, 2, 0, 0, 0). Pierderea de informaie care va rezulta din gruparea celor 10 elemente ntr-o singur grup, cu o medie de 2,5, este reprezentat de SPE, dat de : SPE un grup = (2 - 2,5)2 + (6 - 2,5)2 + ....... + (0 - 2,5)2 = 50,5 grupe: {0,0,0}, {2,2,2,2}, {5}, {6,6} (2.8.2.4) (2.8.2.5) Pe de alt parte, dac cele 10 elemente sunt grupate dup caracteristicile lor, n patru SPE poate fi evaluat ca sum ptratic a patru erori separate: SPE un grup = SPE grup1 + SPE grup2 + SPE grup3 + SPE grup4 = 0 Deci prin dispunerea celor 10 elemente n 4 grupe, gruparea se face fr pierderi de informaie. Algoritmnul de clusterizare ierarhic are urmtorii pai. Se da o mulime de N elemente ce urmeaz a fi clusterizate (grupate), i o matrice distan (sau matrice de similaritate) de dimensiune N*N .: 1. Se atribuie fiecrui element un cluster, aadar dac avem N elemente, vom avea la acest nivel N clustere, fiecare coninnd cte un unic element. Vom presupune c distanele dintre clustere sunt acelei ca i distanele dintre elementele pe care acestea le conin.

40

2. Se determin cea mai apropiat (cea mai similar) pereche de clustere i le vom combina (uni) ntr-un singur cluster, avnd aadar cu un cluster mai puin. 3. Se calculeaz distana (similaritatea) dintre noul cluster i fiecare dintre vechile clustere. 4. Se repet paii 2 i 3 pn cnd toate elementele sunt grupate ntr-un singur cluster de dimensiune N.[5] Figurile sunt luate din [11]

2.9 Clusterizarea documentelor


Clusterizarea documentelor este procesul de grupare a unui set de documente folosind algoritmi de clusterizare. O prim problem care trebuie rezolvat n cazul clusterizrii documentelor este transformarea informaiilor textuale prezente n document n informaii cantitative de genul atribut-valoare. Cea mai utlizat metod de a realiza aceast transformare este implementarea unui model de spaiu vectorial (space vector model SVM). n continuare descriem succint procesul de transformare a unui set de documente ntr-un spaiu vectorial. Considernd D ca fiind setul de documente cu D = {d1,d2,..., dn }unde n reprezint numrul de documente, iar di reprezint un document, de forma di = (c1, c2, ..., cip), cu p numrul de cuvinte dintr-un document, dorim obinerea unui spaiu vectorial care s reprezinte fiecare document printr-o cobinaie unic de elemente. n spaiul vectorial coloanele vor fi reprezentate de cuvintele individuale prezente n documente, iar o nregistrare va fi reprezentat de un document. Un document va fi reprezentat de frecvena de apariie a fiecrui cuvnt din vectorul de cuvinte. Astfel spaiul vectorial va avea dimensiunea de m x n unde M reprezint numrul de cuvinte individuale prezente n toate documentele, care va fi dimensiunea vectorului de cuvinte, iar n reprezint numrul de documente din D. Dup ce setul de documente a fost vectorizat se pot folosi att algoritmi ierarhici ct i algoritmi de fragmentare pentru alctuirea clusterizrii. Clusterizarea documentelor a fost implementat cu succes pentru rezolvarea unor probleme cum sunt: Regsirea unor documente cu subiecte similare Regsirea de informaii similare n documente Survolarea unor colecii de documente mbuntirea listei de rezultate oferite de motoarele de cutare n web n prezent, nu exist un comun consens care algoritm de clusterizare obine cele mai bunerezultate clusterizarea documentelor. Exist lucrri care emit ipoteza c un algoritm ierarhic este mai performant pentru prelucrarea documentelor, dar alte cercetri indic o performan ridicat a algoritmilor de tipul k-means. De asemenea exist i soluii hibride a celor dou

41

abordri. Att clusterizrile ierarhice ct i cele fragmentare au avantaje i dezavantaje. n cercetarea de fa vom alege algoritmul de clusterizare k means, deoarece are avantajul unei viteze de procesare ridicate pe de o parte, iar pe de alt parte deoarece vom analiza snippet-uri de rezultate a unei cutri care vor alctui un spaiu de cutare de o dimensiune moderat.[23]

2.10 Deosebiri i asemnri ntre clusterizarea ierarhic i partitionara


n ncheiere vom enumera plusurile i minusurile celor dou mari tipuri de clusterizare descrise mai sus. Cluster ierarhic (+) Intuitiv, uor de neles; (-) Persistena nedorit a clusterelor de la nceput; (-) Sensibil la valori extreme (outliers) i la atribute irelevante; (-) Neaplicabil la mulimi mari de date. Cluster partiional (+) Mai puin sensibil la valori extreme (outliers) i la atribute irelevante; (+) Aplicabil la mulimi mari i foarte mari de date; (-) Are nevoie de alegerea prealabil a numrului de clustere, ceea ce se dovedete a fi uneori greu de stabilit. Judecnd aspectele prezentate mai sus, ajungem la concluzia c optim ar fi utilizarea, dac este posibil, a ambelor variante de clusterizare. De exemplu, putem utiliza clusteringul ierarhic pentru stabilirea unui numr convenabil de clustere, dup care utilizarea celui neierarhic va mbuntii rezultatele prin reconfigurarea clusterelor irelevante.

2.11 Importana i domenii de aplicaie ale clusterizrii


n continuare vom face un scurt rezumat al ctorva aplicaii n care clusterizarea datelor a fost folosit cu succes: [23]

Recunoasterea formelor: este procesul de clasificare a imaginilor, a unor pri din


imagini sau a date video n vederea descoperiri unor pattern-uri. Algoritmi care pot fi folosii n recunoaterea de forme sunt: K nearest neighbor, clasificator liniar i quadratic.

Analiza de date spatiale: procesul const n analiza concomitent a mai multor tipuri de
informaii ale datelor vizate: informaii topologice, informaii geometrice, informaii geografice. Algoritmii folosii n acest procedeu trebuie s fie capabili s prelucreze

42

structuri complexe de date. Cel mai comun exemplu de analiz de date spaiale este cartografierea galaxiilor.

Prelucrarea imaginilor: este procedeul n care inputul este reprezentat de o imagine sau un
set de imagini consecutive (video) iar outputul reprezint caracteristici ale acelor imagini. Outputul poate lua orice forma: numerica, literal, o alt imagine. Algoritmii cu baz grid, algoritmii ierarhici conglomerativi i algorimii fuzzy au fost folosii cu succes n prelucrare de imagini

Cercetari economice: algoritmii de nvare automat i n special de clusterizare au fost


folosii cu succes n studii de piata n aplicaii cum sunt: desoperirea patternurilor n tranzacii, analize de tip market basket, analiza profilului clienilor i altele.

n cadrul web-ului algoritmii de clusterizare au fost folosii pentru: clasificarea


documentelor, descoperirea unor pattern-uri comportamenteale de navigare, i altele.

Text mining: este procesul de extragere a unor informaii cu grad nalt calitativ dintr-un text
scris. Are la baz procesul de recunoatere a patternurilor din date, care este specific clusterizrii. Aplicaii:

Biologie, n domeniul tiinelor vieii obiecte de analiz sunt forme de via, cum ar fi
plante, animale i insecte. Analiza prin clusterizare poate dezvolta taxonomii complete de clasificare a speciilor n subspecii. Aceste subspecii, la rndul lor pot fi clasificate n subspecii.

Microbiologie, n ultimii ani algoritmii de clusterizare au fost aplicai efectiv n acest


domeniu. Cu ajutorul lor genele sunt partiionate n grupuri pe baza similariitilor ntre expresiile profilurilor lor. Astfel sunt identificate genele legate funcional. Aa cum cantitatea de date de laborator crete exponenial n fiecare an, e nevoie a se dezvolta noi i eficiente metode pentru a procesa aceste date biologice.

Asigurri, pentu indentificarea clienilor ce reprezint riscuri mari i pentru indentificarea


fraudelor.

Biblioteci, pentru ordonarea crilor dup anumite criterii. Internet, pentru mprirea documentelor n funcie de tematic. Medicin, tehnicile de Clusterizare au fost aplicate pentru o gam larg de probleme de
cercetare. Hartigan (1975) ofer o excelent sintez a mai multor studii publicate raportnd rezultatele analizei prin grupare. De exemplu n domeniul medicinei, gruparea bolilor, a tratamentelor diferitor boli, sau a simptomelor poate duce la o taxonomie (tiina legilor de

43

clasificare) foarte util. n domeniul psihiatriei, o diagnostic corect a gruprii simptomelor, cum ar fi paranoia, schizofrenie, etc este esenial pentru succesul tratamentului. n arheologie, cercettorii au ncercat s stabileasc taxonomii ale uneltelor de piatr, obiectelor funerare, etc, prin aplicarea tehnicilor de clusterzare analitic. n general, ori de cte ori este nevoie pentru a clasifica un "munte" de informaii n grupuri manevrabile, usor de neles, clusterizarea analitic este de mare ajutor

Informatic, anumite tiine cum ar fi recunoaterea, inteligena artificial au folosit


concepte de analiz prin clusterizare. Clusterizarea a fost a plicat n analiza caracterelor scrise de mn, mostrelor de discurs, amprentelor digitale si a imaginilor.

Luarea deciziilor, clusterizarea este utilizat pe scar larg luarea deciziilor politice,
prelucrarea informaiei. S-au dezvoltat variate aplicaii cu scopul efecturii sondajelor pieelor, studiul produselor, programe de studiu de vnzari, voturilor pe teme politice.

Marketing: descoperirea grupurilor de clieni cu comportament similar astfel nct s


permit proiectarea campanii de marketing difereniate n funcie de preferinele clienilor pentru a minimiza costurile de publicitate realiznd n acelai timp o maximizare a rezultatelor. Acest tip de aplicaie este cunoscut sub numele de client segmentation;

Asigurri: identificarea caracteristicilor grupurilor de clieni care satisfac sau nu satisfac


cerinele necesare pentru a se ncadra n diverse categorii de acordare de asigurri.

Urbanistic: identificarea ansamblurilor de locuinte n funcie de caracteristici geografice,


geologice sau a populaiei.

Seismologie: observarea epicentrelor seismologice, gruparea i caracterizarea lor.


Diagnostic i imagistic medical.

3.DESCRIEREA PROGRAMULUI

3.1 Scopul lucrrii


Scopul acestei lucrri de a crea un program ,pentru a intelege mai bine clusterizarea textelor, care se clusterizeaz dupa coordinate, coordonatele fiind cuvintele cheie dup care noi dorim s facem aceast clusterizare. Vom ncrca texte din baza de texte create format din operele lui Mihai Eminescu i Ion Creang, dup care rezultatele vor fi vizualizate. Acest aplicaie poate servi ca un model pentru alte aplicaii de acest gen create de ali specialiti n acest domeniu. Ca orice aplicaie programul mai face i erori, cu toate c interfaa

44

pare a fi simpl nsa codul surs n care sunt implementai doi algoritmi nu este uor. Aplicaia este oformat n aa fel ca s fie uor neleas de utilizator , i sa fie uor aplicabil n practic pe termen scurt. Putem efectua clusterizarea dup un singur cluster, dar si a mai multor clusteri. Neajunsurile in program reiese din algoritmii de lucru K-means i KNN(single linkage,K-nearest neighbourn,vecinului apropiat),aceti algoritmi lucreaza cu baze mici de texte, i calitatea clusterizrii este mic, pentru mrirea capacittii clusterizrii i eficiena acestora unii specialiti imbuntesc algoritmul introducnd formuli matematice de masurare a distanei, de msurare a diametrului etc. Orice utilizator poate veni cu baza lui de texte i s efectuieze clusterizarea acestora cu ajutorul acestui program . n ultimul timp aplicatii de genu clusterizrii sunt multe i sunt efectuate n diverse domenii, cele mai des ntilnite sunt cele cu imagini. De cnd a inceput sa fie folosit mai des internetul , a aprut i aplicaii pentru clusterizarea textelor, astzi clusterizarea textelor este foarte intrebuieat in cautarea informaie, i algoritmi sunt folosii in cele mai populare motoare de cutare gigante ca google,yahoo etc Programatorii acestor companii lucreaza pentru mbuntirea calitii cautrii dupa criteriul clusterizrii care permite ca rezultatul finit sa fie mult mai precis. Pentru a mbuntai acest program este necesar de mai mult timp, si mai multe cercetri n acest domeniu care vor permite avansarea la un nivel mai nalt a acestei aplicaii. Programe care efectuiaz clusterizarea la nivel nalt le putem enumera pe degete deoarece nu sunt att de multe.Acestea sunt : Carrot2,weka,textanalisis toate fiind open source.

3.2 Metoda de clusterizare cei mai apropiai vecini K-Nearest Neighbor.


Algoritmul de clusterizare a celor mai apropiai vecini este cunoscut n literatura de specialitate sub numele de nearest neighbor. Algoritmul construiete iterativ clusterele prin adugarea instanelor noi la clustere deja existente sau prin crearea de noi clustere. Se folosete o mrime prag pentru a determina dac o instan va fi adugat unui cluster deja existent sau dac se va forma un cluster now. n continuare prezentm pseudocodul algoritmului de construire a clusterelor prin metoda celui mai apropiat vecin: Considernd ca date de intrare setul de date D ={I1,I2, ..., In }alctuit din n instane i A ca fiind matricea de adiacen care prezint distana dintre elemente, se dorete ca output un set de k clustere. Pas 1: K1 = {I1}, K = {K1}, k = 1; primul cluster va fi format din prima instan i clusterizarea va conine 1 cluster. Pentru fiecare instan I din setul de date:

45

Pas 2: Caut cel mai apropiat vecin ) s fie cea mai mic; Pas 3: dac distana ( = Altfel dac distana( , ) prag: , )

) al instanei , astfel nct distana de la (

prag atunci instana Ii va fi inclus n clusterul

Pas 4: se creaz un nou cluster: k = k + 1, alctuit din instana Avantaje

,:

={ }

Se poate produce o comanda de obiecte, care pot fi informative pentru afiarea datelor. Clustere mai mici sunt generate, care poate fi de ajutor pentru descoperire. Dezavantaje Nici o dispoziie poate fi fcut pentru o relocare de obiecte care ar putea s fi fost "incorect" grupate la un stadiu incipient. Rezultatul ar trebui s fie examinate cu atenie pentru a se asigura c are sens. Utilizarea de msurtori diferite la distan pentru msurarea distanelor ntre grupurile pot genera rezultate diferite. Efectuarea de experimente multiple i compararea rezultatelor, se recomand s susin veridicitatea rezultatelor originale.[6]

3.3 Metoda K-means


Metoda K-means alctuiete clustere folosind date cu atribute ce conin valori numerice. Ea mparte instanele n grupe disjuncte folosind distana dintre instane. n funcie de implementri distan poate fi calculat folosind una dintre formulele prezentate mai sus. [23] Algoritmul K-means poate fi descris astfel: Pas1: Se precizeaz cte clustere va avea mprirea: acesta este parametrul k Pas2: Sunt alese aleator k puncte care vor fi desemnate centrele clusterelor: C1,...,Ck Pas3: Instanele sunt repartizate n clusterul cu cel mai apropiat centru corespunztor distanei folosite. Pas4: Pentru fiecare cluster format dup repartizarea tuturor instanelor se va calcula centorid-ul care este media instanelor din acel cluster Pas5: Centrul clusterului va fi nlocuit cu centroid-ul calculat la pas 4. Pas6: Algoritmul este reluat de la pasul 2.

46

Procesul este oprit atunci cnd instanele sunt repartizate succesiv n acelai cluster de mai multe ori. n acest caz se consider c s-au stabilizat clusterele. n funcie de implementare parametrul k este predefinit sau este introdus de utilizator. Deoarece instanele sunt repartizate n clusterul de a crui centru este mai aproape centrele se vor stabiliza pe un minim. Pentru a elimina acest neajuns, algoritmul se va rula succesiv pe aceleai date, de fiecare alegnd alte centre de clustere iniiale. Un dezavantaj al algoritmului k-means este c procesul de clusterizare este greoi. La fiecare pas algoritmul trebuie s efectueze un numr mare de calcule pentru a determina distana dintre fiecare instan i fiecare centru. n plus algoritmul trebuie s efectueze un numr mare de iteraii: dup ce au fost alctuite clusterele, sunt recalculate centrele lor iar procesul este reluat. Din aceast cauz algoritmul este foarte lent. Pentru a diminua ct mai mult acest dezavantaj au fost gsite diverse metode de a scdea numrul de iteraii necesare i numrul de calcule efectuate.

3.4 Mediul de programare al aplicatiei


Programul a fost creat n conformiate cu tema aleas Analiza pe baza clusterizrii textelor . Programul a fost creat n mediul de programare Java cu ajutorul programei Eclipse. Limbajul de programare Java. Java este un limbaj de programare de nivel nalt,dezvoltat de Javasoft, companie n cadrul firmei Sun Microsystems. i are urmatoarele caracteristici:

limbaj interpretat si compilat. Un limbaj este interpretat daca instructiunile unui program
scris in acel limbaj sunt procesate linie cu linie si traduse in cod masina. Un limbaj este compilat daca un program scris in acel limbaj este tradus in cod masina (singurul limbaj pe care-l cunoaste un procesor). Programele interpretate sunt mai lente decat cele compilate, insa cele compilate sunt de obicei dependente de platforma respectiva. Rezultatul compilarii programelor Java (fisierelor cu extensia .java) sunt fisiere cu extensia .class ce contin cod executabil (Java bytecodes) pe masina virtuala java (JVM, Java Virtual Machine). Masina virtuala java este implementabila pe orice sistem de operare. Interpretorul java apeleaza masina virtuala pentru a traduce codul masina java in cod masina al procesorului de pe masina gazda.

limbaj independent de platforma. La instalarea limbajului Java, este instalata masina


virtuala java. Limbajul devine independent de platforma prin faptul ca acelasi cod (aceleasi fisiere cu extensia .class) poate fi rulat pe orice sistem care are instalata masina virtuala Java. In prezent Java poate rula pe sistemele Windows, Unix, Solaris si altele.

47

limbaj orientat pe obiecte. Java cuprinde toate aspectele legate de programarea orientata obiect (Object Oriented Programming, OOP): obiecte, transmitere de parametri, incapsulare, clase, biblioteci, mostenire si modificatori de acces.

limbaj concurent. Concurenta ( multithreading) inseamna capacitatea unui program de a


executa mai multe secvenje de cod in acelasi timp (daca masina este paralela) sau folosind partajarea timpului (time sharing) pe masinile obisnuite. O secventa de cod Java incarcata in memorie si in stare de executie se numeste fir de executie (thread).

limbaj simplu. Simplitatea este o caracteristica primara a limbajului Java, in care se poate
face programere fara un antrenament foarte indelungat. Programatorii pot fi productivi chiar de la inceput. In comparatie cu cel mai puternic limbaj nativ orientat pe obiecte, C + +, este mai simplu prin urmatoarele trasaturi: elimina dificultatile de manipulare a sirurilor prin crearea unei clase dedicate. elimina dificultatile (si pericolele) legate de lucrul cu pointerii. alocarea si dealocarea memoriei se face automat printr-un mecanism de colectare a datelor si obiectelor nefolosite (garbage collection) si nu ca in C++ prin apel de functii. Eliberarea memoriei este executata intr-un fir de executie separat.

limbaj distribuit. Java este distribuit deoarece permite atat utilizarea obiectelor de pe
masina locala cat si de pe alte masini din reteaua mondiala printr-un mecanism numit RMI (Remote Method Invocation). Limbajul Java ofera posibilitatea dezvoltarii de aplicatii Internet, capabile sa ruleze pe platforme distribuite si eterogene. Java respecta standardul IEEE (eng. Institute of Electrical and Electronics Engineers) pentru structurile de date, cum ar fi folosirea intregilor, numerelor in virgula flotanta si sirurilor de caractere.

limbaj performant. Interpretorul Java este capabil sa execute un fisier cu extensia .class
aproape la fel de repede ca un cod compilat. Colectorul automat de obiecte si date neutilizate (The automatic garbage collector) ruleaza ca un fir de executie de prioritate scazuta asigurand, cu mare probabilitate, ca memoria este disponibila atunci cand este nevoie de ea, conducand astfel a o mare performanta a aplicatiilor Java.

limbaj dinamic si sigur. Limbajul si a sistemului de executie Java este dinamic in faza de
editare a legaturilor. Clasele sunt legate numai daca este necesar. Java este proiectat pentru a crea programe foarte sigure. El asigura verificari extensive in timpul etapei de compilare, urmate de un al doilea nivel de verificari care se fac chiar in timpul executiei.

48

limbaj robust cu trasaturi de securitate intrinseci. Java este proiectat pentru a opera in
medii distribuite, ceea ce inseamna ca securitatea este de maxima importanta. Cu trasaturi de securitate intrinseci limbajului si sistemului de executie (run-time system), Java permite construirea de aplicatii ce nu pot fi atacate (invadate) din exterior. In mediul de retea, aplicatiile scrise in Java sunt sigure in fata codurilor neautorizate care incearca sa se strecoare in spatele scenei si creaza virusi sau invadeaza sistemul de fisiere. Programele Java nu pot accesa memoria heap, stiva, memoria de cod, sau alte sectiuni protejate de memorie, deoarece Java nu foloseste pointeri si aloca memorie doar la executie. Inainte ca interpretorul sa execute codul Java, se verifica daca este un cod Java valid prin cercetarea accesului la date, conversiilor de date nepermise, valori si parametri incorecti, depasirea stivei, etc. Structura lexicala a limbajului Limbajului Java lucreaza n mod nativ folosind setul de caractere Unicode. Acesta este un standard international care nlocuieste vechiul set de caractere ASCII si care foloseste pentru reprezentarea caracterelor 2 octeti, ceea ce nseamna c se pot reprezenta 65536 de semne, spre deosebire de ASCII, unde era posibila reprezentarea a 256 de caractere. Primele 256 caractere Unicode corespund celor din ASCII, referirea la celelate facndu-se prin \uxxxx, unde xxxx reprezint codul caracterului.

3.5 Descrierea aplicaiei


Programul creat reprezint o simulare a unei aplicaii de clusterizare a textelor cu vizualizarea rezulatelor. Programul prezint o fereastr simpl ca interfa i este foarte uoar n utilizarea. La rndul ei fereastra este mprit n dou ferestre i un buton la mijloc. Aplicaia este reprezentat n figurile de mai jos:

49

Figura 3.5.1. Interfaa programului n figura de mai sus este arat interfaa simpl a programului.

50

Figura 3.5.2. Colecia de texte cu fisiere txt. n figura 3.5.2 este afiat colecia de texte cu care va lucra programul, este format din operele lui Mihai Eminescu i Ion Creang.

51

Figura 3.5.3. Rezultatele programului cu cei doi algoritmi n figura 3.5.3 este afiat rezultatul clusterizrii textelor folosind metoda K-means i KNN. n prima metoda K-means sunt luate cite 2 texte ai autorilor si se introduce clusterii dup care si clusterizeze textele. n a doua metod se efectuiaz clusterizarea automat a tuturor textelor din baz vizualizind numia clusterii intilnii cel mai des in texte dup fregven. Programul ncepe a lucra cnd este apasat butonul Start(startButton.setText("Start"); startButton.setBounds(5, 110, 100, 20);).n fereastra de mai sus este introdus ntrun anumit stil denumirea textelor care sunt ncrcate , autorul, si clusterii dup care s-i grupeze.

Figura 3.5.6 Introducerea datelor, textul ,autorul,domeniul,clusterii

Algoritmul K-means descris pe pai n program: Pas1: Se precizeaz cte clustere va avea mprirea: acesta este parametrul k

52

Codul care prelucraez introducerea textelor i clusterilor pentru metoda K-means: for (int x = 0; x < mainMessage.length; x++) { //imparte fiecare linie dupa separatorul : parseEncoding = mainMessage[x].split(":"); // indentifica ce texte trebuie sa fie parsate files = parseEncoding[0].split(","); filesContent = new String[2]; Pas2: Sunt alese aleator k puncte care vor fi desemnate centrele clusterelor: C1,...,Ck //parseaaza lista de clustere introduse wordsList = parseEncoding[3].split(","); Dup ce a fost introduse datele se face ncrcarea textelor i cautarea clusterilor. Pas3: Instanele sunt repartizate n clusterul cu cel mai apropiat centru corespunztor distanei folosite.
// ciclul cauta in texte centrul textelor fiecarui cluster for (int i = 0; i < files.length; i++) { listOfAllFiles[y] = files[i]; try { //deschiide si citeste fisiere file = new FileReader("java/" + files[i] + ".txt"); bf = new BufferedReader(file); while ((line = bf.readLine()) != null) { filesContent[i] += line; } listOfAllFilesContent[y++] = filesContent[i]; } catch (FileNotFoundException e1) { e1.printStackTrace(); } catch (IOException e3) { e3.printStackTrace(); } }

Dup numarul de apariii ai clusterilor care au fost gsii n texte se introduc in variabila creat,si se afieaz ,se alege cel mai des intilnite, i grupreaz textele dupa clustere. Pas4: Pentru fiecare cluster format dup repartizarea tuturor instanelor se va calcula centorid-ul care este media instanelor din acel cluster // introduce in variabila cuvintele necesare care au fost detectacte in text

53

simpleWord = "Aceste cuvinte se repeta in toate textele a lui " + parseEncoding[1] + ". Aceste cuvinte Sunt : "; //parseaza lista de cuvinte care are acest text for (int i = 0; i < wordsList.length; i++) { Pas5: Centrul clusterului va fi nlocuit cu centroid-ul calculat la pas 4. // introduce in array toate cuvintele listofAllWords[h++] = wordsList[i]; access = false; for (int j = 0; j < filesContent.length; j++) { Pas6: Algoritmul este reluat de la pasul 2. //detecteaza daca acest text are aceste cuvinte if (filesContent[j].contains(wordsList[i])) { access = true; } else { access = false; } } // introduce datele in variabila if (access == true) { simpleWord += wordsList[i] + "\n"; } } ferest.sourcesText2.append(simpleWord); filesContent = null; } Pentru metoda Knn caut clusterii din lista introdus n toate textele din baz. Se consider distan dintre dou clustere ca fiind egal cu cea mai scurt distan dintre orice element al unui cluster i orice element al celuilalt cluster. Dac datele constau din similariti, se consider c similaritea dintre un cluster i altul este egal cu cea mai mare similariate dintre orice membru al unui cluster i orice element al celuilalt cluster. Calitatea clusterizrii metode KNN este cea mai mic din taote posibile. Algoritmul K-NN descris pe pai n program: Pas 1: primul cluster va fi format din prima instan i clusterizarea va conine 1 cluster. Pentru fiecare instan I din setul de date: //cauta clusterii in toate textele simpleWord = "\nIn urmatoarele texte au fost gasite coencidenta";

54

ferest.sourcesText2.append(simpleWord); y = 0; Pas 2: Caut cel mai apropiat vecin ) s fie cea mai mic; Pas 3: dac distana ( = Altfel dac distana( , ) prag: ,: ={ } , ) prag atunci instana Ii va fi inclus n clusterul ( , ) al instanei , astfel nct distana de la ( ,

Pas 4: se creaz un nou cluster: k = k + 1, alctuit din instana introdus in text for (int i = 0; i < listofAllWords.length; i++) { if(listofAllWords[i] == null) continue; mainSimpleList[i] = listofAllWords[i] + " : "; for (int j = 0; j < listOfAllFilesContent.length; j++) { if(listOfAllFilesContent[j] == null ) continue;

// ciclul executa fiecare cluster si cauta in fiecare text, in caz daca il gaseste el este

if(listOfAllFilesContent[j].indexOf(listofAllWords[i]) > 0 listOfAllFilesContent[j].contains(listofAllWords[i])){ mainSimpleList[i] += listOfAllFiles[j]+","; } } y++; } Afisarea rezulatelor pentru ambele metode:

||

Figura 3.5.7 Afiarea rezultatelor pentru metoda KNN

55

Figura 3.5.8 Afiarea rezultatelor pentru metoda K-means //afisarea tututot rezultatelor for (int i = 0; i < mainSimpleList.length; i++) { if(mainSimpleList[i] == null) continue; mainSimpleList[i] = mainSimpleList[i].replace("null,",""); ferest.sourcesText2.append("\n"+mainSimpleList[i]); } } }); } } Aceast aplicaie a fost creat pe platforma java i are urmtoarele avantaje si dezavantaje. n continuare voi prezenta punctele forte i punctele slabe ale aplicaiei noastre. Avantajele aplicaiei sunt : Este uor manipulabil. Interfaa este simpl i poate fi uor neleas de utilizator. Are o vitez rapid de prelucrare a datelor. Se efectuiaz un control simplu a datelor. Afisarea errori in caz daca nu a fost depistat rezultatul. Dezavantajele aplicaiei sunt : Nu poate prelucra o baz de texte foarte mare n cazul algoritmului k-means. Calitatea clusterizrii este mic. Clusterizarea se face dup coordonate precise , coordonatele fiind cuvintele introduse,i clusterizarea fcnduse fr coordonatele care au acelai sens dar au preficse sau suficse .

Nu proceseaz n unele cazuri textele, din cauza ca un algoritm este foate lent si cellalt
rapid.

56

Acest program are anse mari s evolueze n viitor, cauza fiind modernizarea programului la nivel de analiz a cuvintelor pe care el l necesit , controlul erorilor care l va face s fie mai rapid i eficient n gruparea textelor.

57

CONCLUZII

Clusterizarea este o procedur foarte complex, depinznd de colecia creia i este aplicat, ct i de alegerea valorilor diferitor parametri. Clusterizarea textelor este atrgtoare prin aceea c scutete companiile i nu numai de necesitatea gruprii manuale a textelor i documentelor care poate fi destul de costisitoare sau imposibil de realizat din cauza restriciilor de timp sau a volumului prea mare de documentelor. Desi cercetare n domeniul clusterizrii documentelor este destul de dezvoltat mai sunt nca probleme deschise care necesit nca multa cercetare. Acestea includ dobndirea de raporturi mari bune calitate-complezitate, precum i efort n a trata cu dezavantajele fiecrei metode. Procesul de clusterizare are o gam larg de utilizare ncepnd de la explorarea datelor, cercetarea legturilor dintre date, segmentarea imaginilor, terminnd cu cercetarea stiinific n numeroase domenii precum biologie, marketing, etc. Ca scop de baza n elaborarea acestui proiect s-a atins urmtoarele puncte: Am studiat i analizat amnunit teoria din domeniu,cercetrile efectuate n domeniu i aplicaiile care deja sunt n spatiu internetului.. Am analizat algoritmii cei mai des folosii, i am comparat avantajele i dezavantajele clusterizrii ierarhice i partiionare. Am adaptat algoritmii K-means i K-NN din algoritmi pentru grafic n cei pentru text. Am elaborat un softul pentru a ntelege mai amnunit procesul de clusterizare , softul lucreaz cu un volum mic de texte. Pasul urmtor a proiectului are drept scop optimizarea algoritmilor i clusterizarea Web a documentelor n ciclul al II de studiu.

58

BIBLIOGRAFIE (n ordinea apariiei) 1. KRISHNA K, MURTY M. Genetic K-means algorithm. IEEE Transactions on Systems, Man and Cybernetics - Part B: Cybernetics. 1999;29:433439. doi: 10.1109/3477.764879. 2. COCIANU C., Supervised and Unsupervised Classification for Pattern Recognition Purposes, Revista Informatica Economic, nr.4 (40)/2006. 3. BANCILA E., RETELE INTERCONECTATE DE CALCULATOARE. Web mining., UNIVERSITATEA POLITEHNICA BUCURESTI, februarie 2007. 4. HARTIGAN, JOHN (1975). Clustering Algorithms. JOHN WILEY & Sons, Inc., New York. 5. CHRISTOPHER D. MANNING, PRABHAKAR RAGHAVAN AND HINRICH SCHTZE, Introduction to Information Retrieval, Cambridge University Press. 2008. 6. ANALIZA CLUSTER IN STUDII DE PROXIMITATE A SOMAJULUI NREGISTRAT LA NIVELUL JUDEELOR ROMNIEI LA NCEPUTUL CRIZEI ECONOMICE , Babucea Ana-Gabriela, Constantin Brncui din Trgu Jiu 2009. 7. CLOCOTICI VALENTIN, Intoducerea in statistica multivariat, Univeristatea Ioan Cuza Iai, 2007. 8. HARTIGAN, J. A. (1975). Clustering Algorithms. New York: Wiley. 9. Crin, Gh., Grigora, Gh.: Tehnici moderne de optimizare. Aplicaii n energetic (Modern Optimization Techniques. Applications in Power Systems), Casa de Editur VENUS, Iai, 2002. 10. MURTAGH, F. (1985). Multidimensional Clustering Algorithms, in COMPSTAT Lectures 4. Wuerzburg: Physica-Verlag (for algorithmic details of algorithms used). 11. ANDERBERG, M. R. (1973). Cluster Analysis for Applications. Academic Press: New York. 12. How Much Information?", UC-Berkley,2003,

13.

2006,

, , . 14. . , , Chip1. Ukraine, #10, 2003 15. Joshua Zhexue Huang, Michael Ng, Liping Jing, "Introduction to Text Clustering", 2006 J. Quinlan, "C4.5: Programs for Machine Learning", Morgan Kaufman, 1993. surse internet:

59

16. http://www.statistics.com/resources/glossary/h/hclusteran.php accesat la 04.03.2011 17. http://faculty.chass.ncsu.edu/garson/PA765/cluster.htm accesat la 06.03.2011 18. http://www.crmportals.com/hierarchical_cluster_analysis.pdf accesat la 06.03.2011 19. http://www.resample.com/xlminer/help/HClst/HClst_intro.htm accesat la 07.03.2011 20. http://www.improvedoutcomes.com/docs/WebSiteDocs/Clustering/Agglomerative_Hierarc
hical_Clustering_Overview.htm accesat la 08.03.2011

21. http://www.nlp.stanford.edu/IR-book/information-retrievalbook.html accesat la 09.03.2011 22. http://www.en.wikipedia.org/wiki/Cluster_analysis accesat la 014.04.2011 23. http://www.scribd.com/doc/55433625/16/ALGORITMUL-K-NEAREST-NEIGHBOURK-NN accesat la 17.04.2011

24. www.ia.ase.ro/IA/Curs/08-IA-suport-Clusterizare.pdf accesat la 20.04.2011

60