线性回归


参考资料


提纲

  1. 基础线性回归模型&损失函数
  2. 优化方法(极小化损失函数)
    1. 最小二乘法 OLS
      • 代数法解法
      • 矩阵法解法
    2. 梯度下降 Gradient Descent
  3. 线性回归的推广
    1. 多项式回归
    2. 广义线性回归
  4. 正则化
    1. L1:Lasso
      • 坐标轴下降法
      • 最小角回归法
    2. L2:Ridge
      • 最小二乘法
      • 梯度下降
    3. L1+L2:弹性网
      • 坐标轴下降法
      • 最小角回归法

基础线性回归模型&损失函数

符号 含义
\(x_j\) \(j\)维特征
\(x\) 一条样本中的特征向量,\(x=(1,x_1,x_2,⋯,x_n)\)
\({x^{(i)}}\) \(i\)条样本
\(x_j^{(i)}\) \(i\)条样本的第\(j\)维特征
\({y^{(i)}}\) \(i\)条样本的结果(label)
\(X\) 所有样本的特征全集,即\(X=(x^{(1)},x^{(2)},⋯,x^{(m)})^T\)
\(Y\) 所有样本的label全集,即\(Y=(y^{(1)},y^{(2)},⋯,y^{(m)})^T\)
\(w\) 参数向量,即\(w=(w_0,w_1,⋯,w_n)\)
\(w_j\) \(j\)维参数

13

模型表达

线性模型基本形式

\[y(x,w)=w_0+w_1x_1+⋯+w_nx_n \]

