2 PageRank—cs224w

1. 什麼是PageRank

在很久很久以前,點擊谷歌搜索之後,每個網址的排名就是根據pagerank進行計算的。所以,pagerank其實是一種網頁排名。本質上是一種以網頁之間的超鏈接個數和質量作爲主要因素粗略地分析網頁的重要性的算法。其基本假設是:更重要的頁面往往更多地被其他頁面引用(或稱其他頁面中會更多地加入通向該頁面的超鏈接)[1]。 其將從A頁面到B頁面的鏈接解釋爲“A頁面給B頁面投票”,並根據投票來源(甚至來源的來源,即鏈接到A頁面的頁面)和投票對象的等級來決定被投票頁面的等級。簡單的說,一個高等級的頁面可以提升其他低等級的頁面。

該算法可以應用於任何含有元素之間相互引用的情況的集合實體。我們將其中任意元素E的權重數值稱爲E的PageRank(The PageRank of E),用符號表示爲PR(E)PR(E)。其他的因素,類似“作者排名(Author Rank)”同樣可以影響到該元素的權重值。

PageRank其實就是網頁之間瀏覽的情況說明,如下圖所示,假設有4個網頁,1,2,3,4。這些網頁之間的鏈接關係如下圖所示。
在這裏插入圖片描述

2. PageRank的數學原理

PageRank的結果來源於一種基於圖論的數學算法。它將萬維網上所有的網頁視作節點(node),而將超鏈接視作邊(edge),並且考慮到了一些權威的網站,類似CNN。每個節點的權重值表示對應的頁面的重要度。通向該網頁的超鏈接稱做“對該網頁的投票(a vote of support)”。每個網頁的權重值大小被遞歸地定義,依託於所有鏈接該頁面的頁面的權重值。例如,一個被很多頁面的鏈接的頁面將會擁有較高的權重值(high PageRank)。
在這裏插入圖片描述

那麼,可以寫成矩陣的形式。
在這裏插入圖片描述
那麼,注意Ax=xAx=x的方程,等價與把整個網絡架構都用一個A 來表示。只要找到特徵值爲1的特徵向量,那麼,解出來的特徵向量就是PageRank的數值,根據PageRank對網頁進行排序。

爲什麼矩陣A 一定能夠找到λ=1\lambda=1的解。
這個這個PageRank的結果一定是唯一的

在這裏插入圖片描述

但是在下面的情況,是不唯一的
在這裏插入圖片描述

3. 工程中的PageRank

爲了避免上述情況,PageRank真正使用的是這個:

隨機瀏覽者(random surfer)的概念,即假設某人在瀏覽器中隨機打開某些頁面並點擊了某些鏈接。爲了便於理解,這裏假設上網者不斷點擊網頁上的鏈接直到進入一個沒有外部鏈接的網頁,此時他會隨機瀏覽其他的網頁(可以與之前的網頁無關)。

爲了處理那些“沒有外部鏈接的頁面”(這些頁面就像“黑洞”一樣吞噬掉用戶繼續向下瀏覽的概率)所帶來的問題,我們假設:這類頁面鏈接到集合中所有的網頁(不管它們是否相關),使得這類網頁的PR值將被所有網頁均分。對於這種殘差概率(residual probability),我們引入阻尼係數 m=0.15m=0.15,其意義是:任意時刻,用戶訪問到某頁面後繼續訪問下一個頁面的概率,相對應的 1m=0.851-m=0.85 則是用戶停止點擊,隨機瀏覽新網頁的概率。mm的大小由一般上網者使用瀏覽器書籤功能的頻率的平均值估算得到。
在這裏插入圖片描述

每個人在瀏覽網頁時有兩個模型,一個是順着頁面中的鏈接查看用矩陣AA,第二是可以隨機跳轉某一個網頁,該部分用SS表示。
在這裏插入圖片描述
同樣的,針對上述公式,則有找Mx=xMx=x的解。

MM非常大的時候,解MM需要用到power method方法:
隨機找一個vector記爲x0x_0,只要他們的和爲1,那麼,進行一下操作:
在這裏插入圖片描述當k趨近於無窮大時,就很接近那個特徵向量了。

4. 參考文獻

  • 李弘毅-線性代數
  • 維基百科
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章