最小二乘学习法

最小二乘学习法是回归中最为基础的方法。

我们以$d$维实向量$\boldsymbol{x}$作为输入、以实数值$y$作为输出的函数$y=f(x)$的学习问题进行说明。这里的真实函数关系$f$是未知的,通过训练样本$\{({x_i}, y_i)\}_{i=1}^{n}$对其进行学习,一般情况下,输出样本$y_i$的真实值$f(x_i)$中经常会观测到噪声。

最小二乘学习法推导

最小二乘学习法是对模型的输出$f_\theta(x_i)$和训练集输出$\{ y_i\}_{i=1}^{n}$的平均误差


$J_{LS}(\boldsymbol{\theta})=\frac{1}{2}\sum\limits_{i=1}^{n}(f_\theta(x_i)-y_i)^2 \qquad (1.1)$

为最小时的参数$\theta$进行学习。

$\widehat{\boldsymbol{\theta}}_{LS}=\mathop{argmin}_{\theta}J_{LS}(\boldsymbol{\theta})$

“LS”是Least Square的首字母。式(1.1)中加上系数1/2,是为了约去对$J_{LS}$微分时得到的2。平方误差$(f_\theta(x_i)-y_i)^2$是残差$f_\theta(x_i)-y_i$$l_2$范数。因此最小二乘法有时也称为$l_2$损失最小法。

如果使用线性模型

$f_\theta(\boldsymbol{x})=\sum\limits_{j=1}^{b} \theta_i\phi_i(\boldsymbol{x})=\boldsymbol{\theta}^{T}\phi(\boldsymbol{x})$

的话,训练样本的平方差$J_{LS}$就能够表示为下述形式

$J_{LS}(\boldsymbol{\theta})=\frac{1}{2}\lVert\Phi\boldsymbol{\theta}-\boldsymbol{y}\rVert^2$

在这里,$\boldsymbol{y}=(y_1, \ldots,y_n)^T$是训练输出的$n$维向量,$\Phi$是下式中定义的$n{\times}b$阶矩阵,也称为设计矩阵。

$$\Phi= \begin{pmatrix} \phi_1(\boldsymbol{x}_1) & \ldots & \phi_b(\boldsymbol{x}_1)\\ \vdots & \ddots & \vdots \\ \phi_1(\boldsymbol{x}_n) & \ldots & \phi_b(\boldsymbol{x}_n)\\ \end{pmatrix}$$

平方误差$J_{LS}$关于参数向量$\boldsymbol{\theta}$的导数为

$\nabla_{\theta}J_{LS}=(\frac{\partial J_{LS} }{\partial {\theta}_1}, \ldots, \frac{\partial J_{LS} }{\partial {\theta}_b} )^T=\Phi^T\Phi\boldsymbol{\theta}-\Phi^T\boldsymbol{y}$

令上式为零,得到

$\Phi^T\Phi\boldsymbol{\theta}=\Phi^T{y}$

$\widehat{\boldsymbol{\theta}}_{LS}$可以表示为

$\widehat{\boldsymbol{\theta}}_{LS}=\Phi^\dagger{y}$

$\Phi^T\Phi$有逆矩阵的时候,广义逆矩阵$\Phi^\dagger$可以用下式表示:

$\Phi^\dagger=(\Phi^T\Phi)^{-1}\Phi^T$

最小二乘法的应用