您的位置:首页 > 其它

HITS算法详解

2018-03-20 01:58 106 查看
实例

如下有三个网页A,B,C及其链接关系:



构造邻接矩阵(Adjacent Matrix):

A=⎡⎣⎢110100110⎤⎦⎥A=[111101000]

每个节点都有一个Hub分数和Authority分数,所以有一个Hub向量hh和Authority向量aa,向量的每个元素都初始化为1n√1n,其中nn为节点数:

h0=⎡⎣⎢⎢⎢13√13√13√⎤⎦⎥⎥⎥,a0=⎡⎣⎢⎢⎢13√13√13√⎤⎦⎥⎥⎥h0=[131313],a0=[131313]

按如下方式交替更新hh和aa的值:

h1a2=Aa0=ATh1(41)(41)h1=Aa0a2=ATh1

过程如下,直到任一向量不再变化(收敛):



需要注意的是每一步都需要对得到的向量进行归一化:

f(v)=⎡⎣⎢⎢⎢⎢⎢⎢⎢v1n√v2n√⋮vnn√⎤⎦⎥⎥⎥⎥⎥⎥⎥f(v)=[v1nv2n⋮vnn]

Python代码

分析

考虑两步,则:

a2=AT(Aa0)=(ATA)a0a2=AT(Aa0)=(ATA)a0

h3=A(ATh1)=(AAT)h1h3=A(ATh1)=(AAT)h1

所以最终得到的h∗h∗是AATAAT的主特征向量,a∗a∗是ATAATA的主特征向量。主特征向量也就是最大的特征值对应的那个特征向量。

References

Hubs and Authorities
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  HITS算法 协同排序