天天看点

机器学习中的线性模型基本形式基本最小二乘(Least Sqaures)岭回归(Rige Regression)LASSO逻辑斯谛回归(对数几率回归)

线性模型是比较基础也比较简单的一类模型,我在前面没有提及,在这篇文章里面介绍一下一些线形的模型。
           

基本形式

所谓线性模型就是用于预测的模型是线性的,可以写成以下的形式

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

机器学习中的线性模型基本形式基本最小二乘(Least Sqaures)岭回归(Rige Regression)LASSO逻辑斯谛回归(对数几率回归)

上图为随着α增大(从右往左), w 各个分量的变化情况,称为岭迹图。在实际中可以选择一个岭迹相对比较平稳,然后最后的误差变化不太大的参数作为α的值。

综合来看,岭回归就是通过放弃部分的信息和精度,获得更合理的结果,更好的数值稳定性。岭回归是一种有偏估计。

LASSO

LASSO的形式和岭估计非常类似,只是正则化项从2范数变成了1范数

w∗=argminw(∥Xw−y∥22+α∥w∥1)(3)

LASSO可以产生更为稀疏的解,就是随着 α 的增长, w 中一直可能会产生0。

下面两幅图描述了岭回归和LASSO的解的分布,图中的β就是本文中的 w

机器学习中的线性模型基本形式基本最小二乘(Least Sqaures)岭回归(Rige Regression)LASSO逻辑斯谛回归(对数几率回归)

上图是岭回归的解的情况,解就是等高线和圆相切的地方

机器学习中的线性模型基本形式基本最小二乘(Least Sqaures)岭回归(Rige Regression)LASSO逻辑斯谛回归(对数几率回归)

上图是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>的估计值。

以上就是列出的一些线性模型以供参考,还有其他很多的线性模型的变体,感兴趣的可以进一步地查找资料。

继续阅读