理解 PageRank 算法
前言
眾所周知,Google 最令人佩服的就是他的搜尋引擎,而要知道,要做到一個良好的搜尋引擎,當然希望能對網頁進行相關性,重要性等等的排名。講到這就不得不提到本篇的主角 PageRank 算法。PageRank 算法就是對網頁進行排名的算法,是由 Google 的創始人,CEO Larry Page 發明的。接下來就來理解 PageRank 的基本原理。
正文
PageRank 思想
PageRank 中的 page 可以理解為網頁。這個算法的思想就是假設有一個隨意的用戶,打開瀏覽器後,隨便選擇一個網頁。然後看看這個網頁以後,跳到其中一個由這個網頁指向的下一個網頁,一直繼續下去。PageRank 想要做的就是估計所有網頁中任一被這個用戶瀏覽到的概率,所謂排名的體現在於,越容易被訪問到的網頁就被認為是相對重要,排名比較高的網頁。
PageRank 機制
我們把網絡看做是一個有向圖,一個個網頁就看作圖上的個個頂點。如果網頁 A 有鏈接到網頁 B,那就有一條邊由 A 指向 B。且看下圖:
這個例子有 4 個網頁 A,B,C,D。假設用戶位於網頁 A,那麼就各有 1/3 的概率下個網頁會跳到 B,C,D。PageRank 算法的前提假設是對於任意點(網頁),如果有 k 條出邊,則跳轉至任意一個出邊的概率就是 1/k。
使用 PageRank 算法時我們用矩陣來表示。如果圖