我曾经发表过一篇文章大概说明了网页链接权重算法:
今天我浏览了2,3篇算法文章,发现网页链接权重算法实际上包含了多种思想,而且我在上面文章中提到的快捷算法实际上并不是普遍试用的。
网页链接算法的出发点在于,如果仅仅通过点击量去判断一个网页的重要程度,会受到诸如机器人等各种干扰,浪费人力物力。所以假设了这样一种情景:
首先设一个包含所有搜索结果的集合X{......},且下面的所有网页都在该集合中。
如果一个用户来到了网页A,而且网页A中包含网页B,C的链接,那么认为A的重要程度应该不小于B,C。既越重要的网页包含的相关链接越多。那么客户在网页A中可能随机的访问网页B,C,且访问的概率服从均匀分布。也就是用户会随机的前往B,C网页。
假设用户来到了B网页,而后B网页包含A,D的链接,那么用户访问A,D的概率再次服从均匀分布。
依次类推....
如我在前面链接中的情景,A有网页B,C的链接,B有C的链接,C有A的链接。
我们共有30个用户,这30个用户开始分别平均在网页A,B,C上,既A,B,C各有10个用户。
然后这10个用户开始随机的进入自己网页上的链接。
这样在无限多次运算后,A,C上面会各有12个用户,B上面有6个用户,这,就是它们的权重。
这个过程实际是一个随机漫步过程,形成一个马尔科夫链:
马尔科夫链中用到的条件概率公式,
隐含有这样的条件,既某一状态的下一状态仅仅与当前状态有关,这个实际上也是动态规划的条件。
可以用矩阵和极限求得算法的一般公式:
根据假设条件我们有矩阵A
0 0 1
.5 0 0
.5 1 0
该矩阵表示初始的转移概率,第一列表示网页A有百分之五十转移到网页B,C。网页B有百分之百转移到网页C,网页C有百分之百转移到网页A。
且有矩阵R
0.333
0.333
0.333
该矩阵表示初始的用户分配概率,既平均分配。
这两个矩阵做乘法即可得到第一次用户转移后,各个页面的用户分布概率,设结果矩阵为R1,R1为
0.33
0.16
0.49
那么A 乘 R1 即可表示再次转移后用户分布的概率。
这样做无限次矩阵乘法(求极限),即可得到一个稳定的概率矩阵,表示各个页面的权重。因为我们假设用户量访问是足够多的,而它们的访问结果使权重趋于稳定。
但是当某个页面没有指向别的页面的链接时,上面算法的结果(极限)不存在(这个页面将吸收所有的用户,因为没有用户从这里离开)。针对这种情形,解决方法是认为用户在这个页面不会停留,会随机走向下一个页面,也就是认为这个页面上有一个指向某随机页面的链接。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26899445/viewspace-760927/
,如需转载,请注明出处,否则将追究法律责任。