ÎncepețiÎncepe gratuit

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

Vezi cursul

Instrucțiuni pentru exercițiu

  • Calculează o iterație a algoritmului PageRank folosind page.rank() cu network și specificând niter=1. Extrage atributul vector și atribuie rezultatul variabilei iter1.
  • Repetă pasul anterior cu niter=2. Atribuie rezultatul variabilei iter2.
  • Calculează suma diferențelor absolute dintre vectorii iter1 și iter2.
  • Am calculat iter9 și iter10 în același mod ca iter1 și iter2. 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(___(___ - ___))
Editează și rulează codul