Perubahan pada PageRank
Rumus PageRank \(\vec{PR}=\alpha \cdot A \cdot \vec{PR} + (1-\alpha)\cdot \vec{e}\) dapat diselesaikan untuk \(\vec{PR}\) secara iteratif. Pada setiap iterasi, nilai \(\vec{PR}\) saat ini digunakan untuk menghitung nilai baru yang lebih mendekati nilai sebenarnya. Ini berarti bahwa perbedaan antara \(\vec{PR}\) dari setiap dua iterasi berurutan akan makin kecil hingga \(\vec{PR}\) konvergen ke nilai sebenarnya dan perbedaannya menjadi (hampir) nol. Dalam latihan ini, Anda akan menelaah algoritma PageRank dan bagaimana ia mencapai konvergensi.
Latihan ini adalah bagian dari kursus
Analitik Prediktif menggunakan Data Berjejaring di R
Petunjuk latihan
- Hitung satu iterasi dengan algoritma PageRank menggunakan
page.rank()dengannetworkdan menetapkanniter=1. Ekstrak atribut vektor dan simpan hasilnya keiter1. - Ulangi langkah terakhir dengan
niter=2. Simpan hasilnya keiter2. - Hitung jumlah selisih absolut antara vektor
iter1daniter2. - Kami telah menghitung
iter9daniter10dengan cara yang sama sepertiiter1daniter2. Apakah perbedaan antara kedua iterasi ini lebih kecil dibanding antara iterasi 1 dan 2.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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(___(___ - ___))