• 沒有找到結果。

第三讲 矩阵特征值计算

N/A
N/A
Protected

Academic year: 2021

Share "第三讲 矩阵特征值计算"

Copied!
30
0
0

加載中.... (立即查看全文)

全文

(1)

第三讲

矩阵特征值计算

—— 应用:Google 网页排名

(2)

2

网站排名是网络搜索引擎的核心

本讲主要介绍 PageRank 算法的基本思想与模型,

以及如何使用该算法对网站进行排名

PageRank

PageRank 是著名网络搜索引擎 Google 用于评测一个网页

“重要性” 或 “影响力” 的一种方法。通过该方法,Google 将各个网站进行排名。用户进行相关搜索时,Google 会将符 合条件的网站按排名顺序输出。

PageRank 算法中使用的数学知识包括:正矩阵性质、特征 值和特征向量、幂迭代算法、Gauss-Seidel迭代算法等

PageRank 得分越大表示网页越重要。

(3)

有 向 图

(4)

4

 有向图的定义、相关术语和部分性质

例:右图为一个有向图,记为

D,

其顶点组成的集合记为

V(D) = { u, v, w}

边组成的集合记为

A(D) = {(u,w), (w,u), (u,v)}

有向图介绍

有向图是指由有限个元素的非空集合和它的不同元素构成的 有序数对组成的结构。

注:(u,w) 和

(w,u) 表示不同的边。

图的基本元素:顶点(节点)和边(线、弧、枝)

(5)

有向图 D 的顶点集的基数称为

D 的阶,记作 p(D)

边组成的集合的基数称为

D 的大小,记作 q(D)

顶点

v

的出度 (out-degree) 是指从

v

邻接的顶点的个数,或 以

v

为起点的边的条数,记作

od(v)

顶点

v

的入度(in-degree)是指 D 中邻接到

v

的顶点的个数,

或以

v

为终点的边的条数,记作

id(v)

有向图相关术语

(6)

6

例:右下图为一个有向图,记为 D,则

p(D)=3

D 的阶:

D 的大小:

顶点 u 的出度:

顶点 u 的入度:

顶点 v 的出度:

顶点 v 的入度:

q(D)=3

od(u)=2 id(u)=1 od(v)=0

id(v)=1

有向图举例

(7)

p(D)=6,q(D)=9

序号 顶点 入度 出度

1

alpha

2 1

2

beta

1 2

3

gamma

1 3 4

delta

2 1

5

rho

1 1

6

sigma

2 1

例:左图中

有向图举例

(8)

8

 为研究需要,我们定义邻接矩阵

例:对于右边的有向图,其邻接矩阵为

邻接矩阵

(9)

性质一:定义行和 和列和 ,则 第 i 行的行和 r

i

就是第 i 个顶点的入度,第 j 列的列 和 n

j

就是第 j 个顶点的出度。

i ij

j

r = ∑ g

j ij

i

n = ∑ g

性质二:

i j

( ) =边的个数

i j

r = n = q D

∑ ∑

邻接矩阵的性质

行和 ↔ 入度,列和出度

(10)

10

PageRank 数学模型

(11)

Google 的

PageRank

是基于这样一个理论:

若 B 网页上有连接到 A 网站的链接 ( 称 B 为 A 的导入链接 ),

说明 B 认为 A 有链接价值,是一个“重要”的网站,此时 A网 站可从 B网站分得一定的级别 ( 重要性 )。

同时 A 的级别将平均分配给 A网站上的所有导出链接。

导入链接:链接到你网站的站点,即“外部链接”;

导出链接:网站上指向另外一个站点的链接。

在 PageRank 模型中,一个网站的级别(重要性)大致由下面 两个因素决定:导入链接的数量和导入链接的级别(重要性)。

PageRank 的决定因素

(12)

12

如果我们将下面的有向图中的每个顶点看成一个网站,并把每 条边看成是网站间的 “超链接”,则此有向图就代表一个小型 的网络,其中有 6 个网站和 9 个超链接。

例: 这 6 个 网站 中哪个最重要 ?

重要性的决定因素:

导入链接的数量

导入链接的重要性 看谁的导入链接多?

不太合理

哪个网页最重要

(13)

u

是某个网页,其级别(重要性)为

r(u),记 F

u

u

的导 出链接的集合,

B

u

u

的导入链接的集合,

n

u

= |F

u

|

即是

u

的导出链接总数。

v

u

的一个导入链接,根据 PageRank 理论,u

