《统计学习方法》 第二十一章 PageRank算法
创始人
2024-02-25 03:51:04

PageRank算法


PageRank是互联网网页重要度的计算方法

可以定义推广到任意有向图结点的重要度计算上其基本思想是在有向图上定义随机游走模型

即一阶马尔可夫链,描述游走者沿着有向图随机访问各个结点的行为

在一定条件下,极限情况访问每个结点的概率收敛到平稳分布

这时各个结点的概率值就是其 PageRank值,表示结点相对重要度


有向图上可以定义随机游走模型,即一阶马尔可夫链,其中结点表示状态

有向边表示状态之间的转移

假设一个结点到连接出的所有结点的转移概率相等转移概率由转移矩阵MMM表示

M=[mij]n×nM = [ m _ { i j } ] _ { n \times n }M=[mij​]n×n​

第iii行第jjj列的元素mijm _ { i j }mij​表示从结点jjj跳转到结点iii的概率


当含有nnn个结点的有向图是强连通且非周期性的有向图时,在其基础上定义的随机游走模型,即一阶马尔可夫链具有平稳分布

平稳分布向量RRR称为这个有向图的 PageRank若矩阵MMM是马尔可夫链的转移矩阵

则向量R满足MR=RMR=RMR=R向量RRR的各个分量称 PageRank为各个结点的值

R=[PR(v1)PR(v2)⋮PR(vn)]R = \left[ \begin{array} { c } { P R ( v _ { 1 } ) } \\\\ { P R ( v _ { 2 } ) } \\\\ { \vdots } \\\\ { P R ( v _ { n } ) } \end{array} \right]R=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡​PR(v1​)PR(v2​)⋮PR(vn​)​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤​

其中PR(vi),i=1,2,⋯,nP R ( v _ { i } ) , i = 1,2 , \cdots , nPR(vi​),i=1,2,⋯,n,表示结点viv_ivi​的 PageRank值这是 PageRank的基本定义


PageRank基本定义的条件现实中往往不能满足

对其进行扩展得到 PageRank的一般定义任意含有nnn个结点的有向图上

可以定义一个随机游走模型,即一阶马尔可夫链,转移矩阵由两部分的线性组合组成

其中一部分按照转移矩阵MMM,从一个结点到连接出的所有结点的转移概率相等

另一部分按照完全随机转移矩阵,从任一结点到任一结点的转移概率都是1/n1/n1/n这个马尔可夫链存在平稳分布

平稳分布向量R称为这个有 PageRank向图的一般,满足

R=dMR+1−dn1R = d M R + \frac { 1 - d } { n } 1R=dMR+n1−d​1

其中d(0≤d≤1)d ( 0 \leq d \leq 1 )d(0≤d≤1)是阻尼因子,1是所有分量为1的nnn维向量


PageRank的计算方法包括迭代算法、幂法、代数算法

幂法将 PageRank的等价式写成R=(dM+1−dnE)R=ARR = ( d M + \frac { 1 - d } { n } E ) R = A RR=(dM+n1−d​E)R=AR

其中ddd是阻尼因子,EEE是所有元素为1的nnn阶方阵

PageRank算法可以看出RRR是一般转移矩阵AAA的主特征向量,即最大的特征值对应的特征向量

幂法就是一个计算矩阵的主特征值和主特征向量的方法

步骤是:选择初始向量x0x_0x0​;

计算一般转移矩阵AAA;

进行迭代并规范化向量

yt+1=Axty _ { t + 1 } = A x _ { t }yt+1​=Axt​

xt+1=yt+1∥yt+1∥x _ { t + 1 } = \frac { y _ { t + 1 } } { \| y _ { t + 1 } \| }xt+1​=∥yt+1​∥yt+1​​

直至收敛


在实际应用中许多数据都以图(graph)的形式存在

比如,互联网、社交网络都可以看作是一个图图数据上的机器学习具有理论与应用上的重要意义pageRank算法是图的链接分析 (link analysis)的代表性算法

属于图数据上的无监督学习方法

pageRank算法最初作为互联网网页重要度的计算方法

1996年由page和Brin提出,并用于谷歌搜索引擎的网页排序事实上,pageRank可以定义在任意有向图上,后来被应用到社会影响力分析、文本摘要等多个问题

pageRank算法的基本想法是在有向图上定义一个随机游走模型

即一阶马尔可夫链,描述随机游走者沿着有向图随机访问各个结点的行为在一定条件下

极限情况访问每个结点的概率收敛到平稳分布

这时各个结点的平稳概率值就是其 pageRank值,表示结点的重要度 pageRank是递归定义的,pageRank的计算可以通过迭代算法进行


import numpy as np
from scipy.sparse import csc_matrixdef pageRank(G, s=.85, maxerr=.0001):"""Computes the pagerank for each of the n statesParameters----------G: matrix representing state transitionsGij is a binary value representing a transition from state i to j.s: probability of following a transition. 1-s probability of teleportingto another state.maxerr: if the sum of pageranks between iterations is bellow this we willhave converged."""n = G.shape[0]# transform G into markov matrix AA = csc_matrix(G, dtype=np.float)rsums = np.array(A.sum(1))[:, 0]ri, ci = A.nonzero()A.data /= rsums[ri]# bool array of sink statessink = rsums == 0# Compute pagerank r until we convergero, r = np.zeros(n), np.ones(n)while np.sum(np.abs(r - ro)) > maxerr:ro = r.copy()# calculate each pagerank at a timefor i in range(0, n):# inlinks of state iAi = np.array(A[:, i].todense())[:, 0]# account for sink statesDi = sink / float(n)# account for teleportation to state iEi = np.ones(n) / float(n)r[i] = ro.dot(Ai * s + Di * s + Ei * (1 - s))# return normalized pagerankreturn r / float(sum(r))

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...