Aan de slagGa gratis aan de slag

Veranderingen in PageRank

De PageRank-formule \(\vec{PR}=\alpha \cdot A \cdot \vec{PR} + (1-\alpha)\cdot \vec{e}\) kan iteratief worden opgelost voor \(\vec{PR}\). In elke iteratie wordt de huidige waarde van \(\vec{PR}\) gebruikt om een nieuwe waarde te berekenen die dichter bij de echte waarde ligt. Dit betekent dat het verschil tussen de $\vec{PR}\(’s van telkens twee opeenvolgende iteraties steeds kleiner wordt totdat \)\vec{PR}$ convergeert naar de echte waarde en het verschil (bijna) nul wordt. In deze oefening bekijk je het PageRank-algoritme en hoe het convergeert.

Deze oefening maakt deel uit van de cursus

Predictive Analytics met netwerkgdata in R

Cursus bekijken

Oefeninstructies

  • Voer één iteratie uit met het PageRank-algoritme met page.rank() op network en geef niter=1 op. Extraheer het vectorattribuut en sla het resultaat op in iter1.
  • Herhaal de vorige stap met niter=2. Sla het resultaat op in iter2.
  • Bereken de som van het absolute verschil tussen de vectoren iter1 en iter2.
  • We hebben iter9 en iter10 op dezelfde manier berekend als iter1 en iter2. Is het verschil tussen deze twee iteraties kleiner dan tussen iteraties 1 en 2?

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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(___(___ - ___))
Code bewerken en uitvoeren