Hits算法


Hits算法背景

假定現在有很多網頁,每個網頁會有一些鏈接指向其他網頁。

在Hits算法中每個網頁被賦予兩個值:hub和authority,記為\(h_i\)\(a_i\)

一個網頁實質性內容的質量越高,就說它的authority值越高;如果一個網頁中鏈接指向的網站質量越高,就說它的hub值越高。顯然一個authority值較高的網頁會被較多網頁所指向。

於是我們定義一個網頁的authority值為所有指向它的網頁的hub值之和,一個網頁的hub值為它所指向的網頁的authority值之和。Hits算法就是在給出網頁鏈接的情況下,通過迭代求出每個網頁的authority和hub值。

Hits算法流程

設網頁間的鄰接矩陣為\(M\),也就是\(M_{i,j}=1\)表示網頁\(i\)指向網頁\(j\)。一開始假定每個網頁的authority值和hub值均為1,然后進行迭代,

每次進行如下操作$$a_i=\sum_{k=1}^nM_{k,i}h_k$$

\[h_i=\sum_{k=1}^nM_{i,k}a_k \]

然后把\(a\)向量和\(h\)向量標准化。
可以設置一個迭代次數的上限或是當變化量小於某個閾值時結束,就得到了每個網站的authority值和hub值。

Hits算法證明

假定\(a^k,h^k\)為操作\(k\)次后的\(a,h\)向量,那么有$$a^k=M^Th^{k-1}$$

\[h^k=Ma^k \]

可以發現$$a^k=(M^TM)^ka^0$$

\[h^k=(MM^T)^kh^0 \]

顯然\(MM^T\)\(M^TM\)均為實對稱矩陣,又因為一個實對稱矩陣必有\(n\)個特征值,並且其特征向量兩兩正交,設\(MM^T\)特征值從大到小為\(c_1,\dots,c_n\),對應的特征向量為\(z_1,\dots,z_n\),因此\(h^0\)可由其特征向量線性表出,設為$$MM^T=q_1z_1+\dots+q_nz_n$$
那么$$(MM^T)^kh_0$$

\[=(MM^T)^k(q_1z_1+\dots+q_nz_n) \]

又因為\((MM^T)z_i=c_iz_i\),因此上式$$=q_1(c_1)^kz_1+\dots+q_n(c_n)^kz_n$$
又因為每次會對向量進行標准化,可以發現最終\(h^k\)向量會收斂到\(MM^T\)的主特征向量,同理\(a^k\)也會收斂,於是我們就證明了這個算法是會收斂的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM