pagerank 算法为什么 work?

pagerank 是 google 发明的算法,用以给网页排名。它用到了概率和线性代数,但其本质很容易理解:试想一个人漫无目的的浏览网页,TA 随机点击网页上的某个链接,来到新页面后,继续随机点击新页面上的某个链接,如此循环。

给 TA 足够多时间后,根据 TA 对每个网页的访问次数,对网页排名,即访问次数越多排名越高。

这个算法是通过对网页访问的次数来估测网页质量。神奇的是,这居然 works! 这也导致 google 在当年的搜索引擎竞争中胜出。直到今天,google 挣钱仍然主要靠这一招。

对这个算法的惊人有效,bro 总是觉得有点 unreasonable,因为:

1. 人们浏览网站 is far from 随机点击链接(但或许把人类行为累积起来,宏观看来是随机的?)

2. 这种算法似乎最后获得推荐的是最 popular 网站,而不是质量最好网站 -- 两者或许有交集,但是 two very different sets. 但看搜索结果,质量还是相当好的,难道这就是人类达成共识的最 popular pages? 那我对人类还恢复了一些信心。抑或结果很受 keywords 影响,即高质量 keywords => 高质量结果?

总之,pagerank 是个神奇的算法。它把 “网页质量” 这个虚无缥缈,似乎需要 general intelligence 才能破解的问题,转化成了一个用蛮力就能解决的问题。

@bymbrofeng微博