您已经了解向量 (vector)如何表示单个数据点或特征,以及矩阵如何组织整个数据集或表示线性变换。现在,我们将这些内容与机器学习 (machine learning)中的一个常见任务关联起来:为模型找到最优参数 (parameter)。通常,此任务归结为求解线性方程组。
考虑最基本的一个模型:线性回归。其目标是根据一组输入特征 x1,x2,...,xn 预测目标值 y。该模型假设存在线性关系:
y≈θ0+θ1x1+θ2x2+⋯+θnxn
这里,θ0,θ1,…,θn 是模型参数(或权重 (weight)、系数),我们需要根据训练数据来确定它们。如果我们有 m 个数据点,可以将特征表示为矩阵 X(其中每行是一个数据点,通常会添加一列1以表示截距项 θ0),并将目标值表示为向量 y。参数构成一个向量 θ。
线性回归的目标通常是使预测值与实际值之间的平方差之和最小化。微积分和线性代数表明,实现此最小化的最优参数向量 θ 满足正规方程:
XTXθ=XTy
仔细看这个方程。
- XTX 得到一个方阵(我们称之为 A)。
- θ 是我们想找到的未知参数向量(我们称之为 x,与本章的符号一致)。
- XTy 得到一个向量(我们称之为 b)。
突然间,训练线性回归模型的问题转变为求解熟悉的矩阵方程:
Ax=b
这正是本章关注的 Ax=b 形式。找到线性回归的最优参数需要求解此方程组,以得到未知向量 x(它代表 θ)。
这种模式不局限于简单的线性回归。
- 正则化 (regularization)回归: 像岭回归这样的方法会略微修改方程以防止过拟合 (overfitting),从而常得到诸如 (XTX+λI)θ=XTy 的方程组,其中 λ 是正则化参数,I 是单位矩阵。这本质上仍然是一个 Ax=b 问题,只是矩阵 A 不同。
- 优化算法: 即使对于更复杂的模型,其解不能通过单个矩阵方程找到,求解线性系统也经常作为训练过程中使用的迭代优化算法(如牛顿法)中的子问题出现。
因此,理解如何表示和求解像 Ax=b 这样的线性方程组不仅仅是线性代数中的理论练习。它是实现和理解几种重要机器学习算法背后机制的实际要求。在阐明了求解这些系统在机器学习中为何相关之后,接下来的部分将讨论用于找到解向量 x 的方法,从矩阵逆的思路开始。