1. 程式人生 > >基於圖的評級演算法——HITS

基於圖的評級演算法——HITS

基本思想
HITS是Hypertext Induced Topic Search的縮寫,它不僅給圖中節點打上權威性(也就是PageRank演算法中的重要性)分值,也打上中心性分值。中心性分值由該節點指向的節點決定,包括該節點指向了多少節點以及這些節點的重要性;權威性分值由指向該節點的節點決定,包括節點的數量以及這些節點的中心性。中心性的基本思想是這樣的,如果一個人能向你推薦很多重要的人,這個人就很重要,這就是所謂的包打聽,這個重要性就是這裡的中心性。再舉箇中心性的例子,我想入門深度學習,然後找到了一篇文章,文章列舉了入門、初級、中級以及高階時應該看哪些深度學習的資料,雖然這篇文章本身沒有講深度學習是什麼,但是我依舊覺得它很重要。權威性的基本思想是這樣的,如果一個人被很多重要的人推薦,那麼這個人就很重要,這裡的很重要的推薦者和PageRank中的有所不同,具體點說就是,如果你被那些很牛的包打聽收集,你就很重要,就像進入了名人堂似的。
公式推導


有個有m個頂點的圖,表示為G=(V,E),其中V是頂點集,E是邊集,用L表示圖的臨界矩陣,則有:

Lij={1,0,<i,j>E
網頁i的權威值用a(i)表示,中心值用h(i)表示,求得兩個值得公式如下:
a(i)=<j,i>Eh(j)
h(i)=<i,j>Ea(i)
a表示所有權威值的列向量,a=(a(1), a(2),…,a(m))Th表示所有中心分值的列向量,h=(h(1), h(2),…,h(m))T,於是有
a=LTh
h=L a
計算權威值和中心值與計算PageRank演算法的重要性類似,需要迭代計算:
ak
=LT L ak-1
hk=L LT ak-1
其中,a0=h0=(1, 1, … ,1)
為了讓ah中的數值不至於太大,每次迭代之後,都對它們進行歸一化處理,使得:
mi=1a(i)=1
mi=1h(i)=1
注意,選擇不同a0h0,最終可能會收斂到不同的向量。
與PageRank的不同
HITS不僅以略微不同的方式計算了圖中節點的權威值,還多計算了一箇中心值。除此之外,還有一點不同就是兩個演算法的假設輸入。PageRank演算法處理整個網際網路中網頁構成的圖;而HITS演算法處理的圖是這樣得來的:把使用者的查詢詞提交給搜尋引擎,蒐集搜尋引擎返回的排名靠前的t個網頁,這t個網頁構成根集W,然後再把指向W內網頁和W內網頁指向的網頁加進來,得到一個更大的網頁集合S,由S生成的圖就是HITS的輸入。
參考資料:
《Web資料探勘》第2版,Bing Liu 著, 俞勇 譯