CommencerCommencer gratuitement

Évolutions du PageRank

La formule de PageRank \(\vec{PR}=\alpha \cdot A \cdot \vec{PR} + (1-\alpha)\cdot \vec{e}\) peut être résolue pour \(\vec{PR}\) de manière itérative. À chaque itération, la valeur actuelle de \(\vec{PR}\) est utilisée pour calculer une nouvelle valeur plus proche de la valeur réelle. Cela signifie que la différence entre les \(\vec{PR}\) de deux itérations consécutives devient de plus en plus faible jusqu’à ce que \(\vec{PR}\) converge vers la valeur réelle et que la différence devienne (quasi) nulle. Dans cet exercice, vous allez examiner l’algorithme PageRank et sa convergence.

Cet exercice fait partie du cours

Analytique prédictive avec des données en réseau sous R

Afficher le cours

Instructions

  • Effectuez une itération avec l’algorithme PageRank à l’aide de page.rank() avec network en indiquant niter=1. Extrayez l’attribut vecteur et affectez le résultat à iter1.
  • Répétez l’étape précédente avec niter=2. Affectez le résultat à iter2.
  • Calculez la somme de la différence absolue entre les vecteurs iter1 et iter2.
  • Nous avons calculé iter9 et iter10 de la même manière que iter1 et iter2. La différence entre ces deux itérations est-elle inférieure à celle entre les itérations 1 et 2 ?

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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(___(___ - ___))
Modifier et exécuter le code