数据仓库与数据挖掘——PageRank

一、基本介绍

        PageRank算法的基本想法是在有向图上定义一个随机游走模型,即一阶马尔可夫链,描述随机游走者沿着有向图随机访问各个结点的行为。在一定条件下,极限情况访问每个结点的概率收敛到平稳分布,各结点的平稳概率值就是其PageRank值,表示结点的重要度。

        PageRank是递归定义的,PageRank的计算可以通过迭代算法进行。

二、实验内容    

        PageRank算法的核心部分可以从一个有向图开始。最典型的方法是根据有向图构造邻接矩阵来进行处理。邻接矩阵A=(a[i,j])中的元素a[i,j] (∈[0,1])表示从页面j指向页面i的概率。

        基本的PageRank算法在计算等级值时,每个页面都将自己的等级值平均地分配给其引用的页面节点。假设页面的等级值为1,该页面上共有n个超链接,分配给每个超链接页面的等级值就是1/n,那么就可以理解为该页面以1/n的概率跳转到任意一个其所引用的页面上。

        一般地,把邻接矩阵A转换成所谓的转移概率矩阵M来实现PageRank算法:

M=(1-d)*Q+d*A

        其中,Q是一个常量矩阵,最常用的是Q=(q[i,j]),q[i,j]=1/n

​        转移概率矩阵M可以作为一个向量变换矩阵来帮助完成页面等级值向量R的迭代计算:

R[i+1]=M*R[i]

       页面之间的超链接分析通常基于以下假设:

       1)若页面A上存在指向页面B的超链接,就认为页面A对页面B进行了一次参考引用;

       2)一个页面被越多的其他页面指向,越能说明这个页面等级越高;

       3)每个页面都有一个衡量其重要性的参数值(等级值),并且会将这一参数值平均地分配给它指向的全部页面。

三、算法伪代码

数据仓库与数据挖掘——PageRank_第1张图片

四、算法流程图

数据仓库与数据挖掘——PageRank_第2张图片

五、关键源码展示

1、导入数据

数据仓库与数据挖掘——PageRank_第3张图片

2、计算移转概率矩阵

数据仓库与数据挖掘——PageRank_第4张图片 3、计算页面等级值向量

数据仓库与数据挖掘——PageRank_第5张图片

4、输出页面等级值向量

数据仓库与数据挖掘——PageRank_第6张图片

你可能感兴趣的:(算法,数据仓库,数据挖掘,人工智能)