我特地把PageRank作为【十大经典数据挖掘算法】系列的收尾篇,是因为本人是Google脑残粉。因了PageRank而Google得以成立,因了Google而这个世界变得好了那么一点点。
1. 引言
PageRank是Sergey Brin与Larry Page于1998年在WWW7会议上提出来的,用来解决链接分析中网页排名的问题。在衡量一个网页的排名,直觉告诉我们:
- 当一个网页被更多网页所链接时,其排名会越靠前;
- 排名高的网页应具有更大的表决权,即当一个网页被排名高的网页所链接时,其重要性也应对应提高。
对于这两个直觉,PageRank算法所建立的模型非常简单:一个网页的排名等于所有链接到该网页的网页的加权排名之和:
![](https://i-blog.csdnimg.cn/blog_migrate/57fb68d31134593780e5c39ebeb66ec7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7c18364d3ff69e47cde5591f8e969ffe.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5dd6ad9677a32c1c974a5401b7307d2e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/40827a6398fcec6b551562eca003ceb9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1d353f4eb3430d1be8f5ab01444de2e6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/544508939ba782d1cc59ec2498bf3f15.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2b286d3a476809cb9642b1aecf297f14.png)
![](https://i-blog.csdnimg.cn/blog_migrate/65173110f4196daa5949a1233fd64ca6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5dd6ad9677a32c1c974a5401b7307d2e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9b316b45faf090ca0a633dbc25daf9da.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3e486976a29229dc6b73b8c1146d6384.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e21873855c0c52f0ad1e6f7872a4e462.png)
![](https://i-blog.csdnimg.cn/blog_migrate/57fb68d31134593780e5c39ebeb66ec7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7c18364d3ff69e47cde5591f8e969ffe.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2b286d3a476809cb9642b1aecf297f14.png)
![](https://i-blog.csdnimg.cn/blog_migrate/013ae5f3e874e22cb1d47bf2ce75e478.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2b286d3a476809cb9642b1aecf297f14.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9ea9a2d81b5b44bd195fe6c3dc5e24b4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e2918013f651930d37d12461f46ef48e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9ed0afb572bef457b579d4cf61879e9b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5946ac4ddf024c90425c78bbce6ceae4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/548af84237e736bec5c58d110f461c04.png)
![](https://i-blog.csdnimg.cn/blog_migrate/40827a6398fcec6b551562eca003ceb9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9ea9a2d81b5b44bd195fe6c3dc5e24b4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f29c90bee5ffe81dcbc3ea1e697e6747.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4705aa4ed4b67dc207476fabd1c4cc78.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6fda87503c3f76635bc1351ca5ee7c05.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9ed0afb572bef457b579d4cf61879e9b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9ea9a2d81b5b44bd195fe6c3dc5e24b4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d5f60136f8f36763c470eb72b9af67fd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4705aa4ed4b67dc207476fabd1c4cc78.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5946ac4ddf024c90425c78bbce6ceae4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9ed0afb572bef457b579d4cf61879e9b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d5f60136f8f36763c470eb72b9af67fd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5946ac4ddf024c90425c78bbce6ceae4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/013ae5f3e874e22cb1d47bf2ce75e478.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2b286d3a476809cb9642b1aecf297f14.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d5f60136f8f36763c470eb72b9af67fd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d5f60136f8f36763c470eb72b9af67fd.png)
的外链数( the number of out-links)。
假定
![](https://i-blog.csdnimg.cn/blog_migrate/94c8576b4bacc9c98e63c49444c05d73.png)
![](https://i-blog.csdnimg.cn/blog_migrate/548af84237e736bec5c58d110f461c04.png)
所对应的转移矩阵,
![](https://i-blog.csdnimg.cn/blog_migrate/94c8576b4bacc9c98e63c49444c05d73.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5dd6ad9677a32c1c974a5401b7307d2e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2b286d3a476809cb9642b1aecf297f14.png)
![](https://i-blog.csdnimg.cn/blog_migrate/40827a6398fcec6b551562eca003ceb9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4db60ffd9a05ea870e3776958ce1dd37.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5afff27d9a807ba051985c56928d4f50.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b6401a75e57538516745a842fc144fb7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8816b260299ccd3b333a1e84259a57ff.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9526014231cb300f9a18b572ec0a0cf5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5946ac4ddf024c90425c78bbce6ceae4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/329d43eb1e413fba21045bd9c755127f.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a76fadb349956192cc94502cd0364379.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9ea9a2d81b5b44bd195fe6c3dc5e24b4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5946ac4ddf024c90425c78bbce6ceae4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4705aa4ed4b67dc207476fabd1c4cc78.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d5f60136f8f36763c470eb72b9af67fd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9ed0afb572bef457b579d4cf61879e9b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c3838f8a515c30575ebccf6da0775b90.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6fda87503c3f76635bc1351ca5ee7c05.png)
![](https://i-blog.csdnimg.cn/blog_migrate/02f1969cdfc33d065bf472d117b5160a.png)
![](https://i-blog.csdnimg.cn/blog_migrate/df17f08a61522e75bb7b78c6cac59d5d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/cd368b6dc987cb4c2b6cc4028bee2ca8.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b0ac74f085ee06a14e57fc92d7717a71.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e9cebed62e32535ffe4be3f3c21f7ef5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1bf1b29f2cbe7158ef1bbfcdf0d6bb10.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5946ac4ddf024c90425c78bbce6ceae4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/20b8f7fe76a652aa611d756382773389.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b0ac74f085ee06a14e57fc92d7717a71.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9ea9a2d81b5b44bd195fe6c3dc5e24b4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e2918013f651930d37d12461f46ef48e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9ed0afb572bef457b579d4cf61879e9b.png)
可改写为矩阵相乘:
![](https://i-blog.csdnimg.cn/blog_migrate/57fb68d31134593780e5c39ebeb66ec7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/40827a6398fcec6b551562eca003ceb9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/94c8576b4bacc9c98e63c49444c05d73.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a8248ab6f0e1b6e1415ca1823efb7fbd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/57fb68d31134593780e5c39ebeb66ec7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9ea9a2d81b5b44bd195fe6c3dc5e24b4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/14dfee35b05e4e5a4f35539d54abc9a9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9ed0afb572bef457b579d4cf61879e9b.png)
但是,为了获得某个网页的排名,而需要知道其他网页的排名,这不就等同于“是先有鸡还是先有蛋”的问题了么?幸运的是,PageRank采用power iteration方法破解了这个问题怪圈。欲知详情,请看下节分解。
2. 求解
为了对上述及以下求解过程有个直观的了解,我们先来看一个例子,网页链接关系图如下图所示:
那么,矩阵
即为
所谓power iteration,是指先给定一个
![](https://i-blog.csdnimg.cn/blog_migrate/57fb68d31134593780e5c39ebeb66ec7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/ad747e7f399d6ac91fabb49da56e63ed.png)
,然后通过多轮迭代求解:
![](https://i-blog.csdnimg.cn/blog_migrate/57fb68d31134593780e5c39ebeb66ec7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9f56581a9a5046f5b91412b0d2521481.png)
![](https://i-blog.csdnimg.cn/blog_migrate/40827a6398fcec6b551562eca003ceb9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/94c8576b4bacc9c98e63c49444c05d73.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a8248ab6f0e1b6e1415ca1823efb7fbd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/57fb68d31134593780e5c39ebeb66ec7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9f56581a9a5046f5b91412b0d2521481.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0d148ab3aa96ade2103826300c28c7b5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5afff27d9a807ba051985c56928d4f50.png)
最后收敛于
![](https://i-blog.csdnimg.cn/blog_migrate/9ea9a2d81b5b44bd195fe6c3dc5e24b4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/14dfee35b05e4e5a4f35539d54abc9a9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9ed0afb572bef457b579d4cf61879e9b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/57fb68d31134593780e5c39ebeb66ec7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e2918013f651930d37d12461f46ef48e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9ea9a2d81b5b44bd195fe6c3dc5e24b4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/14dfee35b05e4e5a4f35539d54abc9a9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9ed0afb572bef457b579d4cf61879e9b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/94c8576b4bacc9c98e63c49444c05d73.png)
应满足如下三个性质:
- stochastic matrix,则行至少存在一个非零值,即必须存在一个外链接(没有外链接的网页被称为dangling pages);
- 不可约(irreducible),即矩阵
![](https://i-blog.csdnimg.cn/blog_migrate/548af84237e736bec5c58d110f461c04.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5310f65908e6c49467a33bdb3815c626.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4705aa4ed4b67dc207476fabd1c4cc78.png)
![](https://i-blog.csdnimg.cn/blog_migrate/eca0441909c07d966b37af84a32cdae2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c3838f8a515c30575ebccf6da0775b90.png)
![](https://i-blog.csdnimg.cn/blog_migrate/f29c90bee5ffe81dcbc3ea1e697e6747.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5310f65908e6c49467a33bdb3815c626.png)
![](https://i-blog.csdnimg.cn/blog_migrate/eca0441909c07d966b37af84a32cdae2.png)
- 的路径;
- 非周期性(aperiodic),即每个节点存在自回路。
显然,一般情况下矩阵
![](https://i-blog.csdnimg.cn/blog_migrate/aa67d2fa1e821da5abac29dcb76af2c3.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8a844c0da58a6dca22d09d0d37b227da.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c092d008f8086733dc7fd9d30f9131f9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b0ac74f085ee06a14e57fc92d7717a71.png)
为单位向量;同时为了满足性质不可约、非周期,需要做平滑处理:
![](https://i-blog.csdnimg.cn/blog_migrate/57fb68d31134593780e5c39ebeb66ec7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/40827a6398fcec6b551562eca003ceb9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5d1363986c55c00eb14f12bef8c251c5.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9ea9a2d81b5b44bd195fe6c3dc5e24b4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e2918013f651930d37d12461f46ef48e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3b6f9759a7abbac935c652e71dc068f2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9b6e509147a31872b96d8c47eea9211d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9ed0afb572bef457b579d4cf61879e9b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9dfd67b3f65f4d7ed3f30f6b8a58340e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c092d008f8086733dc7fd9d30f9131f9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6f76ad74e4e3523c5effb945aaa077a6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9b6e509147a31872b96d8c47eea9211d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/94c8576b4bacc9c98e63c49444c05d73.png)
![](https://i-blog.csdnimg.cn/blog_migrate/a8248ab6f0e1b6e1415ca1823efb7fbd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/511d31859d73dac4f8673e35921d4917.png)
其中,
![](https://i-blog.csdnimg.cn/blog_migrate/6fda87503c3f76635bc1351ca5ee7c05.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9ea9a2d81b5b44bd195fe6c3dc5e24b4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e2918013f651930d37d12461f46ef48e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9ed0afb572bef457b579d4cf61879e9b.png)
被改写为
![](https://i-blog.csdnimg.cn/blog_migrate/57fb68d31134593780e5c39ebeb66ec7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7c18364d3ff69e47cde5591f8e969ffe.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5dd6ad9677a32c1c974a5401b7307d2e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/40827a6398fcec6b551562eca003ceb9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9ea9a2d81b5b44bd195fe6c3dc5e24b4.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e2918013f651930d37d12461f46ef48e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3b6f9759a7abbac935c652e71dc068f2.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9b6e509147a31872b96d8c47eea9211d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9ed0afb572bef457b579d4cf61879e9b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6f76ad74e4e3523c5effb945aaa077a6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9b6e509147a31872b96d8c47eea9211d.png)
![](https://i-blog.csdnimg.cn/blog_migrate/1d353f4eb3430d1be8f5ab01444de2e6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/544508939ba782d1cc59ec2498bf3f15.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2b286d3a476809cb9642b1aecf297f14.png)
![](https://i-blog.csdnimg.cn/blog_migrate/65173110f4196daa5949a1233fd64ca6.png)
![](https://i-blog.csdnimg.cn/blog_migrate/5dd6ad9677a32c1c974a5401b7307d2e.png)
![](https://i-blog.csdnimg.cn/blog_migrate/9b316b45faf090ca0a633dbc25daf9da.png)
![](https://i-blog.csdnimg.cn/blog_migrate/3e486976a29229dc6b73b8c1146d6384.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e21873855c0c52f0ad1e6f7872a4e462.png)
![](https://i-blog.csdnimg.cn/blog_migrate/57fb68d31134593780e5c39ebeb66ec7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/7c18364d3ff69e47cde5591f8e969ffe.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2b286d3a476809cb9642b1aecf297f14.png)
![](https://i-blog.csdnimg.cn/blog_migrate/013ae5f3e874e22cb1d47bf2ce75e478.png)
![](https://i-blog.csdnimg.cn/blog_migrate/2b286d3a476809cb9642b1aecf297f14.png)
3. 参考资料
[1] Bing Liu and Philip S. Yu, "The Top Ten Algorithms in Data Mining" Chapter 6.