無所不能的算法——PageRank算法

無所不能的算法——PageRank算法

概述

PageRank,即網頁排名,又稱網頁級別、Google左側排名或佩奇排名;是Google創始人拉里·佩奇和謝爾蓋·布林於1997年構建早期的搜索系統原型時提出的鏈接分析算法,自從Google在商業上獲得空前的成功後,該算法也成為其他搜索引擎和學術界十分關注的計算模型。目前很多重要的鏈接分析算法都是在PageRank算法基礎上衍生出來的。PageRank是Google用於用來標識網頁的等級/重要性的一種方法,是Google用來衡量一個網站的好壞的唯一標準。在揉合了諸如Title標識和Keywords標識等所有其它因素之後,Google通過PageRank來調整結果,使那些更具“等級/重要性”的網頁在搜索結果中另網站排名獲得提升,從而提高搜索結果的相關性和質量。其級別從0到10級,10級為滿分。PR值越高說明該網頁越受歡迎。例如:一個PR值為1的網站表明這個網站不太具有流行度,而PR值為7到10則表明這個網站非常受歡迎。一般PR值達到4,就算是一個不錯的網站了。Google把自己的網站的PR值定到10,這說明Google這個網站是非常受歡迎的,也可以說這個網站非常重要。

無所不能的算法——PageRank算法

算法原理

PageRank算法總的來說就是預先給每個網頁一個PR值(下面用PR值指代PageRank值),由於PR值物理意義上為一個網頁被訪問概率,所以一般是1/N,其中N為網頁總數。另外,一般情況下,所有網頁的PR值的總和為1。如果不為1的話也不是不行,最後算出來的不同網頁之間PR值的大小關係仍然是正確的,只是不能直接地反映概率;預先給定PR值後,通過下面的算法不斷迭代,直至達到平穩分佈為止。

無所不能的算法——PageRank算法

如果假設有一個隨機瀏覽網頁的人,假定他有一個確定的概率會輸入網址跳轉至一個隨機網站,則PR值可表示為:

無所不能的算法——PageRank算法

在一般情況下,一個網頁的PR值計算如下:

無所不能的算法——PageRank算法

其中Mpi是所有對pi網頁有出鏈的網頁集合,L(pj)是網頁pj的出鏈數目,N是網頁總數,α一般取0.85。

PageRank算法計算方法

  • 冪法計算
無所不能的算法——PageRank算法

  • 特徵值法
無所不能的算法——PageRank算法

  • 代數法
無所不能的算法——PageRank算法

PageRank算法優缺點

優點:pagerank算法通過網頁的鏈接來評價網頁的重要性,在一定程度上避免和減少了人為因素對排序結果的影響;採用與查詢無關的離線計算方式,使其具有較高的響應速度;一個網頁只能通過別的網頁對其引用來增加自身的PR值,且算法的均勻策略使得一個網頁的引用越多,被引用網頁所獲得的PR值就越少因此,算法可以有效避免那些為了提高網站的搜索排名而故意使用鏈接的行為。

缺點:算法在google搜索引擎的成功運用,說明其是高效、可行的。但由於完全基於鏈接分析,且鏈接信息相對靜態,沒有考慮網頁使用的動態信息,因此算法還存在一些缺陷,主要歸納為:

  • 主要漂移問題

PageRank算法僅利用網絡的鏈接結構,無法判斷網頁內容上的相似性;且算法根據向外鏈接平均分配權值使得主題不相關的網頁獲得與主題相關的網頁同樣的重視度,出現主題漂移。

  • 偏重舊網頁問題

決定網頁PR值的主要因素是指向它的鏈接個數的多少。一個含有重要價值的新網頁,可能因為鏈接數日的限制很難出現在搜索結果的前面,而不能獲得與實際價值相符的排名。算法並不一定能反映網頁的重要性,存在偏重舊網頁現象。

  • 忽視用戶個性化問題

PageRank算法在設計之初,沒有考慮用戶的個性化需要。個性化搜索引擎的興起,對PageRank排序算法提出新的挑戰。

無所不能的算法——PageRank算法


分享到:


相關文章: