搜索引擎算法研究專題四:隨機沖浪模型介紹
http://www.t086.com/class/seo
搜索引擎算法研究專題四:隨機沖浪模型介紹
2017年12月19日 ? 搜索技術 ? 共 2490字 ? 字號 小 中 大 ? 評論關閉Google的Lawrence Page和Sergey Brin為PageRank(PR)算法給出了一個非常簡單直觀的解釋。他們將PageRank視作一種模型,就是用戶不關心網頁內容而隨機點擊鏈接。
網頁的PageRank值決定了隨機訪問到這個頁面的概率。用戶點擊頁面內的鏈接的概率,完全由頁面上鏈接數量的多少決定的,這也是上面PR(Ti)/C(Ti)的原因。
因此,一個頁面通過隨機沖浪到達的概率就是鏈入它的別的頁面上的鏈接的被點擊概率的和。並且,阻尼系數d減低了這個概率。阻尼系數d的引入,是因為用戶不可能無限的點擊鏈接,常常因無聊而隨機跳入另一個頁面。
阻尼系數d定義為用戶不斷隨機點擊鏈接的概率,所以,它取決於點擊的次數,被設定為 0-1之間。d的值越高,繼續點擊鏈接的概率就越大。因此,用戶停止點擊並隨機沖浪至另一頁面的概率在式子中用常數(1-d)表示。無論入站鏈接如何,隨機沖浪至一個頁面的概率總是(1-d)。(1-d)本身也就是頁面本身所具有的PageRank值。
Lawrence Page和Sergey Brin在不同的刊物中發表了2個不同版本的PageRank的算法公式。在第二個版本的算法裏,頁面A的PageRank值是這樣得到的:
PR(A) = (1-d) / N + d (PR(T1)/C(T1) + ... + PR(Tn)/C(Tn)) ——算法2
這裏的N是整個互聯網網頁的總數。這個算法2,並不是完全不同於算法1。隨機沖浪模型中,算法2中頁面的PageRank值就是在點擊許多鏈接後到達這個頁面頁面的實際概率。因此,互聯網上所有網頁的PageRank值形成一個概率分布,所有RageRank值之和為1。
相反地,第一種算法中隨機訪問到一個頁面的概率受到互聯網網頁總數的影響。因此,算法2 解得的PageRank值就是用戶開始訪問過程後,該頁面被隨機訪問到的概率的期望值。如果互聯網有100個網頁,其中一個頁面PageRank值為2;那麽,如果他將訪問互聯網的過程重新開始100次(xdanger註:這句話具體含義是,該用戶隨機點擊網頁上的鏈接進入另一個頁面,每點擊一次都有一定概率因疲勞或厭倦或其他任何原因停止繼續點擊,這就是阻尼系數d的含義;每當停止點擊後,即算作此次訪問結束,然後隨機給出一個頁面讓他開始另一次訪問過程;讓他將這樣的“手續”重復進行100次),平均就有2次訪問到該頁面。
就像前面所提到的,兩種算法並非彼此是本質的不同。用算法2解得的PR(A)乘以互聯網的總網頁數N,即得到由算法1解得的PR(A)。Page和Brin在他們最著名的刊物《The Anatomy of a Large-Scale Hypertextual Web Search Engine》中調和了兩種算法,文中聲稱算法1是將PageRank形成對於互聯網網頁的一個概率分布,其和為1。
接下來,我們將使用算法1。理由是算法1忽略了互聯網的網頁總數,使得更易於計算。
假設一個小網站由三個頁面A、B、C組成,A連接到B和C,B連接到C,C連接到A。雖然Page和Brin實際上將阻尼系數d設為0.85,但這裏我們為了簡便計算就將其設為0.5。盡管阻尼系數d的精確值無疑是影響到PageRank值的,可是它並不影響PageRank計算的原理。因此,我們得到以下計算PageRank值的方程:
(A) = 0.5 + 0.5 PR(C)
PR(B) = 0.5 + 0.5 (PR(A) / 2)
PR(C) = 0.5 + 0.5 (PR(A) / 2 + PR(B))
這些方程很容易求解,以下得到每個頁面的PageRank值:
PR(A) = 14/13 = 1.07692308
PR(B) = 10/13 = 0.76923077
PR(C) = 15/13 = 1.15384615
很明顯所有頁面PageRank之和為3,等於網頁的總數。就像以上所提的,此結果對於這個簡單的範例來說並不特殊。
對於這個只有三個頁面的簡單範例來說,通過方程組很容易求得PageRank值。但實際上,互聯網包含數以億計的文檔,是不可能解方程組的。
PageRank的叠代計算
由於實際的互聯網網頁數量,Google搜索引擎使用了一個近似的、叠代的計算方法計算 PageRank值。就是說先給每個網頁一個初始值,然後利用上面的公式,循環進行有限次運算得到近似的PageRank值。我們再次使用“三頁面”的範例來說明叠代計算,這裏設每個頁面的初始值為1。
叠代次數PR(A)PR(B)PR(C)
0111
110.751.125
21.06250.7656251.1484375
31.074218750.768554691.15283203
41.076416020.769104001.15365601
51.076828000.769207001.15381050
61.076905250.769226311.15383947
71.076919730.769229931.15384490
81.076922450.769230611.15384592
91.076922960.769230741.15384611
101.076923050.769230761.15384615
111.076923070.769230771.15384615
121.076923080.769230771.15384615
重復幾次後,我們的到一個良好的接近PageRank理想值的近似值。根據Lawrence Page和Sergey Brin共開發表的文章,他們實際需要進行100次叠代才能得到整個互聯網的滿意的網頁級別值。
同樣,用叠代計算的方式,每個網頁的PageRank值之和仍然收斂於整個網絡的頁面數的。因此,每個頁面的平均的PageRank值為1。實際上的值在(1-d)和(dN+(1-d))之間,這裏的N是互聯網網頁總數。如果所有頁面都連接到一個頁面,並且此頁單獨地連接自身,那麽將出現理論上的最大值。
搜索引擎算法研究專題四:隨機沖浪模型介紹