12.07.2015 Views

Algoritam sfernih k-sredina s prvom varijacijom

Algoritam sfernih k-sredina s prvom varijacijom

Algoritam sfernih k-sredina s prvom varijacijom

SHOW MORE
SHOW LESS
  • No tags were found...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Algoritam</strong> <strong>sfernih</strong> k-<strong>sredina</strong> s <strong>prvom</strong> <strong>varijacijom</strong>Ana Marija IdžojtićPrirodoslovno matematički fakultet, ZagrebMatematički odjelEmail: idzojtic@student.math.hrJosip IvekovićPrirodoslovno matematički fakultet, ZagrebMatematički odjelEmail: josipive@student.math.hrSažetakUvod u algoritam k-<strong>sredina</strong>. Ukratko o matematičkoj pozadini i par priloženih primjera. Zatim prelazak naverziju algoritma sa sfernim udaljenostima, te takoder par primjera koji prikazuju algoritam. Nakon toga uvod uprvu varijaciju algoritma, sa primjerima i rezultatima. Algoritme smo testirali pomoću MATLAB okruženja.I. ALGORITAM K-SREDINAA. UvodALGORITAM k-<strong>sredina</strong> (engl. k-means) je metoda kojom se pokušava n čestica grupirati u k grupa premaodredenom svojstvu. Kao svojstvo pomoću kojih se čestice grupiraju često se uzima medusobna ’udaljenost’čestica. Primjetimo da pojam ’udaljenost’ nismo još definirali. S obzirom da se matematički udaljenost možedefinirati na više načina ne želimo se ograničiti na samo jednu metodu k-<strong>sredina</strong>. Najčešča udaljenost je euklidskaudaljenost, te ćemo za početak ukratko objasniti algoritam k-<strong>sredina</strong> s euklidskom udaljenosti izmedu čestica, tećemo to potkrijepiti s nekoliko primjera kako bi lakše vidjeli na koji način algoritam funkcionira.B. <strong>Algoritam</strong>Uzmimo da su nam čestice točke u dvodimenzionalnom prostoru, te ih možemo označavati kao uredene parove(x, y). Udaljenost d izmedu dvije čestice T 1 = (x 1 , y 1 ) i T 2 = (x 2 , y 2 ) neka nam je definirano sljedećom formulom:d(T 1 , T 2 ) := √ (x 2 − x 1 ) 2 + (y 2 − y 1 ) 2 = ‖T 1 − T 2 ‖ 2Uzmimo da u prostoru imamo n čestica T = {T 1 , T 2 , . . . , T n } te ih želimo grupirati u k grupa = {π 1 , π 2 . . . , π k }.Kako odredujemo pripada li čestica T i grupi π j ? Za tu svrhu u algoritmu koristimo k dodatnih čestica koje zovemocentroidama {c 1 , c 2 , . . . , c k }. Svaka centroida predstavlja jednu grupu i blizina čestica s centroidama odreduje u kojojse grupi nalazi čestica. Uzimamo česticu T i te provjeravamo koja joj je centroida najbliža (tražimo min d(T i , c j )) inakon što odredimo najbližu centroidu, česticu T i pridružujemo grupi koja je reprezentirana s tom centroidom. Upočetku nemamo centroide pa niti ne znamo koja čestica pripada kojoj grupi. Kako bi mogli početi s algoritmomnasumično ćemo rasporediti k centroida u <strong>prvom</strong> koraku i krenuti ćemo s algoritmom. Nakon što za svaku točkuodredimo kojoj grupi pripada, dobili smo podjelu čestica po grupama. S obzirom da želimo našu podjelu poboljšati,a ne da ostane na nasumičnoj podjeli, svaka grupa će izračunati novu centroidu, tj. od čestica u grupi izračunatićemo novi ’centar’ grupe, tj. novu centroidu i sa novim centroidama započinjemo algoritam ponovno ispočetka. Usvrhu izračunavanja novih centorida i poboljšavanje podjele, uvesti ćemo dva nova pojma. Prvi pojam je kvalitetagrupe j koju ćemo označavati sa q j :q j =n∑{a ij ‖T i − c j ‖ 2 1 , Ti pripada grupi j2a ij =0 , inačei=1Tu ćemo takoder definirati još jedan pojam, a to je kvaliteta podjele. Kvalitetu podjele označavati ćemo sa Q.Kao što je gore navedeno, kvaliteta podjele je suma po kvalitetama grupe:Q =k∑q j =j=1k∑j=1 i=1n∑a ij ‖T i − c j ‖ 2 2 =k∑j=1 i=1n∑a ij (T i − c j ) T (T i − c j )j


1Što je vrijednost Q manja to je naša podjela bolja, jer su sveukupno manje i udaljenosti čestica od centroida(pa tako i kvadrat njihove udaljenosti). Poboljšavanjem kvalitete podjele smatramo pad vrijednosti Q. Jasno je daje cilj k-<strong>sredina</strong> minimizirati vrijednost od Q. <strong>Algoritam</strong> će stati ako smo dosegli maksimalan broj iteracija ili akonam vrijednost Q (i+1) (vrijednost kvalitete podjele u (i + 1)-oj iteraciji) nije dovoljno manja od vrijednosti Q i , tj.od kvaliteti podjele u i-tom koraku algoritma. Q možemo gledati kao funkciju po q i -ovima, tj. po c j -ovima.Sada nam je jasno kako algoritam počinje i kako završava, no još uvijek nije pojašnjeno kako se formiraju novecentroide, no to će slijediti iz minimizacije funkcije. Kako nam je cilj minimizacija funkcije prvo ćemo želimoprovjeriti stacionarne točke funkcije. Pa parcijalno deriviramo funkciju Q po c j .0 = ∂Q∂c j=∂∂c jk∑j=1 i=1n∑a ij ‖T i − c j ‖ 2 2 = ∂∂c jk∑j=1 i=1n∑a ij (T i − c j ) T (T i − c j ) =n∑a ij (−2T i + 2c j )S obzirom da smo parcijalno deriviralo Q u prvoj sumi su se izgubili svi c k -ovi gdje je k ≠ j jer se oni gledajukao konstante. Pogledajmo krajnju lijevu i desnu stranu koje smo dobili deriviranjem.0 =n∑a ij (−2T i + 2c j ) = −2i=1n∑a ij T i + 2c jPrisjetimo se sada što nam označava a ij , ta vrijednost je jednaka 1 ako čestica T i pripada grupi j. Pa akoprosumiramo po svim i-ovima dobiti ćemo točan broj čestica u grupi j. Prebacimo sada c j na jednu stranu jednadžbe,a sve ostale varijable na drugu stranu, kako bi dobili stacionarnu točku.∑ ni=1c j =a ∑ n∑ijT i i=1ni=1 a =a ijT iij n jPogledamo li malo bolje sumu u brojniku vidjet ćemo da se u njoj sumiraju samo članovi grupe j i to točno svi,dok u nazivniku dijelimo s brojem članova te grupe. Lagano je vidjeti da se radi o aritmetičkoj sredini svih članovagrupe j. I ta točka je jedini kandidat za naš minimum, tj. jedini kandidat za centroidu u sljedećoj iteraciji algoritma.Kako bi dokazali da je taj kandidat i minimum potrebno je dokazati da je Hessian matrica druge derivacije pozitivnodefinitna matrica. Pa parcijalno deriviramo jednadžbu ⋄:∂ 2∂c j ∂c ki=1n∑a ij (−2T i + 2c j )i=1Uočimo da je prvi dio funkcije konstanta i taj dio će biti jednak 0 dok će drugi dio ’preživjeti’ jedino u slučajuj = k. Tj. u tom slučaju dobit ćemo:∂ 2∂c j ∂c jQ = 2Uočimo da nam je Hessian funkcije Q matrica s pozitivnim elementima samo na dijagonali, dok su ostali jednaki0, pa je samim time i pozitivno definitna matrica, tj. aritmetička <strong>sredina</strong> čestica iz grupe je minimum funkcije Q,te je dobar kandidat za minimizaciju funkcije. Sada se ukratko možemo podsjetiti glavnih koraka algoritma a to su:• generiranje početnih čestica na nasumičan način• generiranje početnih centroida na nasumičan način• početak iteracija:– grupiranje čestica po grupama na temelju trenutnog rasporeda centroida i udaljenosti izmedu čestica icentroida– računanje kvalitete podjele trenutnog grupiranja– ako se kvaliteta nedovoljno poboljšala ili je dosegnut maksimalan broj iteracija izadi iz petlje– inače ažuriraj novu kvalitetu i izračunaj nove centroide na temelju trnutnog grupiranja• kraj iteriranja (algoritma)n∑i=1a ijn∑i=1a iji=1(⋄)


2C. PrimjeriPrimjere smo generirali u programskom okruženju MATLAB, te se datoteka kojom se dobivaju primjeri nalazina adresi: http://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/KM.m. Program se pokreće upisivanjem sljedećenaredbe u MATLAB: KM(k,n,dim,maxiter,tol,opcija,file) gdje varijable označavaju sljedeće:kndimmaxitertolopcijafilebroj klustera (grupa)broj vektoradimenzija prostora u kojem se nalaze vektorinajveći mogući broj iteracija algoritma, nakon kojeg algoritam sam staneprag, korak poboljšanja koji ako nije postignut u dvije iteracije koje slijede jedna iza druge,algoritam se prekidaopcija označava na koji način želimo da su nam vektori podijeljeni. Može biti ’rand’. te su namu tom slučaju vektori nasumično rasporedeni, te može biti ’group’, te nam je u tom slučaju višeod polovice točaka grupirano oko k područja u prostoruime datoteka u koju će nam se spremati slike koje se dobiju nakon svake iteracije kako bi mogliuočiti promjene koje se dobivaju pomoću algoritmaProgram će sam generirati vektore, te će kod svakog pokretanja generirati nove vektore, tako da svakimpokretanjem možemo na drugačijim primjerima vidjeti kako algoritam funkcionira. Takoder možemo mijenjatiulazne parametre i provjeriti kako algoritam funkcionira sa više ili manje čestica, te više ili manje grupa. Priložitićemo par slika da se stekne dojama kako algoritam radi.Primjer 1.: KM(5,1000,2,100,0.0001,’rand’,’primjer1’)Slike se mogu preuzeti na sljedećim adresama (na zadnjoj adresi se može preuzeti i .gif animacija kojaprikazuje kako se grupiranje mijenja po iteracijama.):http://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/primjer1prva.pnghttp://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/primjer1zadnja.pnghttp://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/primjer1.gif


3Primjer 2.: KM(5,1000,2,100,0.0001,’group’,’primjer2’)Slike se mogu preuzeti na sljedećim adresama (na zadnjoj adresi se može preuzeti i .gif animacija kojaprikazuje kako se grupiranje mijenja po iteracijama.):http://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/primjer2prva.pnghttp://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/primjer2zadnja.pnghttp://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/primjer2.gifA. UvodII. ALGORITAM SFERNIH K-SREDINA<strong>Algoritam</strong> <strong>sfernih</strong> k-<strong>sredina</strong> razlikuje se od klasičnog algoritma po funkciji ’udaljenosti’. U klasičnom algoritmuudaljenost je euklidska udaljenost, dok je u algoritmu <strong>sfernih</strong> k-<strong>sredina</strong> udaljenost definirana sljedećom funkcijom:d(A, B) =∑ di=1 A i × B i‖A‖ ‖B‖gdje je d dimenzija pripadnog prostora u kojem se čestice A i B nalaze, a A i i B i su i-te koordinate čestica uprostoru. S obzirom da ćemo mi gledati prostor čestica kod kojih je norma jednaka 1, formulu sličnosti možemonapisati jednostavnije kao:d(A, B) =d∑A i × B i = A T Bi=1S obzirom da je pojam ’udaljenosti’ promijenjen s obzirom na klasični model algoritma, potrebno je promijenitii definicije pojmova: centroida, kvaliteta grupe i kvaliteta podjele. Intuitivno nam je jasno na što se odnose ovipojmovi općenito te će tako ostati i u ovom modelu, centroide će i dalje biti čestice pomoću kojih se odredujenova podjela i koje determiniraju trenutnu podjelu čestica na grupe, kvaliteta grupa će i dalje biti mjera kojom segovori koliko su čestice unutar grupe medusobno ’udaljene’, dok će nam kvaliteta podjele govoriti koliko je cijelapodjela čestica na grupe ’dobra’ u odnosu na ostale podjele.Za svaku grupu π koju dobijemo grupiranjem sa s(π) označiti ćemo sumu: ∑ x∈πx. Pomoću tog pojma (sume svihelemenata neke grupe) definirati ćemo centroidu grupe π sa sljedećom forumlom:c(π) =s(π)‖s(π)‖


4Sada kada imamo definiran pojam centroide, možemo definirati i kvalitetu grupe q(π) koja će biti definirana sasljedećom formulom:q(π) = ∑ x∈πx T c(π)Slično kao i u prethodnom poglavlju, kvaliteta grupe je suma udaljenosti svih elemenata grupe od grupnecentroide. Analogno formuli kvalitete podjele iz prethodnog poglavlja u ovom kvalitetu podjele grupiranja definiramokao sumu kvaliteta grupa tj. kvaliteta Q je u podjeli grupa {π 1 , π 2 , . . . , π k } definirana s:Q =k∑q(π i )i=1Sam algoritam, tj. koraci algoritma analogni su algoritmu pojašnjenom u <strong>prvom</strong> poglavlju te ih nećemo ponovnonavoditi nego ćemo pokazati par primjera kako bi se moglo vidjeti kako algoritam izgleda u primjeni. Razlika je utome što su ovdje čestice vektori norme 1, te leže na jediničnoj sferi (od kuda je i algoritam dobio ime). Česticeće biti elementi dvodimenzionalnog prostora.B. PrimjeriPrimjeri su generirani iz istog programa kao i primjeri za algoritma k-<strong>sredina</strong> iz prethodnog poglavalja, jedino supromijenjene nove formule sukladno promijenjenim definicijama koje proizlaze iz različitih definicija udaljenosti,te su čestice normalizirane. Kod programa može se preuzeti na adresi:http://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/SKM.mKod će generirati slike za svaku iteraciju algoritma, te će posebno genereirati sliku za normalizirane čestice iposebno za nenormalizirane čestice, kako bi stekli još bolji dojam kako algoritama radi. Svaki niz slika iteracija seautomatski sprema u svoje datoteke koje program sam kreira. Pokazat ćemo dva primjera, slike s normaliziranimčesticama i slike s nenormaliziranim česticama.Prvo prikazujemo slike s normaliziranim česticama:Primjer 1.: SKM(2,200,2,100,0.0001,’rand’,’primjer1norm’)


5A sada možemo vidjeti kako algoritam radi s nenormaliziranim česticama:Primjer 1.: SKM(2,200,2,100,0.0001,’rand’,’primjer1nonorm’)Slike se mogu preuzeti na sljedećim adresama (na zadnjoj adresi se može preuzeti i .gif animacija kojaprikazuje kako se grupiranje mijenja po iteracijama.):http://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/norm2x200prva.pnghttp://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/norm2x200zadnja.pnghttp://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/norm2x200.gifhttp://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/nonorm2x200prva.pnghttp://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/nonorm2x200zadnja.pnghttp://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/nonorm2x200.gifPgledajmo još jedan primjer (prvo normalizirane čestice):Primjer 1.: SKM(5,1000,2,100,0.0001,’rand’,’primjer2norm’)


6a zatim nenormalizirane čestice:Primjer 1.: SKM(5,1000,2,100,0.0001,’rand’,’primjer2nonorm’)Slike se mogu preuzeti na sljedećim adresama (na zadnjoj adresi se može preuzeti i .gif animacija kojaprikazuje kako se grupiranje mijenja po iteracijama.):http://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/norm5x1000prva.pnghttp://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/norm5x1000zadnja.pnghttp://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/norm5x1000.gifhttp://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/nonorm5x1000prva.pnghttp://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/nonorm5x1000zadnja.pnghttp://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/nonorm5x1000.gifNavest ćemo još nekoliko poveznica na animacije (u .gif formatu) na tri preostala primjera:3. SKM(3,300,2,100,0.0001,’rand’,’primjer3’)http://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/norm3x300.gifhttp://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/nonorm3x300.gif4. SKM(4,400,2,100,0.0001,’rand’,’primjer4’)http://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/norm4x400.gifhttp://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/nonorm4x400.gif5. SKM(10,10000,2,100,0.0001,’rand’,’primjer5’)http://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/norm10x10000.gifhttp://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/nonorm10x10000.gifA. UvodIII. ALGORITAM SFERNIH K-SREDINA S PRVOM VARIJACIJOMSam algoritam <strong>sfernih</strong> k-<strong>sredina</strong> ima manu da u specifičnim slučajevima može ’zapesti’ u dosta lošem lokalnommaksimumu, pa tu manu želimo popraviti malom modifikacijom, tj. nadogradnjom algoritma. Prvo ćemo navestijedan vrlo jednostavan primjer kako bismo prezentirali sam problem ’zapinjanja’ algoritma u lokalnom maksimumu,a zatim ćemo predstaviti moguće rješenje tog problema. Novi algoritam koji ćemo dobiti zovemo algoritam <strong>sfernih</strong>k-<strong>sredina</strong> s <strong>prvom</strong> <strong>varijacijom</strong>.


7Primjer: Recimo da promatramo tri čestice u vektorskom prostoru: R 2 :x 1 = (1, 0) T x 2 = (cosα, sinα) T x 3 = (0, 1) TPretpostavimo da nam je početna particija jednaka: π (0)1 = {x 1 , x 2 }, π (0)2 = {x 3 }. Vrijednost kvalitete podjele za ovogrupiranje je: Q 0 = 2cos( α 2 ) + 1. Kada je α ∈ [0, π 3 ] centroida c 1 = cos( α 2) grupe π(0) 1 je prema kosinus sličnostinajbliža vektorima x 1 i x 2 , te se prema tome primjenom algoritma <strong>sfernih</strong> k-<strong>sredina</strong> ne bi ništa promijenilo ugrupiranju vektora. No pogledamo li drugo grupiranje: π (1)1 = {x 1 }, π (1)2 = {x 2 , x 3 } vidimo da je vrijednostkvalitete podjele grupa u ovom rasporedu jednaka Q 1 = 2cos( π 4 − α 2 ) + 1. Uzmemo li sada da je α = π 3vidimo daje Q 0 = 2cos( π 6 ) + 1 < 2cos( π 12 ) + 1 = Q 1, pa zaključujemo da se u tom slučaju početnog grupiranja primjenomalgoritma <strong>sfernih</strong> k-<strong>sredina</strong> neće postići optimalna vrijednost grupiranja, tj. algoritma <strong>sfernih</strong> k-<strong>sredina</strong> u tom slučajunije upotrijebljiv. Tu manu želimo nekako zaobići te ćemo zbog toga modificirati algoritam kako bi ovakve slučajeve’zapinjanja’ u lokalnim maksimumima mogao ’zaobići’. Ukratko modifikacija će u slučaju da algoritam <strong>sfernih</strong> k-<strong>sredina</strong> dode do neke podjele koju ne može poboljšati simulirati prebacivanje čestica iz jedne grupe u drugu takoželeći pronaći još bolju podjelu. U svakoj iteraciji prebacuje se čestica koja maksimalno poboljšava vrijednostkvalitete podjele.B. <strong>Algoritam</strong><strong>Algoritam</strong> <strong>sfernih</strong> k-<strong>sredina</strong> je objašnjen u prethodna dva poglavlja te će se u ovom poglavlju smao pojasnitiprva varijacija algoritam i napisati će se pseudokod cijelog algoritma.Prva varijacija grupiranja {π 1 , π 2 , . . . , π k } (particija čestica na k grupa) je nova particija {π ′ l }k l=1koju smodobili izbacivanjem jednog vektora x iz grupe π i ∈ {π l } k l=1i ubacivanjem tog istog vektora u već neku postojećugrupu π j ∈ {π l } k l=1 . Skup svih prvih varijacija particije {π l} k l=1 označavati ćemo sa FV({π l} k l=1). Iz tog skupabiramo particiju koja ima najveću vrijednost kvalitete podjele, tj. biramo onu particiju u kojoj je zamjena jednečestice medu dvije grupe dovela do najvećeg porasta vrijednosti kvalitete podjele {π l } k l=1particije. Tu particijukoju smo dobili biranjem izmedu svih prvih varijacija označavati ćemo sa nextFV({π l } k l=1). Prema definicijijasno je da vrijedi:Q(nextFV({π l } k l=1 )) ≥ Q({π′ l }k l=1 ), {π′ l }k l=1 ∈ FV({π l} k l=1 )Računski jasno je da se problem računanja svodi na računanje novih kvaliteta grupa. Točnije potrebno je izračunatiq(π (t)i− {x}) − q(π (t) ) i q(π (t)j∪ {x}) − q(π (t)j) za sve čestice x iz prostora koji promatramo, te za sve grupeπ (t)i, π (t)j∈ {πl t}k l=1, t nam označava iteraciju u kojoj se trenutno nalazi algoritam. Primjetimo da je:q(π (t)i− {x}) − q(π (t) ∥i) = ( ∥s(π (t)i) ∥ 2 ∥− 2 ∥s(π (t)i) ∥ x T c(π (t)i) + 1) 1 ∥2 − ∥s(π (t) ∥i) ∥, te da je:q(π (t)j∪ {x}) − q(π (t) ∥j) = ( ∥s(π (t)j) ∥ 2 ∥+ 2 ∥s(π (t)j) ∥ x T c(π (t)j) + 1) 1 ∥2 − ∥s(π (t) ∥j) ∥, što nam smanjuje broj računanja,∥ ∥pa samim time i brzinu izvršavanja programa s obzirom da se vrijednosti ∥s(π (t)l) ∥ i x T ∥∥s(π (t)l ∥ , l = 1, . . . , kračunaju i ranije prilikom izvršavanja algoritam <strong>sfernih</strong> k-<strong>sredina</strong>.Pseudokd samog algoritma izgleda ovako:• generiranje početnih čestica na nasumičan način ili uzimanje nekih prikladnih podataka• generiranje početnih centroida na nasumičan način• početak iteracija:– algoritam <strong>sfernih</strong> k-<strong>sredina</strong>– prva varijacija:∗ pronadi najbolju prvu varijaciju (ili više njih)∗ ažuriraj vrijednost kvalitete podjele∗ ako se vrijednost kvalitete podjele nedovoljno poboljšala ili je dosegnut maksimalan broj iteracija izadiiz petlje∗ inače, vrati se u petlji na algoritam <strong>sfernih</strong> k-<strong>sredina</strong>• kraj iteriranja (algoritma)


8C. Primjeri<strong>Algoritam</strong> smo testirali na stvarnim podacima iz respozitorija CISI, MEDLINE i CRANFIELD (koji se mogupreuzeti na adresi: ftp://ftp.cs.cornell.edu/pub/smart). Mi smo ih preuzeli sa adrese: http://web.eecs.utk.edu/research/lsi/corpa.html na kojoj su podaci spremljeni u Harwell-Boeing matričnom formatu. Na stranici http://people.sc.fsu.edu/ ∼ jburkardt/m src/hb to msm/hb to msm.html se mogu preuzeti datoteke za programsko okruženje MATLAB,koje matrice iz Harwell-Boeing matričnog formata pretvaraju u MATLABU prepoznatljive sparse matrice. S obziromda se radi podacima iz prostora vrlo velikih dimenzija nije moguće lijepo prikazati podatke putem slike, kao u prošladva primjera pa ćemo zato rezultate prikazati u tablici te ih na taj način odmah usporediti s rezultatima koje smodobili sa algoritmom <strong>sfernih</strong> k-<strong>sredina</strong>. Kod rješenja može se preuzeti na adresi: http://web.studenti.math.pmf.unizg.hr/ ∼ josipive/UPP/FVSKM.m MEDLINE podaci su spremljeni u matrici dimenzija: 5381x1033 (1033 je dimenzijaprostora). CISI podaci spremljeni su u matrici dimenzija: 5609x1460, dok su CRANFIELD podaci spremljeni umatricu dimenzija: 4612x1398.k SKM FVSKM SKM FVSKM SKM FVSKM2 591.7189 592.1169 520.4301 521.1430 493.98 521.14302 594.1552 594.3956 518.4148 519.0170 489.27 494.182 595.0501 595.4594 513.0268 515.3415 489.77 490.12 595.0332 591.1274 518.7495 519.7772 491.01 491.752 595.2752 595.4757 520.2599 520.7920 493.1 493.553 653.1169 653.1823 561.3286 564.2003 533.56 534.283 657.7921 658.3901 560.9552 561.9875 535.78 536.623 659.4085 659.8743 558.2129 559.5757 530.29 534.553 654.0348 655.5959 559.9634 563.4037 533.74 534.253 649.6754 651.4593 546.2927 549.2255 535.21 536.495 747.1251 748.0626 623.5220 631.9326 590.36 594.095 743.8417 746.8401 622.3769 624.5436 594.41 595.895 730.3483 731.6566 622.0905 625.9649 600.57 602.575 745.0572 747.9172 616.6097 622.2990 600.0 601.735 734.9143 740.9404 626.2892 628.5622 598.94 606.1910 906.4363 910.0188 751.8903 758.5359 716.19 720.4110 916.9199 920.0475 754.5490 760.4539 720.29 723.3810 903.9629 913.2869 751.9612 756.9832 720.35 725.7110 921.9687 925.8823 751.8228 756.4093 717.168 725.6910 903.0121 910.0238 754.8801 759.5216 718.88 723.57650 1632.3 1638.9 1341.7 1357.5 1226.5 1242.450 1635.1 1644.3 1341.4 1358.5 1236.8 1255.650 1629.5 1651 1331.9 1353.4 1231.5 1249.250 1636.2 1648.6 1341.4 1358.5 1237.7 1253.550 1642.7 1651.7 1350.2 1364.1 1230 1247.6MEDLINE CISI CRANFIELD


9LITERATURA[1] Wikipedia: The Free Encyclopedia, 2002 Sparse Matrix.http://en.wikipedia.org/wiki/Sparse matrix,28 September 2012[2] Text File Formats, Harwell-Boeing Exchange Formathttp://math.nist.gov/MatrixMarket/formats.html#hb,17 June 2011[3] Iterative Clustering of High Dimensional Text Data Augmented by Local Search, Inderjit S. Dhillon and Yuqiang Guan, J. Koganhttp://www.cs.utexas.edu/ ∼ inderjit/public papers/iterative icdm02.pdf

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!