v

处分 得的级别(重要性)为

r(v)/n

v 。将

u

从所有导入链接处分得 的重要性相加,即为网页

u

的最终级别

( ) ( )

v B

u

v

r u r v

n

= ∑

简化的 PageRank 算法

(14)

14

设共有

m

个网页,分别编号为

1

2

3

、...、

m

,它们的级别(重要

性)分别记为

r

1

r

2

r

3、...、

r

m

G

表示由这些网页组成的有向图 的邻接矩阵。根据有向图理论:

( ) ( )

v Bu v

r u r v

n

= ∑

1 m

ij

i j

j j

r g r

= n

= ∑ G 中第 j

列的列和

r = G mr

简化的PageRank模型

其中 r = ( , , r r

1 2

, r

m

)

T

{ / }

m ij j

G = g n

(15)

易知 r G

m

的对应于特征值为 1 的特征向量

矩阵 G

m

一定有特征值 1 吗?即上面的方程是否有解?

 如果

0 1

,则 r

1

= r

2

,此时就无法进行排名

1 0 G  

=  

 

因此,我们需要对简化的 PageRank 进行改进!

简化PageRank的问题

r = G mr

(16)

16

设 η (u) 是网页 u 的所获得的基本级别,则

( )

( ) ( )

v B

u

v

x u p x v u

n η

= ∑ +

改进的 PageRank

 基本思想:首先给每个网页设置一个基本级别

其中: x(u) 表示网页 u 的最终级别

p 是一个加权系数,通常取 0.85 左右

 η (u)= (1 – p )/m ≡ δ

(17)

矩阵 形式

与前面的讨论相类似,将所有网页进行编号:

12...m

x = ⋅ p G m ⋅ + ⋅ x δ e (

1

,

2

, , )

(1,1, ,1)

T n T

x x x x

e

 = 

 = 

 

 

1 n

ij

i j

j j

x p g x

n δ

=

= ∑ + ( i = 1, 2, , m )

改进的 PageRank

( )

( ) ( )

v Bu v

x u p x v u

n η

= ∑ +

于是可以把右式改写为:

(18)

18

改进的 PageRank

x = ⋅ p G m ⋅ + ⋅ x δ e

{ / }

m ij j

G = g n G m = ⋅ G D

其中: diag

1 2

1 1 1

(

ij

),

m

G g D , , ,

n n n

 

= =  

  

x = ⋅ ⋅ ⋅ + ⋅ p G D x δ e

(19)

x = ⋅ ⋅ ⋅ + ⋅ p G D x δ e 规定:

1

1

n i i

x

=

∑ =

1 p G D x δ e

= ⋅ ⋅ ⋅ + ⋅ ⋅

p G D x δ e e x

T

= ⋅ ⋅ ⋅ + ⋅ ⋅

( p G D δ e e

T

) x

= ⋅ ⋅ + ⋅ ⋅

1

1

n

T i

i

x e x

=

= ∑ =

x = ⋅ A x

A = ⋅ ⋅ + ⋅ p G D δ ee

T

x A 的对应于特征

λ=1 的特征向量。

改进的 PageRank

(20)

20

改进的 PageRank

11 12 1

1 2

21 22 2

1 2

1 2

1 2

m m

m m

m m mm

m

g

g g

p p p

n n n

g

g g

p p p

n n n

A

g g g

m m

p p p

n n n

δ δ δ

δ δ δ

δ δ δ

 + + + 

 

 

 + + + 

 

=  

 

 

 + + + 

 

  ×

   

 矩阵 A 的两个重要性质:

(1) A>0 ,即所有元素都是正数

(2) A 的各列的列和等于 1 δ = (1 – p )/m

j ij

i

n = ∑ g

(21)

若矩阵

G

中存在

0 列,即存在 j

使得对所有的

i

g

ij

= 0,则

将导致

n

j

= 0

, 此时规定:

( 1, , , )

1 2

g

ij

i m

n m

= =

=

 



改进的 PageRank

1

11 12

1 2

2

21 22

1 2

1 2

1 2

m m

m m

m m mm

m

g

g g

n n n

g

g g

n n n

A p

g g g

n n n

δ

 

 

 

 

 

= ⋅   +

 

 

 

 

 

   

(22)

22

x = ⋅ A x

问:上述方程组的解是否存在?

答:上述方程组存在唯一的解!(且均为正数)

理由: Perron-Frobnius 定理(证明略)

x 满足:

1

1

n

i i

x

