LoslegenKostenlos loslegen

Änderungen im PageRank

Die PageRank-Formel \(\vec{PR}=\alpha \cdot A \cdot \vec{PR} + (1-\alpha)\cdot \vec{e}\) kann iterativ für \(\vec{PR}\) gelöst werden. In jeder Iteration wird der aktuelle Wert von \(\vec{PR}\) verwendet, um einen neuen Wert zu berechnen, der näher am wahren Wert liegt. Das bedeutet, dass die Differenz zwischen den \(\vec{PR}\)-Vektoren zweier aufeinanderfolgender Iterationen immer kleiner wird, bis \(\vec{PR}\) gegen den wahren Wert konvergiert und die Differenz (fast) null ist. In dieser Übung schaust du dir den PageRank-Algorithmus und sein Konvergenzverhalten an.

Diese Übung ist Teil des Kurses

Predictive Analytics mit vernetzten Daten in R

Kurs anzeigen

Anleitung zur Übung

  • Führe eine Iteration mit dem PageRank-Algorithmus aus, indem du page.rank() mit network verwendest und niter=1 angibst. Extrahiere das Vektor-Attribut und weise das Ergebnis iter1 zu.
  • Wiederhole den letzten Schritt mit niter=2. Weise das Ergebnis iter2 zu.
  • Berechne die Summe der absoluten Differenzen zwischen den Vektoren iter1 und iter2.
  • Wir haben iter9 und iter10 auf die gleiche Weise berechnet wie iter1 und iter2. Ist die Differenz zwischen diesen beiden Iterationen kleiner als zwischen Iteration 1 und 2?

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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 bearbeiten und ausführen