Modificări în PageRank
Formula PageRank \(\vec{PR}=\alpha \cdot A \cdot \vec{PR} + (1-\alpha)\cdot \vec{e}\) poate fi rezolvată iterativ pentru \(\vec{PR}\). La fiecare iterație, valoarea curentă a lui \(\vec{PR}\) este folosită pentru a calcula o nouă valoare, mai apropiată de cea reală. Astfel, diferența dintre valorile \(\vec{PR}\) din două iterații consecutive devine din ce în ce mai mică, până când \(\vec{PR}\) converge la valoarea reală și diferența devine (aproape) zero. În acest exercițiu, vei analiza algoritmul PageRank și modul în care acesta converge.
Acest exercițiu face parte din cursul
Analiză predictivă folosind date de rețea în R
Instrucțiuni pentru exercițiu
- Calculează o iterație a algoritmului PageRank folosind
page.rank()cunetworkși specificândniter=1. Extrage atributul vector și atribuie rezultatul variabileiiter1. - Repetă pasul anterior cu
niter=2. Atribuie rezultatul variabileiiter2. - Calculează suma diferențelor absolute dintre vectorii
iter1șiiter2. - Am calculat
iter9șiiter10în același mod caiter1șiiter2. Diferența dintre aceste două iterații este mai mică decât cea dintre iterațiile 1 și 2?
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Compute one iteration of PageRank
iter1 <- page.rank(___, algo = 'power', options = list(niter = ___))$vector
# Compute two iterations of PageRank
iter2 <- ___(___, algo = 'power', options = list(niter = ___))$vector
# Inspect the change between one and two iterations
sum(abs(___ - ___))
# Inspect the change between nine and ten iterations
sum(___(___ - ___))