谷歌背后的线性算法——PageRank笔记(一)

本文介绍了谷歌PageRank算法如何根据加权链接矩阵的特征向量对网页进行重要性排名。通过线性代数中的特征值和特征向量理论,解决网页排名的非唯一性和悬挂节点问题。通过修正链接矩阵,确保了唯一排名并处理了没有链接到其他网页的节点。
摘要由CSDN通过智能技术生成

一、引入

谷歌的成功,很大程度上取决于它的PageRank算法,这个算法是根据一个加权链接矩阵的特征向量,将网页按照重要性排名的。

谷歌的搜索引擎需要做三个基本的工作:

  1. 爬取网页,并定位所有有公共使用权的网页;
  2. 利用从第一步中获得数据做出索引,以便能够找到确切的关键字或语句;
  3. 在数据库中评估每个网页的重要性,以便使用者在查找信息时,能够获得想要的信息,并且更重要的网页可以排在前面;

下面将重点放在第三步上。

二、排名网页的公式

每个网页都有一个表示重要性的分数,这个分数是非负的实数。每个网页的分数取决于链接到这个网页的另一个网页,如下图所示,网页3链接到网页1,网页1链接到网页2,我们称网页3为网页1的反向链接,网页2为网页1的链接(网页之间的链接就像是民主投票,链接到哪个网页就相当于把票投给谁)。


我们用 x k x_k xk来表示网页 k k k的分数, x k x_k xk是非负的,并且 x j > x k x_j>x_k xj>xk表示网页 j j j比网页 k k k更重要。

如果网页 j j j链接到 n j n_j nj个网页,其中一个网页为 k k k,我们就利用 x j n j \frac{x_j}{n_j} njxj表示网页 j j j对网页 k k k的打分。对于 n n n个网页,我们让 L k ⊂ { 1 , 2 , ⋯   , n } L_k\subset\{1,2,\cdots,n\} Lk{ 1,2,,n}表示所有链接到网页 k k k的网页, L k L_k Lk为网页 k k k的反向链接,对于每一个 k k k我们有

x k = ∑ j ∈ L k x j n j x_k=\sum_{j\in{L_k}} \frac{x_j}{n_j} xk=jLknjxj

这里 n j n_j nj为从网页 j j j链接出的网页数。这里将不会计算链接到自己的网页。因为在网页的民主选举中,不能自己为自己投票。

我们用上图来举个例子。
x 1 = x 3 1 + x 4 2 x_1=\frac{x_3}{1}+\frac{x_4}{2} x1=1x3+2x4 x 2 = x 1 3 x_2=\frac{x_1}{3} x2=3x1 x 3 = x 1 3 + x 2 2 + x 4 2 x_3=\frac{x_1}{3}+\frac{x_2}{2}+\frac{x_4}{2} x3=3x1+2x2+

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值