其中,\(x_1,x_2,⋯,x_n\)表示自变量(集合);\(y\)是因变量;\(w\)为参数向量;\(w_i\)表示对应自变量(特征)的权重,\(w_0\)是偏倚项(又称为截距\(b\)

线性模型向量形式

如果令\(x_0=1\), \(y(x,w)=h_w(x)\), 可以将公式写成向量形式,即

\[h_{w}(x)=\sum_{i=0}^{m}w_{i}x_{i}=w^{T}x \]

其中,\(w=(w_0,w_1,⋯,w_n)\)\(x=(1,x_1,x_2,⋯,x_n)\) 均为行向量\(w^T\)\(w\)的转置。

在一些应用场景中,需要将输入空间映射到特征空间,然后建模. 定义映射函数为\(\phi (x)\),因此我们可以把公式写成更通用的表达方式:

\[h_{w}(x)=w^{T}\phi (x) \]

损失函数

\[J(w)=\frac{1}{2m}\sum_{i=1}^{m}\left ( h_{w}({x^{i}})-y^{(i)} \right )^2\\ \underset{w}{min}J(w) \]

注意:\(w\)\(n+1\)维的,而每个\(x\)\(n\)维的,样本数量为\(m\). 系数1/2只是为后续求导方便计算,而1/m可有可无(但还是前后文统一吧)。

选择使用 误差平方损失极小化 作为优化目标,其实还可以从概率的角度解释(极大似然估计),看下面网址,这里就不写了
http://www.52caml.com/head_first_ml/ml-chapter1-regression-family/

进一步使用矩阵形式表达损失函数

\[J(w)=\frac{1}{2}\left \| Xw^T-Y \right \|^2 = \frac{1}{2}(Xw^T-Y)^2(Xw^2-Y) \]

14

优化方法(极小化损失函数)

最小二乘 OLS

矩阵法(对损失函数进行\(w\) 求导,再令其为0解得\(w\)):

\[X^TXw=X^TY\\ w=(X^TX)^{-1}X^TY \]

梯度下降 GD

注:梯度下降不一定能够找到全局的最优解,有可能是一个局部最优解。当然,如果损失函数是凸函数,梯度下降法得到的解就一定是全局最优解

15

\[J(w)=\frac{1}{2m}\sum_{i=1}^{m}\left ( h_{w}({x^{i}})-y^{(i)} \right )^2 \]

首先,我们对上面的目标函数进行每个参数的单独求导,得到:

\[\frac{\partial }{\partial w_j}J(w)=\frac{1}{m}\sum_{i=1}^{m}\left ( h_{w}({x^{i}})-y^{(i)} \right )\cdot ( x^{(i)}_j ) \]

通过求导结果,可以得到最后的迭代式子:

\[w_j = w_j-\alpha \cdot \frac{1}{m}\sum_{i=1}^{m}\left ( h_{w}({x^{i}})-y^{(i)} \right )\cdot ( x^{(i)}_j ) \]

其中α是步长
注:梯度下降是对每个参数不断的下降,每个参数下降一次需要动用所有样本,所以计算量也蛮大的。有n+1个参数(n+1维),m个样本。

线性回归的推广

多项式回归

回到我们开始的线性模型,\(y(x,w)=w_0+w_1x_1+⋯+w_nx_n\), 如果这里不仅仅是x的一次方,比如增加二次方,那么模型就变成了多项式回归。这里写一个只有两个特征的 p 次方多项式回归的模型:

\[h_θ(x1,x2)=θ_0+θ_1x_1+θ_2x_2+θ_3(x_1)^2+θ_4(x_2)^2+θ_5(x_1x_2) \]

我们令\(x_0=1,x_1=x_1,x_2=x_2,x_3=(x_1)^2,x_4=(x_2)^2,x_5=(x_1x_2)\),这样我们就得到了下式:

\[h_θ(x1,x2)=θ_0+θ_1x_1+θ_2x_2+θ_3x_3+θ_4x_5+θ_5x_5 \]

可以发现,我们又重新回到了线性回归,这是一个五元线性回归,可以用线性回归的方法来完成算法。对于每个二元样本特征\((x_1,x_2)\),我们得到一个五元样本特征\((1,x_1,x_2,(x_1)^2,(x_2)^2,(x_1x_2))\),通过这个改进的五元样本特征,我们重新把不是线性回归的函数变回线性回归。

广义线性回归

在上一节的线性回归的推广中,我们对样本特征端做了推广,这里我们对于特征 \(y\) 做推广。比如我们的输出\(Y\)不满足和\(X\)的线性关系,但是\(lnY\) 和\(X\)满足线性关系,模型函数如下:

\[lnY=Xw^T \]

这样对与每个样本的输入y,我们用 lny去对应, 从而仍然可以用线性回归的算法去处理这个问题。我们把 Iny一般化,假设这个函数是单调可微函数g(.)g(.),则一般化的广义线性回归形式是:

\[g(Y)=Xw^T 或者 Y=g^{−1}(Xw^T) \]

这个函数\(g(.)\)我们通常称为联系函数。

正则化

线性模型优化目标如下:

\[J(w)=\frac{1}{2m}\sum_{i=1}^{m}\left ( h_{w}({x^{i}})-y^{(i)} \right )^2 \]

但是,当样本特征很多且样本数有限时,按照上面公式求得的参数w容易使得模型陷入过拟合。为了缓解过拟合问题,可引入正则化项。

引入\(L_1\)范数正则化:Lasso

\[J(w)=\frac{1}{2m}\sum_{i=1}^{m}\left ( h_{w}({x^{i}})-y^{(i)} \right )^2+\lambda \left \| w \right \|_1 \]

引入\(L_2\)范数正则化:Ridge

\[J(w)=\frac{1}{2m}\sum_{i=1}^{m}\left ( h_{w}({x^{i}})-y^{(i)} \right )^2+\lambda \left \| w \right \|_2^2 \]

注:
\(\lambda\) 为正则项系数/惩罚项系数
\(L_1\)范数与\(L_2\)范数正则化都有助于降低过拟合风险,但L1还会带来一个额外的好处,就是\(L_1\)正则化更易于获得“稀疏”(sparse)解,即它求得的参数w会有更少的非零分量。 (原因如下图)
16
17

Lasso解法
因为Lasso所带的\(L_1\)范数正则项不是连续可导的,所以最小二乘与梯度下降这些方法将失效,所以需要使用其他求极值的算法:坐标轴下降法(coordinate descent)和 最小角回归法( Least Angle Regression, LARS)。

Ridge解法
同普通线性回归模型一样,加上\(L_2\)范数正则项依旧连续可导,所以继续使用 最小二乘梯度下降

posted @ 2019-01-26 21:50  stream886  阅读(457)  评论(0编辑  收藏  举报