PageRank演算法初探

2021-08-11 20:40:33 字數 1153 閱讀 6221

pagerank演算法由segey brin和larry page在2023年發表在www7。該演算法的高效能和易使用等特點,和其他的搜尋系統相比質量更高。因此,谷

歌成為世界上最常用的搜尋引擎有很大一部分是基於此。

他們借鑑了當時學術界評判**重要性的通用方法,根據**的引用次數。將這種思路對映到網頁的排名,如果乙個網頁有很多的網頁指向他,那麼這個網頁就更重要(具有更大的pagerank值)。

把網頁看做是乙個有向圖g =(e, v),其中v是頂點或節點的集合,即所有頁面的集合,e是有向圖的邊,即網頁中的超連結。web中所有的頁面數是n(即n=|v|),某個頁面page(i)的pagerank值定義為

如果某個網路的連通情況如下

可以想象乙個人在節點a時,開啟b和c節點的概率是一樣的都是1/2,因此下面方程組

pr(a) = pr(c)/2

pr(b) = pr(a)/3 + pr(d)/2

pr(c) = pr(a)/3 + pr(d)/2

pr(d) = pr(a)/3 + pr(b) + pr(c)/2

則該方程組的過渡矩陣(transition matrix)為m

然後初始時,由於每個網頁被訪問的概率是一樣的,都是1/n,其中n為網頁中的頁面數。另外,一般情況下,所有網頁的pr值之和是1,這樣可以很好的反應每個頁面最終被訪問的概率。因此頁面的rank向量為v

第一次pr = m * v,之後迭代計算 pr = m * pr,直至收斂,這個例子中收斂的結果是

然而,我們再考慮另一種情況,網際網路中乙個頁面對自己有出鏈,或者是幾個頁面形成乙個迴圈圈,在不斷的迭代過程中,這乙個或幾個頁面的pr值只增不減,顯然是不合理的。為了解決這個問題,我們可以想象乙個隨機瀏覽網頁的人是不可能一直被迴圈的網頁困住。假設他以一定的概率d跳轉到每乙個網頁,於是上面的例子中

pr(a) = d*( pr(c)/2 ) +(1-d)/4
因此,一般情況下,乙個網頁的pr值計算如下:

其中d稱為阻尼係數(damping factor),被設定在(0 - 1)之間,d = 0.85是常用的。l(u)是網頁u的出鏈數目,n表示節點的總數。按照上面公式,就可以計算每個頁面的pr值,當不斷迭代趨於平穩的時候就是最終結果。

PageRank 演算法隨記

遞迴的意思是 假如現在要求c,指向c的入鏈只有b,那麼得先求b的重要度,b重要度的大小取決於指向b的入鏈以及這些入鏈的重要度。隨機 的解釋 從i這個頁面開始,它可能有di種選擇,而且他做每一種選擇的時候,選擇的概率是相同的,即他決定到下乙個頁面是乙個隨機的選擇 應該跳到那個頁面 我們把上面圖中的矩陣...

PageRank演算法核心

讀者盆友,中午好,這裡分享下pagerank演算法的核心思想。本部落格 示例均來自 演算法 algorithmes forth edition 美 robert sedgewick kevin wayne 著 謝路雲譯 s.brin 和l.page 發明的pagerank演算法,裡面非常重要的思想是...

PageRank演算法改進

pagerank 演算法是 google 搜尋引擎進行網頁排名的一種演算法,那麼它如何對映到其他領域?比如,我們如何在文獻排名中應用pagerank演算法呢?對文獻的質量進行排序是對文獻價值進行評估的一種重要手段,目的是為了方便人員在檢索時查閱。統計文獻的被引次數是一種非常直觀的統計方式,在此基礎之...