基于图的评级算法——HITS
2016-08-20 16:37
169 查看
基本思想
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))T用h表示所有中心分值的列向量,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)
为了让a 和h中的数值不至于太大,每次迭代之后,都对它们进行归一化处理,使得:
∑mi=1a(i)=1
∑mi=1h(i)=1
注意,选择不同a0和h0,最终可能会收敛到不同的向量。
与PageRank的不同
HITS不仅以略微不同的方式计算了图中节点的权威值,还多计算了一个中心值。除此之外,还有一点不同就是两个算法的假设输入。PageRank算法处理整个互联网中网页构成的图;而HITS算法处理的图是这样得来的:把用户的查询词提交给搜索引擎,搜集搜索引擎返回的排名靠前的t个网页,这t个网页构成根集W,然后再把指向W内网页和W内网页指向的网页加进来,得到一个更大的网页集合S,由S生成的图就是HITS的输入。
参考资料:
《Web数据挖掘》第2版,Bing Liu 著, 俞勇 译
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))T用h表示所有中心分值的列向量,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)
为了让a 和h中的数值不至于太大,每次迭代之后,都对它们进行归一化处理,使得:
∑mi=1a(i)=1
∑mi=1h(i)=1
注意,选择不同a0和h0,最终可能会收敛到不同的向量。
与PageRank的不同
HITS不仅以略微不同的方式计算了图中节点的权威值,还多计算了一个中心值。除此之外,还有一点不同就是两个算法的假设输入。PageRank算法处理整个互联网中网页构成的图;而HITS算法处理的图是这样得来的:把用户的查询词提交给搜索引擎,搜集搜索引擎返回的排名靠前的t个网页,这t个网页构成根集W,然后再把指向W内网页和W内网页指向的网页加进来,得到一个更大的网页集合S,由S生成的图就是HITS的输入。
参考资料:
《Web数据挖掘》第2版,Bing Liu 著, 俞勇 译
相关文章推荐
- 基于图的评级算法基础——马尔可夫链
- 基于图的评级算法——PageRank
- 基于关系数据库系统链式存储的树型结构数据,求某结点下的子树所有结点算法(t-sql语言实现)
- 基于组件的C#农历算法
- 一种基于直方图模式的运动目标实时跟踪算法
- 基于视觉的Web页面分页算法VIPS的实现源代码下载
- 基于时间片优先级排课算法描述与分析
- 基于临界灰度值和亚像素的“边缘寻找”算法
- 一种精确的基于DHT的p2p网络搜索算法与网络拓扑模型
- VIPS:基于视觉的页面分割算法[微软下一代搜索引擎核心分页算法]
- 基于临界灰度值和亚像素的“边缘寻找”算法
- 基于八叉树快速分类的Shear-Warp交互式体绘制算法
- 基于WGS和CBC测序策略的DNA序列拼接算法研究(四)
- 基于WGS和CBC测序策略的DNA序列拼接算法研究 转载zhanghu1228的专栏
- 基于STL的字符串最大长度匹配算法
- 基于WGS和CBC测序策略的DNA序列拼接算法研究(五)
- 基于组件的C#农历算法
- 基于WGS和CBC测序策略的DNA序列拼接算法研究(三)
- 基于Bresenahams的画直线算法(J2ME版)
- 基于java的InputStream.read(byte[] b,int off,int len)算法学习!