PageRank'teki Değişimler
PageRank formülü \(\vec{PR}=\alpha \cdot A \cdot \vec{PR} + (1-\alpha)\cdot \vec{e}\), \(\vec{PR}\) için yinelemeli olarak çözülebilir. Her yinelemede, \(\vec{PR}\)'nin mevcut değeri, gerçek değere daha yakın yeni bir değeri hesaplamak için kullanılır. Bu da art arda gelen her iki yineleme arasındaki \(\vec{PR}\) farkının giderek küçülmesi, sonunda \(\vec{PR}\) gerçek değere yakınsayıp farkın (neredeyse) sıfır olması anlamına gelir. Bu egzersizde, PageRank algoritmasını ve nasıl yakınsadığını inceleyeceksin.
Bu egzersiz, kursun bir parçasıdır
R ile Ağ Verileri Kullanarak Predictive Analytics
Egzersiz talimatları
networkilepage.rank()kullanarak veniter=1belirterek PageRank algoritmasıyla bir yineleme hesapla. Vektör özniteliğini çıkar ve sonucuiter1değişkenine ata.- Aynı adımı
niter=2ile tekrarla. Sonucuiter2değişkenine ata. iter1veiter2vektörleri arasındaki mutlak farkın toplamını hesapla.iter9veiter10'u daiter1veiter2ile aynı şekilde hesapladık. Bu iki yineleme arasındaki fark, 1 ve 2. yinelemeler arasındaki farktan daha küçük mü?
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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(___(___ - ___))