正规方程
正规方程用于一次性求解 \(\theta\) 的最优值。
在计算的时候,将数据集构造为一个矩阵(第一列为 \(x_0\) 均等于\(1\)):
通过公式:
\[\theta = (X^TX)^{-1}X^Ty\]
计算得到最优解 \(\theta\)。
关于\(X\)的设计
对于第 \(i\) 组数据:
\[x^{(i)} = \begin{bmatrix}x_0^{(i)} \\x_1^{(i)} \\x_2^{(i)} \\\vdots \\x_n^{(i)}\end{bmatrix}\in \mathbb{R}^{n+1}\quad (1\le i\le m)\]
将其转置后置于 \(X\) 的第 \(i\) 行:
\[X = \begin{bmatrix}\cdots (x^{(1)})^T \cdots \\\cdots (x^{(2)})^T \cdots \\\vdots \\\cdots (x^{(m)})^T \cdots \\\end{bmatrix}\]
\(X\) 为\(m\times(n+1)\) 规模的矩阵。
正规方程和梯度下降的区别梯度下降
- 需要选择合适的学习率 \(\alpha\)
- 需要特征缩放
- 需要迭代计算
- 当问题规模较大时也可以正常运行
正规方程
- 不需要选择学习率 \(\alpha\)
- 不需要特征缩放
- 不需要迭代计算
- 需要进行矩阵的求逆和乘法运算,时间复杂度较高
- 当问题规模较大时,计算较慢
二者如何选择
经验数值:一般当 \(n\le 10000\) 时,正规方程优于梯度下降。
正规方程中的矩阵不可逆情况
在正规方程的计算过程中,需要对矩阵 \(X\) 求解逆矩阵。
矩阵不可逆的充分必要条件:矩阵 \(X\) 的列(行)向量组线性相关。
在正规方程的计算过程中,可能出现矩阵不可逆的情况有以下两种:
- 包含了多余的特征
有多余的特征意味着矩阵 \(X\) 的其中一个特征可以由另外的特征表示。即矩阵 \(X\) 的列向量组线性相关,矩阵不可逆。
- 特征太多,多于数据数量