PageRank算法詳解

PageRank算法詳解

  • 主要內容
    • PageRank算法簡介
    • PageRank算法詳解
      • 基本PageRank模型
      • 終止點問題
      • 陷阱問題
      • 解決終止點問題和陷阱問題

1、PageRank算法簡介
  PageRank,網頁排名,又稱網頁級別或佩奇排名,是一種根據網頁間相互超鏈接進行網頁排名的技術,以Google公司創辦人拉里·佩奇(Larry Page)之姓來命名。Google用它來體現網頁的相關性和重要性,在搜索引擎優化操作中是評估網頁優化的有效指標之一。Google的創始人拉里·佩奇和謝爾蓋·布林於1998年在斯坦福大學發明了這項技術。
  PageRank通過網絡浩瀚的超鏈接關係來確定一個頁面的等級。Google把從A頁面到B頁面的鏈接解釋爲A頁面給B頁面投票,Google根據投票來源(甚至來源的來源)和投票目標的等級來決定新的等級。簡單的說,一個高等級的頁面可以使其他低等級頁面的等級提升。

2、PageRank算法詳解
2.1 基本PageRank模型
  互聯網中的網頁可以看成是一個有向圖,其中網頁是結點,如果網頁A 有鏈接到網頁B ,則存在一條有向邊AB ,下面是一個簡單的示例:

這裏寫圖片描述

  這個例子中只有四個網頁,如果當前在A 網頁,那麼悠閒的上網者將會各以1/3 的概率跳轉到BCD ,這裏的3 表示A3 條出鏈,如果一個網頁有k 條出鏈,那麼跳轉任意一個出鏈上的概率是1/k ,同理DBC 的概率各爲1/2 ,而BC 的概率爲0 。一般用轉移矩陣表示上網者的跳轉概率,如果用n 表示網頁的數目,則轉移矩陣M 是一個n×n 的方陣;如果網頁jk 個出鏈,那麼對每一個出鏈指向的網頁i ,有M[i][j]=1/k ,而其他網頁的M[i][j]=0 ;上面示例圖對應的轉移矩陣如下:
這裏寫圖片描述

  初試時,假設上網者在每一個網頁的概率都是相等的,即1/n ,於是初試的概率分佈就是一個所有值都爲1/nn 維列向量V0 ,用M 乘以V0 ,就得到了第一步之後上網者的概率分佈向量V1(n×n)×(n×1) 依然得到一個n×1 的矩陣。下面是V1 的計算過程:
這裏寫圖片描述

  注意矩陣MM[i][j] 不爲0 表示用一個鏈接從j 指向iM 的第一行乘以V0 ,表示累加所有網頁到網頁A 的概率即得到9/24 。得到了V1 後,再用M 乘以V1 得到V2 ,一直下去,最終V 會收斂,即Vn=M×Vn1 ,上面的圖示例,不斷的迭代,最終得到V=[3/9,2/9,2/9,2/9]
這裏寫圖片描述

2.2 終止點問題
  上述上網者的行爲是一個馬爾科夫過程的實例,要滿足收斂性,需要具備一個條件:

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

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

這裏寫圖片描述

對應的轉移矩陣爲:
這裏寫圖片描述

連續迭代下去,最終所有元素都爲0
這裏寫圖片描述

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

這裏寫圖片描述

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

不斷的迭代下去,就變成了這樣:
這裏寫圖片描述

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

V=αMV+(1α)e
其中,e=[1/n,1/n,...,1/n]
  現在我們來計算前文2.3節中帶陷阱的網頁圖的概率分佈:
這裏寫圖片描述

重複迭代下去,得到:
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章