注:文本主要是学习完统计学习方法的复习概括
一、引例
出国留学时,如果带有教授的推荐信,往往能起到事半功倍的作用,那如何定义一封推荐信能帮我们自身提高多大的竞争力呢?主要取决于两部分因素:
- 教授自身的影响力:给你写推荐信的教授越权威,那么他的推荐信就越能帮你证明你的实力
- 教授给多少人写了推荐信:即便一个教授很权威,如果他给全世界每个人都写了一封推荐信,那这封推荐信也就没什么含金量了
所以,写这封推荐信的教授越权威,这封推荐信对我们的帮助越大;写这封推荐信的教授给其他人写的推荐信越少,这封推荐信对我们的帮助越大。
此外,显而易见,如果一个人拿到了越多教授的推荐信,那么他的竞争力就越强。
回归正题,PageRank算法常用于搜索引擎的网页排序,那它是如何衡量一个网页的重要程度的呢,道理其实与上面的例子类似,待评估重要性的网页看作是我们自身,把链接到待评估网页的网页看作是给我们写推荐信的教授,把超链接看作是推荐信,则:
- 一个网页,如果链接到该网页的网页的PageRank值越大,那么该网页的PageRank值越大,意味着该网页越重要(类比于给我们写推荐信的教授的影响力);
- 一个网页,如果链接到该网页的网页向外链接的网页越少,那么该网页的PageRank值越大,意味着该网页越重要(类比于给我们写推荐信的教授又给多少人写了推荐信);
- 此外,一个网页,如果链接到该网页的链接越多,那么该网页的PageRank值越大,意味着该网页越重要。
综上所述,用PageRank衡量一个网页的重要程度,那么其取决于以下三个要素:
- 链接到待评估网页的网页的PageRank
- 链接到待评估网页的网页向外发出的链接数
- 链接到待评估网页的链接数量
这就是PageRank算法的基本思想。
二、有向图
这里简单介绍以下有关有向图的两个基本概念:
- 强连通图:如果一个有向图从其中任何一个结点出来可以到达其他任何一个结点,则该有向图为强连通图
- 周期性图:假设k是大于1的自然数,如果从有向图的一个结点出发,返回到该结点的路径长度都是k的整数倍,则该结点为周期性结点。若一个有向图含有至少一个周期性结点,则它为周期性图
三、随机游走模型
简单来说,随机游走模型就是在假设一个结点到其相连的所有结点的转移概率相等的前提下,确定一个n阶转移矩阵M:
M
=
[
m
i
j
]
n
×
n
M=[m_{ij}]n×n
M=[mij]n×n
其中
m
i
j
m_{ij}
mij的取值规则如下:如果结点
j
j
j有
k
k
k个有向边连出,并且结点
i
i
i是其连出的一个结点,则
m
i
j
=
1
k
m_{ij}=\frac{1}{k}
mij=k1;否则
m
i
j
=
0
m_{ij}=0
mij=0。实际意义为:如果当前时刻在第
j
j
j个结点,那么下一时刻在第
i
i
i个结点的概率是
m
i
j
m_{ij}
mij
下面左图对应的转移矩阵如右边所示:
可以看出转移矩阵有如下两个性质:
- 每个元素非负
- 每列元素之和为1
四、PageRank算法的基本定义
简单来说,PageRank就是在一个强连通且非周期性的有向图上,定义随机游走模型(即确定转移矩阵M),从而确定该有向图结点的平稳分布 R R R, R R R是由有向图各结点趋于稳定时的PageRank值组成的列向量,如下所示:
根据引例中的例子,很容易得出理想状况下,某个结点的PageRank值的计算公式为:
P
R
(
v
i
)
=
∑
v
j
∈
M
(
v
i
)
P
R
(
v
j
)
L
(
v
j
)
PR(v_i)=\sum_{v_j∈M(v_i)}\frac{PR(v_j)}{L(v_j)}
PR(vi)=vj∈M(vi)∑L(vj)PR(vj)
其中
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连出的有向边的个数。将上式向量化表示成:
R
t
+
1
=
M
R
t
R_{t+1}=MR_t
Rt+1=MRt
但上述公式只是理想情况下的求解,通常在实际应用中,是通过不断迭代最终取得极限向量
R
R
R,下面是一个例子:以第三部分随机游走模型提到的有向图为例,求解其平稳分布
R
R
R:
五、PageRank算法的一般定义
简单来说,该部分的目的就是完善转移矩阵。
上述的有向图是满足强连通和非周期性的条件的,即每个结点都能到达该有向图的其他任何一个结点。但是这个条件在实际应用中是很难满足的,比如大部分网页没有连接出去的超链接,则在转移矩阵M中,该网页对应的列所有元素为0,随着时间推移,该有向图的平稳分布
R
R
R全为0。所以PageRank算法的一般定义的思路就是在基本定义的基础上引入平滑项:
R
t
+
1
=
d
M
R
t
+
1
−
d
n
1
R_{t+1}=dMR_t+\frac{1-d}{n}1
Rt+1=dMRt+n1−d1
其中
d
d
d为阻尼因子,
R
R
R是n维向量,1是所有分量为1的n维向量,其针对某个顶点的一般化形式为:
P
R
(
v
i
)
=
d
∑
v
j
∈
M
(
v
i
)
P
R
(
v
j
)
L
(
v
j
)
+
1
−
d
n
PR(v_i)=d\sum_{v_j∈M(v_i)}\frac{PR(v_j)}{L(v_j)}+\frac{1-d}{n}
PR(vi)=dvj∈M(vi)∑L(vj)PR(vj)+n1−d
引入平滑项后,转移矩阵由两部分线性组合而成,一部分是有向图的基本转移矩阵M,表示从一个结点到其连出的所有结点的转移概率相等;另一部分是完全随机的转移矩阵,表示从任意一个结点到任意一个结点的转移概率都是
1
n
\frac{1}{n}
n1;当d接近1时,随机游走主要依照转移矩阵M进行;当d接近0时,随机游走主要以等概率随机访问各结点。
应用到互联网中,如何理解上述公式呢?
在任意一个网页上,浏览者或者以概率d决定按照超链接随机跳转,这时以等概率从连接出去的超链接跳转到下一个网页;或者以概率(1-d)决定完全随机跳转,这时以等概率1/n跳转到任意一个网页。第二个机制保证从没有连接出去的超链接的网页也可以跳转出。这样可以保证平稳分布,即一PageRank的存在,因而一般PageRank适用于任何结构的网络。
六、PageRank的计算
PageRank的计算一般有三种方法:幂法、迭代法、代数法,这里主要介绍幂法。
6.1 幂法
幂法主要用于近似计算矩阵的主特征值和主特征向量,而在PageRank的公式中:
R
=
d
M
R
+
1
−
d
n
1
=
(
d
M
+
1
−
d
n
E
)
R
=
A
R
R=dMR+\frac{1-d}{n}1=(dM+\frac{1-d}{n}E)R=AR
R=dMR+n1−d1=(dM+n1−dE)R=AR
即平稳分布
R
R
R是矩阵A的主特征向量,其主特征值为1。
幂法的计算步骤如下,具体例子可见统计学习方法:
6.2 迭代法
6.3 代数法
注意在幂法和迭代法中,初始向量的选择并不会影响最终的结果