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
Oefeninstructies
- Voer één iteratie uit met het PageRank-algoritme met
page.rank()opnetworken geefniter=1op. Extraheer het vectorattribuut en sla het resultaat op initer1. - Herhaal de vorige stap met
niter=2. Sla het resultaat op initer2. - Bereken de som van het absolute verschil tussen de vectoren
iter1eniter2. - We hebben
iter9eniter10op dezelfde manier berekend alsiter1eniter2. 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(___(___ - ___))