PageRank算法


 

一、PageRank簡介   

  PageRank,網頁排名,又稱佩奇排名。谷歌的兩位創始人,佩奇 (Larry Page) 和布林 (Sergey Brin) 開始了對網頁排序問題的研究。他們的借鑒了學術界評判學術論文重要性的通用方法, 那就是看論文的引用次數。由此想到網頁的重要性也可以根據這種方法來評價。於是PageRank的核心思想就誕生了,非常簡單:

  • 如果一個網頁被很多其他網頁鏈接到的話說明這個網頁比較重要,也就是PageRank值會相對較高;
  • 如果一個PageRank值很高的網頁鏈接到一個其他的網頁,那么被鏈接到的網頁的PageRank值會相應地因此而提高;

 二、最簡單的PageRank模型

  互聯網中的網頁可以看出是一個有向圖,其中網頁是結點,如果網頁A有鏈接到網頁B,則存在一條有向邊A->B,下面是一個簡單的示例:     

 

這個例子中只有四個網頁,如果當前在A網頁,那么悠閑的上網者將會各以1/3的概率跳轉到B、C、D,這里的3表示A有3條出鏈,如果一個網頁有k條出鏈,那么跳轉任意一個出鏈上的概率是1/k,同理D到B、C的概率各為1/2,而B到C的概率為0。一般用轉移矩陣表示上網者的跳轉概率,如果用n表示網頁的數目,則轉移矩陣M是一個n*n的方陣;如果網頁j有k個出鏈,那么對每一個出鏈指向的網頁i,有M[i][j]=1/k,而其他網頁的M[i][j]=0;上面示例圖對應的轉移矩陣如下:

初試時,假設上網者在每一個網頁的概率都是相等的,即1/n,於是初試的概率分布就是一個所有值都為1/n的n維列向量V0,用V0去右乘轉移矩陣M,就得到了第一步之后上網者的概率分布向量MV0,(nXn)*(nX1)依然得到一個nX1的矩陣。下面是V1的計算過程:

 

 注意矩陣M中M[i][j]不為0表示用一個鏈接從j指向i,M的第一行乘以V0,表示累加所有網頁到網頁A的概率即得到9/24。得到了V1后,再用V1去右乘M得到V2,一直下去,最終V會收斂,即Vn=MV(n-1),上面的圖示例,不斷的迭代,最終V=[3/9,2/9,2/9,2/9]’:

三、終止點問題

上述上網者的行為是一個馬爾科夫過程的實例,要滿足收斂性,需要具備一個條件:

  • 圖是強連通的,即從任意網頁可以到達其他任意網頁:

互聯網上的網頁不滿足強連通的特性,因為有一些網頁不指向任何網頁,如果按照上面的計算,上網者到達這樣的網頁后便走投無路、四顧茫然,導致前面累計得到的轉移概率被清零,這樣下去,最終的得到的概率分布向量所有元素幾乎都為0。假設我們把上面圖中C到A的鏈接丟掉,C變成了一個終止點,得到下面這個圖:

 

 

對應的轉移矩陣為:

fclajsdfkdjsaglkjsdglsajg2

連續迭代下去,最終所有元素都為0:

fclakjsgflkgjlsajgsajg3

四、陷阱問題

另外一個問題就是陷阱問題,即有些網頁不存在指向其他網頁的鏈接,但存在指向自己的鏈接。比如下面這個圖:

ljlajkjasglkjsdgkjsgla1

上網者跑到C網頁后,就像跳進了陷阱,陷入了漩渦,再也不能從C中出來,將最終導致概率分布值全部轉移到C上來,這使得其他網頁的概率分布值為0,從而整個網頁排名就失去了意義。如果按照上面圖對應的轉移矩陣為:

fclajsdfkdjsaglkjsdglsajg2

不斷的迭代下去,就變成了這樣:

202136578712805

 

五、解決終止點問題和陷阱問題

上面過程,我們忽略了一個問題,那就是上網者是一個悠閑的上網者,而不是一個愚蠢的上網者,我們的上網者是聰明而悠閑,他悠閑,漫無目的,總是隨機的選擇網頁,他聰明,在走到一個終結網頁或者一個陷阱網頁(比如兩個示例中的C),不會傻傻的干着急,他會在瀏覽器的地址隨機輸入一個地址,當然這個地址可能又是原來的網頁,但這里給了他一個逃離的機會,讓他離開這萬丈深淵。模擬聰明而又悠閑的上網者,對算法進行改進,每一步,上網者可能都不想看當前網頁了,不看當前網頁也就不會點擊上面的連接,而上悄悄地在地址欄輸入另外一個地址,而在地址欄輸入而跳轉到各個網頁的概率是1/n。假設上網者每一步查看當前網頁的概率為a,那么他從瀏覽器地址欄跳轉的概率為(1-a),於是原來的迭代公式轉化為:

202158112317322

現在我們來計算帶陷阱的網頁圖的概率分布:

202205000122441

重復迭代下去,得到:

261719185728644

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM