在《Machine Learning Theory Made Easy》一书中,作者详细介绍了如何将线性代数中的矩阵与图论中的图建立联系。这一方法在分析图中路径时利用矩阵乘方的技巧。通过将矩阵转换成有向图,读者可以更清晰地看到节点之间的关系。
首先,矩阵的基本结构在图论中有着重要的应用。在矩阵中,每一行和每一列都代表一个节点(或顶点)。例如,在图 1 中,矩阵的行和列分别表示节点 v1、v2 和 v3。矩阵中的每个元素代表从一个节点到另一个节点的边(Edge)。如果元素为零,则表示没有对应的边。例如,矩阵的第一行 [0.5, 1, 0] 表示从节点 v1 出发:0.5 对应一条指向自身的自环边,1 对应一条指向节点 v2 的边,0 表示没有指向节点 v3 的边。
在理解了矩阵的基本结构后,我们进一步探讨矩阵的行和列如何对应到图中的边。矩阵的每一行代表从一个特定节点出发的所有边。图 2 显示了矩阵的第一行 [0.5, 1, 0] 对应的边:0.5 表示从 v1 到 v1 的自环边,1 表示从 v1 到 v2 的边,0 表示没有从 v1 到 v3 的边。同样地,矩阵的每一列代表指向一个特定节点的所有边。图 3 展示了矩阵的第一列 [0.5, 0.2, 1.8] 如何对应到图中的入边:0.5 表示自环,从 v1 到 v1,0.2 表示从 v2 到 v1,1.8 表示从 v3 到 v1。
通过将每一行和每一列的分析结合起来,我们可以构建出完整的有向图。每个节点的所有入边和出边都在图中表示出来。这不仅帮助我们理解矩阵中的信息,还让我们更直观地看到节点之间的关系。图 4 展示了一个完整的有向图,所有节点的入边和出边都清晰地标示出来。
理解了矩阵与图之间的基本关系后,我们进一步探讨矩阵乘方与路径关系。当我们将矩阵平方时,得到的结果对应于图中所有可能的二步路径。也就是说,矩阵的每个元素 ai,j^(2) 都表示从节点 vi 到节点 vj 的所有二步路径的总权重。公式 ai,j^(2) = ∑l^n ai,l⋅al,j 表示所有可能通过中间节点 vl 从 vi 到 vj 的路径。这一公式的解读对于理解图中的路径关系至关重要。
例如,如果我们有一个矩阵 A,其元素表示从一个节点到另一个节点的直接路径权重,那么 A^2 的元素将表示通过一个中间节点的二步路径的总权重。这一技巧在分析复杂网络中的路径时非常有用。此外,书中还通过具体示例展示了如何利用矩阵乘方来分析图中的路径。例如,在一个交通网络中,我们可以利用矩阵乘方来计算从一个地点到另一个地点的所有可能路径的总权重。这对于优化交通路线、减少拥堵具有重要意义。

