线性模型是比较基础也比较简单的一类模型,我在前面没有提及,在这篇文章里面介绍一下一些线形的模型。
基本形式
所谓线性模型就是用于预测的模型是线性的,可以写成以下的形式
y^(w,x)=w1x1+⋯+wdxd+b
其中 w=(w1;w2;⋯;wd)
在有的地方也有另一种形式,比如
y^(w,x)=w0+w1x1+⋯+wdxd
就是相当于把代表斜率的 w 和b写在了一起, x=(1,x1,x2,⋯,xd) ,最后可得 y^=w∗b
基本最小二乘(Least Sqaures)
基本的最小二乘的形式就是
w∗=argminw∥Xw−y∥22(1)
就是求出令模型的平方误差最小的 w 。
对于一维的情况,就是以前在统计学中学习过的最小二乘法,下面介绍包含一维的多元线性回归
对于一个数据集D其中有 m 个样本点,每个样本点的维度为d,那么我们将这个数据集表示为一个大矩阵
X=⎛⎝⎜⎜⎜⎜⎜x11x21⋮xm1x12x22⋮xm2……⋱…x1dx2d⋮xmd11⋮1⎞⎠⎟⎟⎟⎟⎟=⎛⎝⎜⎜⎜⎜⎜xT1xT2⋮xTm11⋮1⎞⎠⎟⎟⎟⎟⎟
令 Ew=∥Xw−y∥22 ,那么我们求 Ew 对 w 的偏导数,可得
∂Ew∂w=2XT(Xw−y)
当 XTX 为满秩矩阵或者正定的时候,有
w∗=(XTX)−1XTy
这样我们就解决了上面的优化问题,但是有时候 XTX 不是满秩的就是变量数过多,或者数据量太少的时候, w 可以有很多解,这时候需要引入正则化项,通过正则化的归纳偏好来决定
另外基本的最小二乘有个很大的缺点,即使数据集的分布真的是线性的,最后的解受噪声(或者叫离群点)的影响很大。一个相差很大的噪声点可以很大的影响最后的模型,这个跟平均值有点类似。
岭回归(Rige Regression)
对于X,如果它的向量之间线性关系比较强,或者不是列满秩,那么 |XTX|∼0 ,也就是矩阵趋于奇异的,那么求 (XTX)−1 就会有较大的误差,这时候直接的最小二乘对随机误差非常敏感,所以我们在公式(1)中添加正则化项,得到
w∗=argminw(∥Xw−y∥22+α∥w∥2)(2)
注意正则化项 ∥w∥ 用的是2范数,那么这有什么用?
我们求解(2)可以得到
w∗=(XTX+αI)−1XTy
XTX+αI 能够一定程度上解决上面提到的求逆的问题。
岭回归的性质:
(1) α=0 为最小二乘回归
(2) α 越大, w 各个分量趋向于0
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICdzFWRoRXdvN1LclHdpZXYyd2LcBzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX9UFVPVTRURGc41mY2Z1RiZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39DOwcjM0ATNxITOwEDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
上图为随着α增大(从右往左), w 各个分量的变化情况,称为岭迹图。在实际中可以选择一个岭迹相对比较平稳,然后最后的误差变化不太大的参数作为α的值。
综合来看,岭回归就是通过放弃部分的信息和精度,获得更合理的结果,更好的数值稳定性。岭回归是一种有偏估计。
LASSO
LASSO的形式和岭估计非常类似,只是正则化项从2范数变成了1范数
w∗=argminw(∥Xw−y∥22+α∥w∥1)(3)
LASSO可以产生更为稀疏的解,就是随着 α 的增长, w 中一直可能会产生0。
下面两幅图描述了岭回归和LASSO的解的分布,图中的β就是本文中的 w
上图是岭回归的解的情况,解就是等高线和圆相切的地方
上图是LASSO的解的情况,可以看到有一个分量为0,这就是解的稀疏性的由来。
逻辑斯谛回归(对数几率回归)
线性模型是否可以用来分类?这里引入对数几率回归,考虑二分类任务,输出类别y∈{0,1},而线性回归产生的预测值 z=wTx+b 是实值,我们首先可以想到利用0/1阶跃函数将 z 转换为离散的类别y。但是阶跃函数不可微,所以我们使用Sigmoid函数将 z 映射到0,1区间内。
Sigmoid函数
y=11+e−z
带入 z 可得
y=11+e−(wTx+b)
经过变换可得
lny1−y=wTx+b
将y视为样本为正例的可能性,那么1-y是为反例的可能性 y1−y 称为几率,它的对数称为对数几率即 lny1−y
所以可以看到,逻辑斯蒂模型是通过线性模型拟合输出值的对数几率
然后我们可以得到样本为正例的概率其实就是y,那么有
p(y=1|x)=ewTx+b1+ewTx+b
p(y=0|x)=11+ewTx+b
上面我们有了表达式,然后就可以用极大似然法来估计参数,令 π(x)=p(y=1|x) ,并且采用将参数 b 写进w的写法,即 y=wx ,那么对数似然函数为
L(w,b)=ln(∏i=1N([π(xi)]yi[1−π(xi)]1−yi]))=∑i=1N[yilnπ(xi)+(1−yi)ln(1−π(xi))]
=∑i=1N[yi(wxi)−ln(1−ewxi)]
通过梯度下降或者牛顿法之类的优化算法可以求解上面的优化问题,从而得到 w <script id="MathJax-Element-5588" type="math/tex">w</script>的估计值。
以上就是列出的一些线性模型以供参考,还有其他很多的线性模型的变体,感兴趣的可以进一步地查找资料。