你知道“啥是佩奇”,卻不一定了解佩奇排名演算法

AI科技大本營發表於2019-01-24

640?wx_fmt=jpeg


作者 | 程式設計師小吳 從初學者的角度學習演算法,以動畫的形式呈現解題的思路。

來源 | 五分鐘學演算法


佩奇排名介紹

佩奇排名是根據頁面之間的連結結構計算頁面的值的一種演算法。下面我們通過動畫來理解進行計算的具體流程。


假設一個正方形表示一個 WEB 頁面,一個箭頭表示一個頁面之間的連結。


640?wx_fmt=png


此圖表明下面 3 頁包含指向上面 1 頁的連結


在佩奇排名演算法中,網頁指向的連結越多,頁面被確定為越重要。


因此,在這裡,確定首頁最重要。


640?wx_fmt=gif


確定首頁最重要


實際上,每個頁面的重要性都是通過計算來量化的。


基本的計算方法思想


1.未連結的頁面分數為 1


640?wx_fmt=png


未連結的頁面分數為 1


2.有連結的頁面得分為正在連結的頁面的總得分


640?wx_fmt=png


有連結的頁面得分為正在連結的頁面的總得分


3.當有多個網頁的連結時,連結分數均勻分佈


640?wx_fmt=gif


連結分數均勻分佈


4.來自高度連結網頁的連結具有很高的價值


640?wx_fmt=png


該圖中心頁面有三個獨立頁面指向它的連結,所以它的分數是 3 。 


首頁有一個很大的分數,因為連結是從分數為 3 的頁面指向它的。


640?wx_fmt=gif


在動畫中的六個頁面中,判斷最上面的頁面是最重要的頁面----這是佩奇排名的基本思想。


基本的計算方法思想的迴圈問題


640?wx_fmt=png


如果按照順序來計算每個頁面的分數時,那麼就會出現問題:以這種方式計算,它將無限迴圈,並且在迴圈中的頁面得分在任何地方都會很高。



640?wx_fmt=gif


迴圈的問題可以通過“隨機遊走模型”的計算方法來解決。

隨機遊走模型

以小豬佩奇瀏覽網頁為例。


小豬佩奇開始訪問「五分鐘學演算法」中有趣的頁面,那麼從這個左下角頁面開始。


640?wx_fmt=gif


它們跟隨一個連結並移動到另外的一個頁面,看了一些之後,發現不敢興趣了,這樣就停止了瀏覽。


然後,又一天,它在小吳的推薦下,在完全不同的頁面進行瀏覽,跟隨一個連結並移動到另外的一個頁面,一旦失去興趣就停止瀏覽。


640?wx_fmt=gif


像這樣,重複從某個頁面開始瀏覽,移動幾頁後便停止的操作,如果從網際網路空間一側進行觀察,就像網頁瀏覽的人:重複移動頁面幾次後傳送到一個完全不同的頁面。

量化隨機遊走模型

假設 1 - α 代表選擇當前頁面中的一個連結的概率。


α代表該人將傳送到其他頁面的概率。



640?wx_fmt=gif


現在用隨機遊走模型 處理上述的迴圈問題。


640?wx_fmt=gif


如果總頁面訪問次數達到1000次之後,使用百分比進行表示:那麼這個值就表示“在某個時間點檢視頁面的概率”。


640?wx_fmt=gif

更實用的計算方法

如圖所示,現在來嘗試計算複雜的連結網路中每個頁面的分數。


640?wx_fmt=png


現在均勻設定分數,使總分加起來為 1 。而後根據網頁瀏覽者的移動,來計算每個頁面的概率。


移動 n次時出現在 A 中的概率表示未 PAn,移動 n 次時出現在 B 中的概率表示未 PBn


舉一個例子,在移動 1 次之後求在 A 的概率 PA 1


640?wx_fmt=gif


在 C 選擇移動的概率是 1-α


其中,移動到 A 的一種場景是,C 中的佩奇選擇了移動而不是傳送。另外,這裡選擇了 A 而不是 B 作為目的地。


並且,根據上面的當有多個網頁的連結時,連結分數均勻分佈這條規則,從 A 或 B 選擇 A 的概率是 0.5 。


640?wx_fmt=gif


因此,從 C 移動到 A 的概率是 PC0 ✖️ (1-α) ✖️ 0.5


640?wx_fmt=gif


A 被選為傳送目標的概率是 0.25


A 被選為傳送目標的概率是 0.25 ,根據前面的理論:在 A、B、C、D 中小佩奇選擇傳送的概率為 α。因此,通過傳送移動到 A 的概率為 α ✖️ 0.25。  
所以,移動一次後在 A 的概率為       
PA1 = PC0 ✖️ ( 1 - α ) ✖️ 0.5  +  α ✖️ 0.25

其中 PC0 = 0.25 , α = 0.15,代入計算後 PA1 = 0.14375

這樣,通過計算後 B 、 C 、D 頁的概率也更新了。


640?wx_fmt=png


B 、 C 、D 頁的概率也更新了


上面在移動 1 次之後這四個頁面的概率更新情況,根據上述相同的方法計算 2 次後小佩奇瀏覽在每個頁面的概率。


640?wx_fmt=png


移動 2 次後


同樣的,經過大量的移動,在每個頁面上的概率逐漸趨於固定值。當數值固定是,計算也就完成了。


640?wx_fmt=png

End

佩奇排名就是這樣一種通過訪問概率代替連結的權重來計算的機制。


徵稿

640?wx_fmt=png


推薦閱讀


640?wx_fmt=png

相關文章