97 PageRank演算法學習

2021-08-09 09:31:12 字數 1292 閱讀 8939

最近由於.......你懂得,需要一些搜尋方面的知識,於是乎我重新複習了一下上半年讀的那本書《數學之美》dr吳軍老師寫的。

感覺讀完這種書還是寫一下比較好,因為將來說不定就會忘記了。

接下來幾篇就像寫一下搜尋演算法的各種原理了。

雖然在公司我們使用過solr,雖然使用solr之前也知道solr使用的是tf-idf值來建立的索引。但這只是龐大搜尋體系中的乙個小部分,

裡面的內容還是很多的。

下面廢話就不多說了,咱們開始講pagerank演算法的計算方法啦。

pagerank演算法的核心思想是:

在網際網路上,如果乙個網頁被很多其他網頁所鏈結,說明它收到普遍的承認和信賴,那麼它的排名就高。這就是pagerank的核心思想

是由谷歌的創始人   拉里佩奇  和  謝爾蓋布林  一起發明的。個人覺得就是天才啊

pagerank的計算方法:

假定向量b=(b1,b2,......,bn)t為第一,第二,第n個網頁的網頁排名。矩陣

為網頁之間連線的數目,其中amn代表第m個網頁指向第n個網頁的鏈結數。

a是已知的,b是未知的,是我們所要計算的。

假定bi是第i次迭代的結果,那麼

初始假設:所有網頁的排名都是1/n,即

顯然通過(10-3)簡單(但是計算量非常大)的矩陣運算,可以得到b1,b2.... 可以證明最終bi會收斂,即bi無限趨近於b,

此時:b=b*a

因此當兩次迭代的結果bi和bi-1之間的差異非常小,接近於0時,停止迭代運算,演算法結束。

一般來講,只要10次左右的迭代基本上就收斂了

由於網頁之間連線的數量相比網際網路的規模非常稀疏,因此計算網頁的排名也需要對0概率或者小概率事件進行平滑處理。

網頁的排名是乙個一維向量,對它的平滑處理只能利用乙個小的常熟α  這時公式變成如下:

其中n是網際網路網頁的數量

α  是乙個較小的常數。i是單位矩陣。

網頁排名的計算主要是矩陣相乘,這種計算很容易分解成許多小任務,在多台計算機上進行並行處理。就是mapreduce

97 PageRank演算法學習

最近由於.你懂得,需要一些搜尋方面的知識,於是乎我重新複習了一下上半年讀的那本書 數學之美 dr吳軍老師寫的。感覺讀完這種書還是寫一下比較好,因為將來說不定就會忘記了。接下來幾篇就像寫一下搜尋演算法的各種原理了。雖然在公司我們使用過solr,雖然使用solr之前也知道solr使用的是tf idf值來...

演算法學習 PageRank

pagerank是google創始人拉里 佩奇和謝爾蓋 布林提出的鏈結分析演算法。pagerank的核心思想是兩條 網頁搜尋時,就可以將搜尋結果通過pagerank值排序,過濾掉那些包含關鍵字但是價值低 被鏈結或引用少 的網頁,將pagerank值較高的網頁放在最前面返回,往往是使用者感興趣的結果。...

演算法學習 Union Find演算法

union find演算法有它的實際用途。多用於動態連通的應用場景。union find演算法是 給出兩個節點,判斷它們是否連通,如果連通,是不需要給出具體的路徑的 舉兩個例子作為主要表現 1 在網路連線中,當發現沒有連線的兩個節點,可以把他們連線起來,一旦節點都連線起來,又能把多餘的線拆除,這時候...