=

∑ =

改进的 PageRank

(23)

A 的谱半径

A 的各列的列和等于 1 e

T

⋅ = A e

T

( ) 0

e

T

IA =

| IA | 0 = λ = 1A 的特征值

事实上,我们有结论:

λ = 1 是 A 的

惟一的模最大特征值,

即其他特征值的模均严格小于 1。

问: λ = 1A 的特征值吗?

(24)

24

序号 顶点 入度 出度

1 alpha 2 1

2 beta 1 2

3 gamma 1 3

4 delta 2 1

5 rho 1 1

6 sigma 2 1

例:

用改进的 PageRank 算法计算下面的小型网络中各网页 的排名,其中取

p =0.85。

网页排名举例

(25)

clear; % Eig11.m

p = 0.85; % 此处 p 也可以取其它数值

G = [0 0 0 1 0 1; 1 0 0 0 0 0; 0 1 0 0 0 0; ...

0 1 1 0 0 0; 0 0 1 0 0 0; 0 0 1 0 1 0];

n = size(G,1);

sn = sum(G); % 提取每列的列和 D = diag(1./sn); % 生成对角矩阵 delta = (1-p)/n;

A = p*G*D + delta;

[v,d] = eig(A); % 计算 A 的特征值与特征向量 r = v(:,idx); % 最大特征值所对应的特征向量 r = r./sum(r); % 归一化

[x,index] = sort(r,'descend'); % 排序

网页排名举例

(26)

26

数值算法

(27)

 幂法

当矩阵 A 的阶数很大时,无法直接计算其特征值和特征向量,

此时需要使用迭代算法。

x = A x x

满足:

1

1

n i i

x

=

∑ =

幂法

1)

输入矩阵

A

和初始向量

v

0

> 0

,以及精度

tol

2)

计算:

3)

如果

|v

k+1

- v

k

| < tol

则令

x = v

k+1 并停机,

否则转第二步。

1

1 1

1

,

sum( )

k

k k k

k

u Av v u

u

+ + +

+

= =

(28)

28

例:

采用幂迭代法计算下面各网页的排名,其中

p =0.85

幂法举例

(29)

clear; % Eig12.m

tol = 1e-4; p = 0.85;

G = [ 0 0 0 1 0 1; 1 0 0 0 0 0; 0 1 0 0 0 0;

0 1 1 0 0 0; 0 0 1 0 0 0; 0 0 1 0 1 0 ];

n = size(G,1);

sn = sum(G,1); D = diag(1./sn);

delta = (1-p)/n;

A = p*G*D + delta;

x = ones(n,1)/n; % 迭代初始向量 z = zeros(n,1);

k = 0; % 记录迭步数

while max(abs(x-z)) > tol % 幂法 z = x;

x = A*x;

k = k+1;

end[x1,index]=sort(x,'descend');

幂法举例

(30)

30

在前面给出的程序中,如果矩阵 G 中存在某一列的列和为 零,怎么办?

一个修改后的 Matlab 程序(

Eig13.m

另一个解决方案见

Eig14.m

,它充分利用稀疏矩阵的性质,

当矩阵规模较大时,能大大减少运算量。

一个问题

( 1, , , )

1 2

ij

j

g i m

n m

= =

=

 



此时规定: 

參考文獻

相關文件

统计暨普查局过往主要采用基本价格计算及分析行业的生产总额、增加值总额以及产业结构,亦同时一并公布按生产者价

统计暨普查局过往主要采用基本价格计算及分析行业的生产总额、增加值总额以及产业结构,亦同时一并公布按生产者价

统计暨普查局过往主要采用基本价格计算及分析行业的生产总额、增加值总额以及产业结构,亦同时一并公布按生产者价

第一名 第二名 第三名 第五名 第七名 臺北市太平國小 .. 段劭謀

第一名 第二名 第三名 第五名 第一名 第二名 第三名 第五名..

 lower triangular matrix: 下三角矩陣.  upper triangular matrix:

約西元前一世紀的 《周髀算經》 相傳畢氏定理是商代由商高發現的, 全書第一節就記載著 一個名叫商高的人, 對周公講了這樣一段話: 「折矩以為勾廣三, 股修四, 徑隅五。 既方其外,

„ 在QS 世界大學排名2013 年世界大學評比中,UQ 排名全球第43 名,在澳 洲排名第4。研究經費及學術水平在澳大利亞大學之中,始終位居前四大;. 昆士蘭大學商學院為澳洲6