|
实际举例北京网页设计 下面我们举一个实际例子。如果不太明白以下例子在做什么的话,只要认为我们能够使用 Octave 这个程序来解特性值问题即可。 首先,使用恰当的编辑器制作以下 Octave 脚本。(在行尾加上分号就能消去多余的结果输出,不过,此次为了说明特意去掉了。) % cat pagerank.m www.qitongnet.com #!/usr/bin/octave 北京网页设计 ## pagerank.m - 计算 PageRank(TM) 用的简单的 网站设计 GNU Octave 脚本 ##设置计时器。 网站设计 tic(); ## 根据PageRank 的定义,将从文件 i 链接到文件 j 的链接状态的推移概率行列定义为 M(i,j) M = [网页设计 0, 1, 1/2, 0, 1/4, 1/2 , 0;企通互联 1/5, 0, 1/2, 1/3, 0, 0, 0;北京网站制作 1/5, 0, 0, 1/3, 1/4, 0, 0;北京网站制作 1/5, 0, 0, 0, 1/4, 0, 0;网站制作 1/5, 0, 0, 1/3, 0, 1/2, 1;北京网站设计 0, 0, 0, 0, 1/4, 0, 0;北京网站建设 1/5, 0, 0, 0, 0, 0, 0; 北京网页设计 ] 北京网站制作 ##计算 全部 M 的特性值和固有矢量列的组合。 [V,D]= eig(M) ## 保存与绝对价值最大的特性值对应的固有矢量到EigenVector。 北京网站建设网站建设 企通互联 EigenVector = V(:, find(abs(diag(D))==max(abs(diag(D))))) ## PageRank 是将 EigenVector 在概率矢量上标准化后得到的值。网站设计 PageRank = EigenVector./ norm(EigenVector,1) 网站设计 北京网页设计 ## 输出计算时间。 网站制作 elapsed_time = toc() (2003/7/23: 修正上述脚本的错误。) 误: EigenVector = V(:, find(max(abs(diag(D)))) )企通互联 正: EigenVector = V(:, find(abs(diag(D))== max(abs(diag(D))))) 北京网页设计北京网站制作 用 北京网站制作 Octave 运行这个 pagerank.m 脚本后在标准输出中得到以下结果。 % octave pagerank.m 网页设计 GNU Octave, version 2.0.16 (i586-redhat-linux-gnu). 北京网站制作 Copyright (C) 1996, 1997, 1998, 1999, 2000 John W. Eaton. 网站建设 This is free software with ABSOLUTELY NO WARRANTY. 北京网站建设 For details, type `warranty'. 网页设计 M =北京网站制作 北京网站建设 0.00000 1.00000 0.50000 0.00000 0.25000 0.50000 0.00000 网站制作 0.20000 0.00000 0.50000 0.33333 0.00000 0.00000 0.00000网站制作 0.20000 0.00000 0.00000 0.33333 0.25000 0.00000 0.00000 北京网站建设 0.20000 0.00000 0.00000 0.00000 0.25000 0.00000 0.00000 企通互联 0.20000 0.00000 0.00000 0.33333 0.00000 0.50000 1.00000 网站设计 0.00000 0.00000 0.00000 0.00000 0.25000 0.00000 0.00000 北京网站制作 0.20000 0.00000 0.00000 0.00000 0.00000 0.00000 0.00000 V =网站设计 北京网站设计 Columns 1 through 3: 0.69946 0.00000i 0.63140 0.00000i 0.63140 0.00000i 企通互联 0.38286 0.00000i -0.28715 0.15402i -0.28715 - 0.15402i 网站制作 0.32396 0.00000i -0.07422 - 0.10512i -0.07422 0.10512i网站制作 0.24297 0.00000i 0.00707 - 0.24933i 0.00707 0.24933i 企通互联 0.41231 0.00000i -0.28417 0.44976i -0.28417 - 0.44976i 北京网页设计 0.10308 0.00000i 0.22951 - 0.13211i 0.22951 0.13211i 企通互联 0.13989 0.00000i -0.22243 - 0.11722i -0.22243 0.11722i Columns 4 through 6: 0.56600 0.00000i 0.56600 0.00000i -0.32958 0.00000i 北京网页设计 0.26420 - 0.05040i 0.26420 0.05040i 0.14584 0.00000i 北京网站设计 -0.10267 0.14787i -0.10267- 0.14787i 0.24608 0.00000i 网页设计 -0.11643 0.02319i -0.11643 - 0.02319i -0.24398 0.00000i 北京网站建设 -0.49468 - 0.14385i -0.49468 0.14385i 0.42562 0.00000i 北京网站设计 -0.14749 0.38066i -0.14749 - 0.38066i -0.64118 0.00000i 北京网站制作 0.03106 - 0.35747i 0.03106 0.35747i 0.39720 0.00000i Column 7: 0.00000 0.00000i 网站建设 -0.40825 0.00000i 网站设计 -0.00000 0.00000i 网站建设 网站建设 0.00000 0.00000i 北京网页设计 -0.00000 0.00000i 北京网站建设 0.81650 0.00000i北京网页设计 -0.40825 0.00000i D = Columns 1 through 3: 1.00000 0.00000i 0.00000 0.00000i 0.00000 0.00000i 北京网站制作 0.00000 0.00000i -0.44433 0.23415i 0.00000 0.00000i北京网站建设 0.00000 0.00000i 0.00000 0.00000i -0.44433 - 0.23415i 北京网页设计 0.00000 0.00000i 0.00000 0.00000i 0.00000 0.00000i 北京网站制作 0.00000 0.00000i 0.00000 0.00000i 0.00000 0.00000i 企通互联 北京网站设计 0.00000 0.00000i 0.00000 0.00000i 0.00000 0.00000i 北京网站制作 0.00000 0.00000i 0.00000 0.00000i 0.00000 0.00000i Columns 4 through 6: 0.00000 0.00000i 0.00000 0.00000i 0.00000 0.00000i 北京网站建设 0.00000 0.00000i 0.00000 0.00000i 0.00000 0.00000i 网站建设 0.00000 0.00000i 0.00000 0.00000i 0.00000 0.00000i www.qitongnet.com 0.02731 0.31430i 0.00000 0.00000i 0.00000 0.00000i 网站设计 0.00000 0.00000i 0.02731 - 0.31430i 0.00000 0.00000i 北京网页设计 0.00000 0.00000i 0.00000 0.00000i -0.16595 0.00000i 网页设计 0.00000 0.00000i 0.00000 0.00000i 0.00000 0.00000i Column 7: 0.00000 0.00000i 北京网页设计 0.00000 0.00000i 企通互联 0.00000 0.00000i 北京网站设计 0.00000 0.00000i 网站建设 0.00000 0.00000i 网页设计 0.00000 0.00000i 网站设计 -0.00000 0.00000i EigenVector = 北京网站制作 0.69946 www.qitongnet.com 0.38286企通互联 0.32396 网站建设 0.24297 网站设计 0.41231 北京网站建设 0.10308 北京网页设计 0.13989 PageRank =北京网站建设 0.303514 北京网站建设 0.166134 北京网站设计 0.140575网站建设 0.105431 网站制作 0.178914 北京网站制作 0.044728 北京网站建设 0.060703 elapsed_time = 0.063995 Octave 的输出中,特性值被表示为对角行列 D 的对角成分,各个特性值相对应的固有矢量被表示为行列 V 对应列的列矢量。也就是说 M * V = D * M 成立。 如果包含复数特性值的话这里的特性值有7个,其中绝对价值最大的特性值 λ 是λ=1。与之相对应的固有矢量为实矢量: EigenVector = 网站建设 网页设计 0.69946 www.qitongnet.com 0.38286 网站制作 0.32396 北京网页设计 0.24297 www.qitongnet.com 0.41231 网站建设 0.10308 www.qitongnet.com 0.13989网站制作 即行列 V 的第1列。请注意,这个求得的固有矢量中概率矢量( www.qitongnet.com要素的和等于1的 N 次元非负矢量)没有被标准化,只是矢量的「大小」等于 1。 用算式来表达就是,Σpi ≠1 ,Σ(pi)2=1。 在这里,对概率矢量进行标准化 PageRank =网站建设 0.303514 企通互联 0.166134 www.qitongnet.com 0.140575 北京网站建设 0.105431 网站建设 0.178914 网站制作 0.044728 北京网站设计
(阅读次数:)
上一页12 下一页
|