趋近智
线性方程组是若干未知量之间关系的总和。例如,你可能有x1和x2这两个未知量,由以下两个方程关联:
2x1+3x2=8 4x1−x2=2求解此系统是指找到x1和x2的值,使这两个方程同时成立。虽然你可能曾手动使用代入法或消元法求解过这样的小型系统,但这种方法不适用于更大的规模。设想一个拥有数百个方程和变量的系统,这在机器学习中很常见。我们需要一个更系统化且计算友好的方法。
线性代数在此提供了一种强大的方式来组织此问题。我们可以将任何线性方程组重写为简洁而优美的Ax=b形式。
我们再来看看我们的例子,并将其分解为三个主要部分:
核心思路是将这些组件类型分别归入各自的结构:系数放入矩阵A,变量放入向量x,常数放入向量b。
1. 系数矩阵 A
我们通过按方程中出现的相同布局排列系数来创建矩阵A。矩阵中的每一行对应一个方程,每一列对应一个变量。对于我们的系统,系数矩阵A是:
A=[243−1]第一行 [2 3] 包含第一个方程 (2x1+3x2=8) 的系数。第二行 [4 -1] 包含第二个方程 (4x1−x2=2) 的系数。
2. 变量向量 x
接下来,我们将未知变量组合成一个列向量x。其顺序必须与矩阵A中列的顺序一致。由于A中的第一列对应于x1,第二列对应于x2,因此我们的向量x是:
x=[x1x2]3. 常数向量 b
最后,我们将方程右侧的常数收集到另一个列向量b中:
b=[82]以下图表展示了方程组如何转化为这三个不同的部分。
方程组的组件被组织成一个系数矩阵 A、一个变量向量 x 和一个常数向量 b。
现在我们有了矩阵方程:
[243−1][x1x2]=[82]但我们怎么知道这与我们最初的系统相同?我们可以通过执行左侧的矩阵-向量乘法来验证它,正如我们在第三章学到的。请记住,我们计算矩阵A的每一行与列向量x的点积:
这种乘法会得到一个新的向量:
[2x1+3x24x1−x2]由于我们陈述 Ax=b,我们是在说:
[2x1+3x24x1−x2]=[82]要使两个向量相等,它们的对应元素必须相等。这让我们回到了最初的两个方程:2x1+3x2=8 和 4x1−x2=2。这证实了矩阵形式 Ax=b 是我们原始系统完全有效且简洁的表示。
将方程组转化为 Ax=b 的形式不仅仅是一种符号上的技巧。它提供了多项显著的好处,尤其是在计算和机器学习的背景下。
简洁性与可扩展性: 一个包含数百个方程和变量的系统可以像 Ax=b 一样简单地写下来。其基础矩阵 A 和向量 x 和 b 会大很多,但表示形式依然清晰。这使我们能够从更高的抽象层面思考问题。
求解之道: 这种形式提供了一种求解 x 的方式。如果 A、x 和 b 只是数字,你会通过 b 除以 A 来求解 x。在线性代数中,等效操作是乘以矩阵逆,我们将在接下来的部分详细阐述。
计算效率: 现代数值计算库,如 NumPy,对矩阵和向量运算进行了高度优化。以这种形式表示问题使我们能够使用快速、预构建的函数来查找解,而不是编写缓慢的手动循环。求解 Ax = b 是这些库中的标准操作。
通过将方程组转换为这种通用矩阵形式,我们可以充分发挥线性代数和计算的全部能力来高效地找到解。在接下来的部分中,我们将学习求解向量x所需的工具。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造