最近一个月来一直在看Google排序的核心算法---PageRank排序算法[1][2],在多篇论文中涉及到图论、马尔可夫链的相关性质说明与应用[3][4][5],而最为关键,一直让我迷惑的一句话是"A stochastic matrix has principal/primary eigenvalue 1"[3][4][5][6][7][8]。可能对于系统学习过矩阵理论的人,它很平淡,不值得单独拿出来讨论或者说明。而我在此不得不承认自己的无知。尽管在高等代数中学习过关于矩阵性质的一些讨论,但从来没有接触过所谓的随机矩阵(Stochastic Matrix),更不要说其性质了。于是,我从网上努力的寻找相关文献,但结果不是特别理想,并没有关于随机矩阵的详细介绍以及相关性质的证明。我想也许一方面是我搜索技术还不成熟,或者是搜索的关键词不准确,亦或者是网上关于它的资料本就很缺乏。在这里我想将最近搜集的相关资料拿出来整理一下思路,以备将来之用,也是对自己学习的一个真实记录和督促。

随机矩阵实际上是非负矩阵(Nonnegative matrix)的一类,而非负矩阵是指矩阵元素都是非负(Nonnegative)的,当然非负要与正矩阵(Positive matrix)进行细微的区分。非负矩阵在计算数学、图论、线性规划、自动控制等领域有着广泛的应用,对其特征值,尤其是最大特征值(注意这里的最大是从模的角度或者说是绝对值概念上的最大)特征值,也就是矩阵的主特征值(principal/primary eigenvalue)的估计有很重要的意义[9]。

随机矩阵说来如此之重要,那么到底什么样的矩阵才是随机矩阵呢?假如随便给你一个非负矩阵,该如何判定它是否属于随机矩阵呢?

随机矩阵实际上应当分成行随机矩阵(Row stochastic matrix)和列随机矩阵(Column stochastic matrix)。行随机矩阵是指方阵的行和等于1;而列随机矩阵就是其列和等于1的非负矩阵。那么同时满足行和列和都是1的非负矩阵就是双随机矩阵(Double stochastic matrix),单位矩阵就是一种双随机矩阵。从研究的角度,其实只要研究行矩阵的性质即可,毕竟列随机矩阵只是行随机矩阵的转置矩阵。因此以下的讨论完全从行随机矩阵出发。

既然随机矩阵A行和为1,那么假设e=(1,1,...,1),则e的转置向量e',即是矩阵的一个特征向量,对应于A的特征值1。这样对于证明随机矩阵的主特征值是1还有一定的距离。假设A的n个特征值为λ(i),其中i=1,2,...,n;若要证明性质成立,则必须证明|λ(i)|<=1。现今有一个特征值是1,只要证明其余各特征值的绝对值都小于等于1即可。

于是我又查找了相关资料,并在“数学博士论坛”发帖请教,得到的回复是要证明它,粗略地讲利用圆盘定理即可,若要精细的证明还要利用Perron-Frobenius Theorm[9][10][11][12]。一个个新的概念和方法出现在面前,看来需要系统的学习数值方法、数值计算理论。查找到的资料[10]表明任何矩阵的谱半径都不大于该矩阵任意诱导矩阵范数,而随机矩阵的L1-Norm值是1,那么谱半径(是主特征值的等价说法)不大于1,而由于1是A的一个特征值,那么就不可能出现绝对值大于1的特征值了:1确实是随机矩阵A的主特征值。

那么对上述性质的证明就等价于证明资料[10]中的结论了。

其实,“任意复数域上的矩阵的谱半径不大于其任意一种诱导范数”只是矩阵的一个基本的性质。其具体证明见下图:

根据以上的证明结果可知,对任意的行随机矩阵,其谱半径是1,即最大特征值是1得证。

由此可知,其实矩阵的一个小小的性质对于没有系统学习过矩阵理论的人有时确实是一个难题。要入行,就当懂行规,要入门,就当精通门路。

随机矩阵的主特征值以及second largest eigenvalue的比值是幂法收敛速度的一个基本的衡量标准。PageRank的计算有多种方式,而对此的研究也是不计其数,当然最传统的还是利用幂法来确定抓取入库的各网页的PageRank值。由于web网页的数量巨大,针对幂法收敛速度的考虑就不是多余无用的分析。而两特征值的“谱隙”(Eigengap)主要用来衡量利用幂法求解得到的PR值的稳定性的。由此看来,特征值分析对于理解PageRank算法起到关键作用。

参考文献:

[1].The PageRank Citation Ranking:Bring Order to the Web. Lawrence Page,Jan.29.1998.

[2].The Anotomy of a Large-Scale Hypertextual Web Search Engine. Sergey Brin, Lawrence Page,1998.

[3].Efficient Computation of PageRank. Taher H. Haveliwala,Oct.18.1999.

[4].Deeper Inside PageRank. Amy N.Langville,Carl D.Meyer,Oct.20.2004.

[5].PageRank as a Function of the Damping Factor.Paolo Boldi,Massimo Santini,Sebastiano Vigna,2005.

