logo头像

贾维斯的小屋

机器学习——线性模型

一、线性回归

给定由$d$个属性描述的样本$\boldsymbol{x}=(x_1; x_2; .. ; x_d)$(列向量),数据集$D=\left\{\left(\boldsymbol{x}_{1}, y_{1}\right),\left(\boldsymbol{x}_{2}, y_{2}\right), \ldots,\left(\boldsymbol{x}_{m}, y_{m}\right)\right\}$,线性回归试图学得一个线性组合来进行预测的函数:

其中权重$\boldsymbol{w}=\left(w_{1} ; w_{2} ; \ldots ; w_{d}\right)$,偏置$b$为标量

1、一元线性回归

先考虑最简单的情况:样本只有一个属性,即一元线性回归。此问题试图学得

这里使用均方误差来衡量$f(x)$与$y$之间的差别,使得均方误差最小的$w$和$b$即为所求,即:

基于均方误差最小化来求解模型的方法称为最小二乘法,就是试图找到一条直线,是所有样本到直线上的欧式距离之和最小。设损失$E=\sum_{i=1}^{m}\left(f\left(x_{i}\right)-y_{i}\right)^{2}$,将$E$对$w$和$b$分别求导,得到:

然后令两式都为0,得到解析解:

其中$\overline{x}=\frac{1}{m} \sum_{i=1}^{m} x_{i}$为均值。

2、多元线性回归

而更一般的情况是本文开头所给出的数据集的形式,样本有$d$个属性,此时我们试图学得

这里我们将权重$\boldsymbol{w}$和偏置$b$整合在一起:$\hat{\boldsymbol{w}}=(\boldsymbol{w} ; b)$,同样得数据集$D$表示为一个$m \times (d+1)$大小的矩阵$\boldsymbol{X}$,即:

标签也写成向量形式$\boldsymbol{y}=\left(y_{1} ; y_{2} ; \ldots ; y_{m}\right)$,我们同样使用均方误差最小化:

令$E=(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})^{\mathrm{T}}(\boldsymbol{y}-\mathbf{X} \hat{\boldsymbol{w}})$,展开得到:

对$\hat{\boldsymbol{w}}$求导得到:

此处推到用到的矢量导数公式:

若$\boldsymbol{X}^{T} \boldsymbol{X}$为满秩矩阵或正定矩阵,令$\frac{\partial E}{\partial \hat{\boldsymbol{w}}}=0$,得:

3、正则化回归

现实中$\boldsymbol{X}^{T} \boldsymbol{X}$往往不是满秩矩阵,比如$\boldsymbol{X}$的列数多于行数,此时可能会有多个$\hat{\boldsymbol{w}}^{*}$。这时候可以引入正则化项:

其中$||\hat{\boldsymbol w}||^2=\sum w_{i}^{2}$,可解得:

$\boldsymbol I$为单位矩阵,相当于为$\boldsymbol{X}^{T} \boldsymbol{X}$的对角线元素增加了$\lambda$,增强矩阵求逆数值的稳定性。此形式的正则化回归称为岭回归(ridge regression)。如果将$||\hat{\boldsymbol w}||^2$(L2正则化)换成$|\hat{\boldsymbol w}|$(L1正则化),则称为lasso(least absolute shrinkage and selection operator),lasso对$\lambda$非常敏感,可以得到稀疏解,但lasso没有解析解。

参考资料

  • 周志华《机器学习》
  • [英]Peter Flach《机器学习》
  • 吴恩达《机器学习》公开课
微信打赏

赞赏是不耍流氓的鼓励