数据挖掘十大算法之PageRank连接分析算法
Posted Better Bench
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据挖掘十大算法之PageRank连接分析算法相关的知识,希望对你有一定的参考价值。
1 基本概念
(1)简介
Pagerank算法是基本想法是互联网网页重要度的计算方法。PageRank可以定义在任意有向图上,后来被应用到社会影响力分析、文本摘要等多个问题。
PageRank算法的基本思想是在有向图上定义一个随机游走模型,即一阶马尔科夫链,描述随机游走者沿着有向图随机访问各个节点的行为。在一定的条件下,基线情况访问每个节点的概率收敛到平稳分布,这时各个节点的平稳概率值就是其PageRank值,表示节点的重要度。
(2)随机游走模型
给定一个含有n个结点的有向图,在有向图上定义随机游走模型,即一阶马尔科夫链,其中结点表示状态,有向边表示状态之间的转移,假设从一个结点到通过有向边相连的所有结点的转移概率相等。具体地转移矩阵是一个n阶矩阵M
M = [ m i j ] n × n M = [m_ij]_n×n M=[mij]n×n
第i行第j列的元素 m i j m_ij mij取值规则如下:如果结点j有k个有向边连出,并且结点i是其连出的一个结点,则 m i j = 1 k m_ij = \\frac1k mij=k1;否则 m i j = 0 , i , j = 1 , 2 , . . . , n m_ij=0,i,j=1,2,...,n mij=0,i,j=1,2,...,n。
注意转移矩阵具有性质:
m i j ≥ 0 m_ij \\geq 0 mij≥0
∑ i = 1 n m i j = 1 \\sum_i=1^n m_ij = 1 ∑i=1nmij=1
即每个元素非负,每列元素之和为1,即矩阵M为随机矩阵。在有向图上是随机游走形成马尔科夫链,也就是说,随机游走者每经一个单位时间转一个状态,如果当前时刻在第j个结点,那么下一个时刻在第i个结点的概率是 m i j m_ij mij,这一概率只依赖于当前的状态,与过去无关,具有马尔科夫性。
在以上有向图上定义随机游走模型。结点A到B、C和D存在有向边。A以1/2的概率转移到B,100%的概率转移到C,B以1/3的概率转移到A,以1/2概率转移到D ,C以1/3的概率转移到A,1/2的概率转移到D,D以1/3的概率转移到A,1/2的概率转移到B。得到转移矩阵
随机游走在某个时刻t访问各个结点的概率分布就是马尔科夫链在时刻t的状态分布,可以用一个n维列向量 R t R_t Rt表示,那么时刻t+1访问各个结点的概率分布 R t + 1 R_t+1 Rt+1满足
R t + 1 = M R t R_t+1 =MR_t Rt+1=MRt
2 基本定义
给定一个包含n个结点的 v 1 , v 2 , . . , v n v_1,v2,..,v_n v1,v2,..,vn的强联通且非周期的有向图,在有向图上定义随机游走模型,即一阶马尔科夫链。随机游走的特点是从一个结点到有有向边的转移概率相等,转移矩阵为M,这个马尔科夫链具有平稳分布R。MR = R
平稳分布R称为这个有向图的PageRank,R的各个分量称为各个结点的PageRank值。
R
=
[
P
R
(
v
1
)
P
R
(
v
2
)
.
.
.
P
R
(
v
n
)
]
(3)
R = \\left[ \\beginmatrix PR(v_1) \\\\ PR(v_2) \\\\ ...\\\\ PR(v_n) \\endmatrix \\right] \\tag3
R=⎣⎢⎢⎡PR(v1)PR(v2)...PR(vn)⎦⎥⎥⎤(3)
其中
P
R
(
v
i
)
,
i
=
1
,
2
,
.
.
,
n
PR(v_i),i= 1,2,..,n
PR(vi),i=1,2,..,n,表示结点
v
i
v_i
vi的PageRank值。显然有
P
R
(
v
i
)
≥
0
,
i
=
1
,
2
,
.
.
,
n
∑
i
=
1
n
=
1
P
R
(
v
i
)
=
∑
v
j
∈
M
(
v
j
)
P
R
(
v
j
)
L
(
v
j
)
,
i
=
1
,
2
,
3
,
.
.
.
,
m
PR(v_i) \\geq 0,i=1,2,..,n\\\\ \\sum_i=1^n=1\\\\ PR(v_i) = \\sum_v_j \\in M(v_j) \\fracPR(v_j)L(v_j),i= 1,2,3,...,m
PR(vi)≥0,i=1,2,..,ni=1∑n=1PR(vi)=vj∈M(vj)∑L(vj)PR(vj),i=1,2,3,...,m
这里的 M ( v i ) M(v_i) M(vi)表示结点 v i v_i vi的结点集合, L ( v j ) L(v_j) L(vj)表示结点 v j v_j vj连出的有向边的个数。
PageRank的基本定义是理想化的情况,在这种情况下, Pagerank存在,而且可以通过不断迭代求得到pagerank值。
3 一般定义
PageRank一般定义的想法是在基本定义的基础上导入平滑项。
给定一个含有n个结点
v
i
,
i
=
1
,
2
,
.
.
.
,
n
v_i,i = 1,2,...,n
vi,i=1,2,...,n的任意有向图,假设考虑一个在图上随机游走模型,即一阶马尔科夫链,其转移矩阵是M,从一个结点到其连出的所有结点的转移概率相等。这个马尔科夫链未必有平稳分布。假设考虑另一个完全随机游走模型,其转移矩阵的元素全部为1/n,也就是说,任意一个结点到任意结点的转移概率都是1/n,两个转移矩阵的线性组合又构成一个新的转移矩阵,在其上可以定义一个新的马尔科夫链。容易证明这个马尔科夫链一定具有平稳分布,且平稳分布满足
R
=
d
M
R
+
1
−
d
n
1
R = dMR +\\frac1-dn1
R=dMR+n1−d1
式中
d
(
0
≤
d
≤
1
)
d(0\\leq d \\leq 1)
d(0≤d≤1)是系数,称为阻尼因子,R是n维向量,1是所有分量为1的n维向量。R表示的就是有向图的一般PageRank。
R
=
[
P
R
(
v
1
)
P
R
(
v
2
)
.
.
.
P
R
(
v
n
)
]
(3)
R = \\left[ \\beginmatrix PR(v_1) \\\\ PR(v_2) \\\\ ...\\\\ PR(v_n) \\endmatrix \\right] \\tag3
R=⎣⎢⎢⎡PR(vTextRank——关键词提取