[6].Link Analysis,Eigenvectors anD Stability. Andrew Y. Ng,Alice X. Zheng,Michael I. Jordan,2002.

[7].The Second Eigenvaule of the Google Matrix. Taher H.Haveliwala,Sepandar D.Kamvar,2004.

[8].The Condition Number of the PageRank Problem. Sepandar D.Kamvar,Taher H.Haveliwala,2004.

[9].Matrix Analysis and Applied Linear Algebra. Carl D.Meyer,2000.

[10].非负矩阵谱半径一个严格不等式及其概率证法. 董国华,贺汉根,胡德文,2008.

[11].非负矩阵最大特征值的新界值.景何仿,尤传华,司书红,2004.

[12].谢谢博士数学论坛“元始天尊”“Xida”的热情帮助!!根据你们的建议,我在拜读Leon的线代!

随机矩阵(stochastic matrix)的更多相关文章

  1. stochastic matrix

    w Stochastic matrix - Wikipedia  https://en.wikipedia.org/wiki/Stochastic_matrix Suppose you have a ...

  2. pagerank 数学基础

    网页排序的任务中,最核心的难点在于判别网页质量. 将互联网上的网页模拟为一个节点,而这个网页的“出链”看做是指向其他节点的一条“有向边”,而“入链”则是其他节点指向这个节点的有向边.这样整个网络就变成 ...

  3. MATLAB实例:对称双随机矩阵

    MATLAB实例:对称双随机矩阵 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 双随机矩阵(doubly stochastic matrix):元素属 ...

  4. PageRank算法初探

    1. PageRank的由来和发展历史 0x1:源自搜索引擎的需求 Google早已成为全球最成功的互联网搜索引擎,在Google出现之前,曾出现过许多通用或专业领域搜索引擎.Google最终能击败所 ...

  5. Learning Combinatorial Embedding Networks for Deep Graph Matching(基于图嵌入的深度图匹配)

    1. 文献信息 题目: Learning Combinatorial Embedding Networks for Deep Graph Matching(基于图嵌入的深度图匹配) 作者:上海交通大学 ...

  6. Birkhoff-von Neumann Crossbar 光交换网络的调度方案

    Birkhoff-von Neumann Crossbar 光交换网络的调度方案 ​ This is a summary aimed at looking for "high perform ...

  7. 【十大经典数据挖掘算法】PageRank

    [十大经典数据挖掘算法]系列 C4.5 K-Means SVM Apriori EM PageRank AdaBoost kNN Naïve Bayes CART 我特地把PageRank作为[十大经 ...

  8. (zhuan) Deep Deterministic Policy Gradients in TensorFlow

          Deep Deterministic Policy Gradients in TensorFlow AUG 21, 2016 This blog from: http://pemami49 ...

  9. HDOJ 题目5097 Page Rank(矩阵运算,模拟)

    Page Rank Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 100000/100000 K (Java/Others) Tota ...

随机推荐

  1. Android--->activity高级运用,保存前一个界面为完成的数据savedInstanceState。

    main.xml布局代码分析 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xml ...

  2. iOS 热更新插件

    1.JSPatch 平台 http://jspatch.com/Docs/intro 2.React Native 中文文档 http://wiki.jikexueyuan.com/project/r ...

  3. H2Database高级特性

    http://wenku.baidu.com/link?url=mcSOmh5PRsKGO1kXzXqzZVjVPYR5sOWK_KIjw8qdpGHAkZsbWiK71lE9ToYwxLvJwL7b ...

  4. 转 Could not create the view: An unexpected exception was thrown.问题解决

    转自:http://blog.csdn.net/shuangzixing520/article/details/35225105 今天打开Myeclipse10的时候,发现server窗口出现一堆问题 ...

  5. angularJS 系列(三)- 自定义 Service

    参考:http://viralpatel.net/blogs/angularjs-service-factory-tutorial/ https://www.pluralsight.com/blog/ ...

  6. 不小心删掉root目录......

    1.先保存还剩下的的东西,比如说桌面的文件,保存在/下面其他目录 2.执行命令 cp -R /etc/skel/.[!.]* ./ 3.reboot

  7. IO之同步、异步、阻塞、非阻塞

    Stevens在文章中一共比较了五种IO Model:    blocking IO    nonblocking IO    IO multiplexing    signal driven IO  ...

  8. [iOS Animation]-CALayer 图像IO

    图像IO 潜伏期值得思考 - 凯文 帕萨特 在第13章“高效绘图”中,我们研究了和Core Graphics绘图相关的性能问题,以及如何修复.和绘图性能相关紧密相关的是图像性能.在这一章中,我们将研究 ...

  9. Android获取手机屏幕宽高

    //如果是获取单位是像素,可以如下: Display display = getWindowManager().getDefaultDisplay(); Point size = new Point( ...

  10. :after和:before中的content(放入icon)

    作者:zccst 最近见到一种图标写在content里的用法,觉得很新奇.查了一下是webfont. 问题:以下是我看到的一段css的源代码,其实就是在分享到为微博的时候的图标 a#end_cc, a ...