Arvostus Tommi Perälä Department of Mathematics, Hypermedia Laboratory Tampere University of Technology 8..0
in idea on määrittää verkoston solmuille arvostusta kuvaavat tunnusluvut. Voidaan ajatella taustalla oleva verkosto arvostusverkostoksi, jossa Nuoli solmusta toiseen osoittaa yksipuolista arvostusta Nuolet ovat painotettuja, jolloin arvostuksen määrä riippuu painotuksesta Esim. hyperlinkin olemassaolo kertoo siitä, että linkin luoja kokee linkin kohteen tärkeäksi.
in taustalta voidaan havaita seuraavia ajatuksia solmun arvostuksen mallintamiseen: Solmun tulisi olla sitä arvostetumpi mitä arvostetummat solmut siitä arvostavat Yhdellä solmulla voi olla vain äärellinen määrä arvostusta jaettavana muille solmuille Luotu hakukoneen osaksi, joten solmujen lukumäärä valtava. n kompleksisuus tärkeä mallinnusnäkökulma.
Olkoot G = (E, V ) suunnattu yhtenäinen graafi. Graafin -vektori r määritellään alkioittain seuraavasti: r i = j I i r j d + j Solmun i arvostus on siten siihen osoittavien solmujen arvostusten painotettu summa, jossa painona solmujen lähtöasteen d + j käänteisluku. Solmujen arvostukset ovat siten riippuvaisia toisistaan ja yhteyksien lukumäärästä.. Miten ratkaistaan r i?
Olkoot q i vektori, jonka alkio q ij on tai 0 riippuen siitä d + j onko solmusta v j :stä nuoli solmuun v i vai ei. r i = N q ik r k = qi T r k= Jos kasataan vektorit matriisiin Q = [q, q,..., q N ] T, voidaan -ongelma muotoilla seuraavasti: r = Qr Verkoston topologia näyttäisi siis määrittävän solmujen arvostuksen.
Olkoon verkoston sosiomatriisi A = 0 0 0 0 0 0 0 0 0 vastaava matriisi olisi Q A = 0 0 0 0 0 0 0 0 0 Huomataan, että matriiseilla Q A ja A on sama rakenne, ja Q A voidaan laskea suoraan sosiomatriisin A avulla. 4
-ongelma voidaan kirjoittaa myös r = Qr (Q I)r = 0 Eli -vektori kuuluu matriisin Q I nolla-avaruuteen. Ei ole itsestään selvää, että tällainen vektori olisi olemassa. Toisin sanoen tämä tarkottaisi sitä, että vektori r olisi matriisin Q ominaisarvoa vastaava ominaisvektori. Osoittautuu, että sarake-stokastisille matriiseille (column-stochastic) löydetään tällainen vektori. Seuraavaksi selvitämme minkälaisille verkostoille (jos millekään), matriisi Q on sarake-stokastinen.
: Sarake-stokastisen matriisin alkiot ovat ei-negatiivisia, ja matriisin sarakesummat ovat. -matriisin alkiot ovat määritelmänsä mukaan ei-negatiivisia. Jotta i. sarakesumma voi olla, täytyy sosiomatriisissa i:nnellä sarakkeella olla ainakin yksi nollasta poikkeava alkio. Eli jokaisesta solmusta on oltava nuoli johonkin solmuun. Umpikujia (dangling nodes) ei siis sovi verkostosta löytyä.
On olemassa sarake-stokastisia matriiseja, joille ominaisarvoa vastaa useampi kuin yksi ominaisvektori. : Q B = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Q B :llä kaksi ominaisarvoa vastaavaa ominaisvektoria (,, 0, 0, 0) ja (0, 0, 0,, ). Kumpi valitaan? 4 5 Jotta ratkaisu olisi yksikäsitteinen, tulee sosiomatriisin olla redusoimaton (yhtenäinen verkosto).
Motivaatio Aiemmin määritellyn -vektorin käyttökelpoisuus alkaa epäilyttää tiukkojen vaatimusten takia. Hakukoneen löytämät WWW-sivujen linkkiverkostot voidaan hyvinkin olettaa sisältävän sekä umpikujia että olevan ei-yhtenäisiä. Miten algoritmia voitaisiin muuttaa, että tämä ei olisi ongelma?
vaatii siis, että jokainen solmu arvostaa. Jos näin ei jollekin solmulle ole, niin solmulle voidaan pakottaa keinotekoisesti nuolet kaikkiin muihin verkoston solmuihin. Näin solmu siis jakaa arvostuksensa tasan koko muun verkoston kesken, ja -matriisista saadaan sarake-stokastinen. Voitaisiin ainakin päätellä, että solmujen lukumäärän kasvaessa, yksittäisen umpikujan vaikutus muun verkoston arvostuksiin lähestyy nollaa.
Olkoon a vektori, jonka i. alkio on, jos v i on umpikuja ja muussa tapauksessa nolla. Olkoon lisäksi e vektori, jonka kaikki alkiot ovat ykkösiä. Q = Q + N eat On helppo nähdä, että näin saatu matriisi Q on sarake-stokastinen.
: Q A = Q A = 0 0 0 0 0 0 0 0 0 0 0 4 0 0 4 0 4 4 Nyt käyttäen matriisia QA saadaan -vektoriksi 4 r Q = (0.7, 0.65, 0.47, 0.7)
Yleensä sosiogrammeissa ei sallita silmukoita, joten -matriisia voitaisiin muokata seuraavasti QA = 0 0 0 0 0 0 Koko verkostolle käyttäen matriisia Q A 4 saadaan r Q = (0.8, 0.8, 0.7, 0.07)
: Kuten todettu on hyvin määritelty yhtenäiseille verkostoille. Jos verkosto on umpikujia lukuunottamatta yhtenäinen. Voidaan -vektori laskea yhtenäisen alkioille, jonka jälkeen umpikujien voidaan laskea näiden avulla. Jos lasketaan verkoston A yhtenäiselle komponentille (v, v, v ), saadaan ratkaisuksi r Y = ( 5, 5, 5 ) Nyt umpikujan v 4 on myös määritelty (miksi?). Normeerattuna -vektori on nyt r Y = ( 4, 6 4, 4, 4 )
: Yhteenvetona vielä eri tavoin lasketut -vektorit: r Q = (0.7, 0.65, 0.47, 0.7) r Q = (0.8, 0.8, 0.7, 0.07) r Y = (0.79, 0.40, 0.79, 0.0) Minkä valitsisit?
Määritellään -matriisi uudelleen ja merkataan sitä P:llä P = ( α)q + αm, missä M on matriisi, jonka jokainen alkio on N, ja 0 < α <. Helposti nähdään, että P on sarake-stokastinen. Näin saadussa arvostusverkostossa kaikki solmut jakavat osan arvostuksestaan tasaisesti koko verkon kesken. Esim. Web: surffaajalla pieni todennäköisyys siirtyä satunnaiselle sivulle linkkirakenteesta riippumatta (teleportaatio).
: Olkoot α = 0. P B = Q B = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.0 0.9 0.0 0.0 0.0 0.9 0.0 0.47 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.47 0.0 0.9 0.0 0.0 0.0 0.9 0.0 r P = (0.4, 0.47, 0.0, 0.47, 0.4) vrt. r Q = (0.5, 0.5, 0, 0, 0) tai r Q = (0, 0, 0, 0.5, 0.5)
Power Method Yllämainittu ominaisarvo-ongelma on laskennallisesti vaativa isoille verkostoille kaikenlaisten hajotelmien avulla laskettuna. Tätä varten lasketaan yleensä iteratiivisesti r (k+) = Pr (k) aloittaen jostain alkuarvauksesta r (0), jolle r (0) =. Yhtenäisen verkoston tapauksessa iteraatio suppenee suurinta ominaisarvoa (=) vastaavaan yksikäsitteiseen ominaisvektoriin. Suppenemisnopeuden määrää toisiksi suurin ominaisarvo.
-matriisi Koska M = N eet ja Q = Q + N eat, voidaan -matriisi kirjoittaa muotoon P = ( α)(q + N eat ) + α N eet = ( α)q + N e(( α)at + αe T )
Implementaatio Iteraatiot voidaan nyt kirjoittaa seuraavasti: r (k+) = Pr (k) = (( α)q + N ( )) e ( α)a T + αe T r (k) = ( α)qr (k) + ( N e ( α)a T r (k) + αe T r (k)) = ( α)qr (k) + ) (( N e α)a T r (k) + α Nähdään, että algoritmin kompleksisuus riippuu matriisin Q rakenteesta. Onneksi tämä on yleensä harva matriisi joten iteraatio vaatii luokkaa nnz(q) flopsia. Muistivaatimukset myös pienet (Q,r (k) ). n on huomattu myös suppenevan nopeasti (Google: n iter 50).
[] L. Page, S. Brin, R. Motwani, and T. Winograd, The pagerank citation ranking: Bringing order to the web. Stanford InfoLab, Technical Report 999-66, November 999 [] A. N. Langville and C. D. Meyer, Deeper inside pagerank, Internet Mathematics, vol., p. 004, 004. [] K. Bryan and T. Leise, The $5,000,000,000 eigenvector: The linear algebra behind google, SIAM Rev., vol. 48, pp. 569 58, March 006. [4] M. Bianchini, M. Gori, and F. Scarselli, Inside pagerank, ACM Trans. Internet Technol., vol. 5, pp. 9 8, February 005.