Newtank

个人站

欢迎来到我的个人站~


链接分析

目录

很多时候我们面对的是十分“稀疏”的数据——图数据。

图数据处理在网页权重排序、社交检测、灌水检测等方面发挥重要作用。

新型数据——图数据

图数据在各种地方存在。例如社交网络(著名的六度分割理论,在Facebook社交图谱上只需四度多)、媒体网络(政治博客的关联)、信息网络(科技领域的交错关联、网络拓扑)、技术网络(七桥问题)。

将Web表示为图

Web表示为有向图:

  • 节点:网页
  • 边:超链接

网页组织与检索

方式一:网页索引(人工编辑)

Yahoo、DMOZ、LookSmart等早期网页的方法,效率低

方式二:Web搜索

问题:网络充满了不可信、过时和随机的东西

网页搜索的挑战

  • 网络中存在多个来源的数据,如何判断可信度?

    可信的页面彼此相互引用和链接

  • 查询“数据”的最佳回答是什么?

    实际关于“数据”的页面往往指向很多“数据”

结果:所有网页的重要性不是平等的,可用通过链接结构对页面进行排序。

链接分析方法

Page Rank

Idea:链接投票

  • 页面拥有的入链越多越重要
  • 来自重要的链接占最大权重

对于以下图:

可以计算跳转概率矩阵

$M_{ij}$表示从页面$J$跳转到界面$I$的概率

原始rank:

相乘得到第一次的权重更新:

在一次迭代后,转移矩阵不变,用更新后的权重继续与其相乘,直至达到收敛条件。

一些特殊情况:

Dead end:

在这种情况中,D为Dead end,A、B、C的权重会在迭代中完全流至D。

处理方法:把D移除,此时C也成为了Dead end,也要去除。

Spider Traps:

在这种情况中,D的出链不为0,但A、B、C的权重也会全部流向D。

解决方法:修改初始的M,令$M=\beta M+(1-\beta )\frac{ee^T}{n}$,$1-\beta$为随机打开其他网页的概率

Page Rank算法中每次迭代中,页面$j$的rank $r_j$: \(r_j = \sum_{i → j}\frac{r_i}{d_i}\) $d_i$为节点i的出度。

求解的流等式为:$r=M · r$,可见$r$为$M$的一个特征向量,且1为$M$的主特征值,此时可以通过Power Iteration算法求解$r$。

Power Iteration算法:

  • 初始:$r^{0}=[1/N,…,1/N]^T$

  • 迭代:$r^{t+1}=M·r^t$

  • 终止:$\mid r^{t+1}-r^t\mid_{1}<\varepsilon$

    其中$\mid r \mid$为$r$的$L1$正则化(由于$\sum r_i$总和始终为1,所以不变)

算法的正确性证明是较为简单的线性代数问题,读者可自行证明。