Python简单实现PageRank计算

PageRank,又称网页排名、谷歌左侧排名,是一种由搜索引擎根据网页之间相互的超链接计算的技术,而作为网页排名的要素之一。对于搜索引擎,确定网页的重要性进而排序是至关重要的,其价值就是能否给用户提供无偏见的搜索结果。

PageRank与图论的关系密不可分:

Python简单实现PageRank计算_第1张图片

如何确定一个网页的重要性呢?我们可以把网页间的关系用有向图表示出来,在通过图抽象化为矩阵,进而转变为数学问题。这个图抽象化为矩阵理解为:图中元素的个数为n,矩阵就为一个维度为n的方阵,行列与n个元素一一对应,若第i个元素共指向m个元素,第j个元素为其一,则在图中便是ni列下的nj行这个坐标点值为1/m,这一列中未被指向的默认为0。如此构建出一个超链矩阵,克服超链矩阵的悬挂点问题后可为随机矩阵。再通过公式Python简单实现PageRank计算_第2张图片

得到谷歌矩阵(转移矩阵)。(a为社交网络阻尼系数)

其后,要通过幂法来计算出谷歌矩阵的特征值和特征向量,而求的特征向量又被成为平稳向量,可以反映出各个网页的重要性。

Python简单实现PageRank计算_第3张图片

 

幂法:幂法是计算矩阵的按模最大的特征值和相应特征向量的一种向量迭代法,与计算机非常契合。关于幂法的大概过程:

Python简单实现PageRank计算_第4张图片

Python简单实现PageRank计算_第5张图片

实验作业:python实现

Python简单实现PageRank计算_第6张图片

 Python简单实现PageRank计算_第7张图片

 Python简单实现PageRank计算_第8张图片

 作为小白可能整理有错误,希望各位不吝指教!

你可能感兴趣的:(python小白,搜索引擎,python)