Graph Review
- Overall
- Page Rank
- Spam Farm
- Brandes’ Algorithm
- Spectral Clustering
- Infuence Maxization- Independent cascade model
Overall
Page Rank
对于某个互联网网页A来说,该网页PageRank的计算基于以下两个基本假设:
-
边(Link)数量假设:在Web图模型中,如果一个页面节点接收到的其他网页指向的入链数量越多,那么这个页面越重要。
-
权重(Wight)质量假设:指向页面A的入链质量不同,质量高的页面会通过链接向其他页面传递更多的权重。所以越是质量高的页面指向页面A,则页面A越重要。
基于以上两个假设,PageRank算法刚开始赋予每个网页相同的重要性得分(权重),通过迭代递归计算来更新每个页面节点的PageRank得分,直到得分稳定为止。PageRank计算得出的结果是网页的重要性评价,这和用户输入的查询是没有任何关系的,即算法是主题无关的。
由于一些节点存在出链为0,也就是那些不链接任何其他网页的网,也称为孤立网页,使得下一条可能会是任意网
站,很多网页能被访问到。因此需要对PageRank公式进行修正,即在简单公式的基础上增加了阻尼系数(dampingfactor)q。其意义是,在任意时刻,用户到达某页面后并继续向后浏览的概率。1−q就是用户停止点击,随机跳到新URL的概率。最后,即所有这些被换算为一个百分比再乘上一个系数q。由于下面的算法,没有页面的PageRank会是0。所以,Google通过数学系统给了每个页面一个最小值。
Google不断的重复计算每个页面的PageRank。如果给每个页面一个随机PageRank值(非0),那么经过不断的重复计算,这些页面的PR值会趋向于正常和稳定。这就是其适合于搜索引擎算法的原因。
Spam Farm
Dead Ends(不存在外链): PageRank算法之所以能成功收敛到非零值,很大程度依赖转移矩阵这样一个性质:每列的加和为1。而在这个图中,M第四列将全为0。在没有Dead Ends的情况下,每次迭代后向量v各项的和始终保持为1,而有了Dead Ends,迭代结果将最终归零处理Dead Ends的方法如下:迭代拿掉图中的Dead Ends节点及Dead Ends节点相关的边(之所以迭代拿掉是因为当目前的Dead Ends被拿掉后,可能会出现一批新的Dead Ends),直到图中没有Dead Ends。对剩下部分计算rank,然后以拿掉Dead Ends逆向顺序反推Dead Ends的rank。
Spider Traps及平滑处理:可以预见,如果把真实的Web组织成转移矩阵,那么这将是一个极为稀疏的矩阵,从矩阵论知识可以推断,极度稀疏的转移矩阵迭代相乘可能会使得向量v变得非常不平滑,即一些节点拥有很大的rank,而大多数节点rank值接近0。而一种叫做Spider Traps节点的存在加剧了这种不平滑。Spider Trap(只链向自己),如果对这个图进行计算,会发现D的rank越来越大趋近于1,而其它节点rank值几乎归零。为了克服这种由于矩阵稀疏性和Spider Traps带来的问题,需要对PageRank计算方法进行一个平滑处理,具体做法是加入teleport。teleport ,就是我们认为在任何一个页面浏览的用户都有可能以一个极小的概率瞬间转移到另外一个随机页面。当然,这两个页面可能不存在超链接,因此不可能真的直接转移过去,心灵转移只是为了算法需要而强加的一种纯数学意义的概率数字。
Target的总rank为y:
1、可达页的rank贡献,设为x。
2、teleport的贡献,为β/n。其中n为全部网页的数量,β为转移参数。
Brandes’ Algorithm
下一层=上一层连接节点之和
Node= 1+边
边= Node * (node/sum of leaf node)
Spectral Clustering
最常用的相似矩阵的生成方式是基于高斯核距离的全连接方式,最常用的切图方式是Ncut。而到最后常用的聚类方法为K-Means。下面以Ncut总结谱聚类算法流程。
输入:样本集D=(x1,x2,…,xn),相似矩阵的生成方式, 降维后的维度k1, 聚类方法,聚类后的维度k2输出:cluster划分C(c1,c2,…ck2)
(1) 根据输入的相似矩阵的生成方式构建样本的相似矩阵S
(2)根据相似矩阵S构建邻接矩阵W,构建度矩阵D
(3)计算出拉普拉斯矩阵L
(4)构建标准化后的拉普拉斯
(5)计算最小的k1个特征值所各自对应的特征向量f
(6) 将各自对应的特征向量f组成的矩阵按行标准化,最终组成n×k1维的特征矩阵F
(7)对F中的每一行作为一个k1维的样本,共n个样本,用输入的聚类方法进行聚类,聚类维数为k2。
(8)得到簇划分C(c1,c2,…ck2)
行列式计算公式:Aij=(-1)i+j*Mij
Infuence Maxization- Independent cascade model
该模型的基本假设是节点u试图激活其邻接节点v 的行为能否成功是一个概率为p(u,v)的事件。且一个处于非活跃状态的节点被刚进入活跃状态的邻居节点激活的概率独立于之前曾尝试过激活该节点的邻居的活动。
此外该模型还做出了这样的假设:网络中任意的节点u只有一次机会尝试激活其邻居节点v,无论能否成功,在以后的时刻中,u 本身虽然仍保持活跃状态,但它已经不再具备影响力,这一类节点称为无影响力的活跃节点。
Algorithm Steps:
1.初始的活跃节点集合A。
2.在t 时刻,新近被激活的节点u 对它的邻接节点v 产生影响,成功的概率为p(u,v)。若v有多个邻居节点都是新近被激活的节点,那么这些节点将以任意顺序尝试激活节点v。
3.如果节点v 被激活成功,那么在t+1 时刻,节点v 转为活跃状态,将对其邻接非活跃节点产生影响;否则,节点v 在t+1 时刻状态不发生变化。
4.该过程不断进行重复,直到网络中不存在有影响力的活跃节点时,传播过程结束。