📷封面源于网络,侵删
基本形式
给定由 $d$ 个属性描述的示例 $\boldsymbol{x} = (x_1;x_2;\dots;x_d)$ ,其中 $x_i$ 是 $\boldsymbol{x}$ 在第 $i$ 个属性上的取值,线性模型(linear model)是指学得一个通过属性的线性组合来进行预测的函数:
$$ f(\boldsymbol{x}) = w_1x_1 + w_2x_2 + \dots + w_dx_d + b $$即
$$ f(\boldsymbol{x}) = \boldsymbol{w}^T\boldsymbol{x} + b $$线性回归
$\boldsymbol{w}$ 和 $b$ 就是要学得的参数。而确定$\boldsymbol{w}$ 和 $b$ 的关键是如何衡量 $f(x)$ 和 $y$ 之间的差别,最常见 的度量是均方误差:
$$ \begin{align*} (w^*, b^*) &= \arg \min_{(w, b)} \sum_{i=1}^m (f(x_i) - y_i)^2 \\ &= \arg \min_{(w, b)} \sum_{i=1}^m (y_i - wx_i - b)^2 \end{align*} $$求解 $w^*$ 和 $b^*$ 的过程,称为线性回归模型的最小二乘 “参数估计” ,令
$$ E_{(w, b)} = \sum_{i=1}^m (y_i - wx_i - b)^2 $$由于该式是一个凸函数,其全局最优解在梯度为零处,因此我们可将其对 $w$ 和 $b$ 分别求导,得
$$ \begin{align*} \frac{\partial E_{(w, b)}}{\partial w} &= 2\left(w \sum_{i=1}^m x_i^2 - \sum_{i=1}^m (y_i-b)x_i \right), \\ \frac{\partial E_{(w, b)}}{\partial b} &= 2\left(mb - \sum_{i=1}^m (y_i - wx_i) \right) \end{align*} $$分别令其为零,求解方程组可得到 $w$ 和 $b$ 的闭式解
$$ \begin{align*} w &= \frac{\sum_{i=1}^m y_i(x_i - \overline x)}{\sum_{i=1}^m x_i^2 - \frac{1}{m} (\sum_{i=1}^m x_i)^2} \\\\ b &= \frac{1}{m} \sum_{i=1}^m (y_i - wx_i) \end{align*} $$其中 $\overline x = \frac{1}{m} \sum_{i=1}^m x_i$ 为 $x$ 的均值。
对于更一般的问题,样本会有多个属性,此时可行域和参数集都变为高维,我们可将均方误差扩展为欧氏距离,要求得的 “直线” 就是所有样本到其的欧式距离之和最小的直线,称为 “多元线性回归” 。
方便起见,我们令 $\hat {\boldsymbol w} = (\boldsymbol w; b) = (w_1;...;w_d;b) \in \mathbb R^{(d+1) \times 1}$ ,$\hat{\boldsymbol x} = (x_{i1}; ...; x_{id}; 1) \in \mathbb R^{(d+1) \times 1}$ ,则有
$$ \begin{align*} \hat{\boldsymbol w}^* &= \arg \min_{\hat{\boldsymbol w}} \sum_{i=1}^m (y_i - \hat{\boldsymbol w}^T \hat{\boldsymbol x}_i)^2 \\\\ &= \arg \min_{\hat{\boldsymbol w}} \sum_{i=1}^m (y_i - \hat{\boldsymbol x}_i^T \hat{\boldsymbol w})^2 \end{align*} $$利用向量内积的定义,有
$$ \hat{\boldsymbol{w}}^* = \arg \min_{\hat{w}} \left[ y_1 - \hat{\boldsymbol{x}}_1^T \hat{\boldsymbol{w}} \quad \cdots \quad y_m - \hat{\boldsymbol{x}}_m^T \hat{\boldsymbol{w}} \right] \begin{bmatrix} y_1 - \hat{\boldsymbol{x}}_1^T \hat{\boldsymbol{w}} \\ \vdots \\ y_m - \hat{\boldsymbol{x}}_m^T \hat{\boldsymbol{w}} \end{bmatrix} \\ $$其中
$$ \begin{align*} \begin{bmatrix} y_1 - \hat{\boldsymbol{x}}_1^T \hat{\boldsymbol{w}} \\ \vdots \\ y_m - \hat{\boldsymbol{x}}_m^T \hat{\boldsymbol{w}} \end{bmatrix} &= \begin{bmatrix} y_1 \\ \vdots \\ y_m \end{bmatrix} - \begin{bmatrix} \hat{\boldsymbol{x}}_1^T \hat{\boldsymbol{w}} \\ \vdots \\ \hat{\boldsymbol{x}}_m^T \hat{\boldsymbol{w}} \end{bmatrix} \\\\ &= \boldsymbol{y} - \begin{bmatrix} \hat{\boldsymbol{x}}_1^T \\ \vdots \\ \hat{\boldsymbol{x}}_m^T \end{bmatrix} \hat{\boldsymbol{w}} \\\\ &= \boldsymbol{y} - \boldsymbol{X} \hat{\boldsymbol{w}} \end{align*} $$所以
$$ \hat{\boldsymbol{w}}^* = \arg \min_{\hat{w}} (\boldsymbol{y} - \boldsymbol{X} \hat{\boldsymbol{w}})^T (\boldsymbol{y} - \boldsymbol{X} \hat{\boldsymbol{w}}) $$同理,可以用梯度为零的方法得到闭式解:
$$ \hat{\boldsymbol{w}}^* = (\boldsymbol{X}^T\boldsymbol{X})^{-1}\boldsymbol{X}^T\boldsymbol{y} $$此时要求 $\boldsymbol{X}^T\boldsymbol{X}$ 为满秩矩阵或正定矩阵。