机器学习入门——打包理解线性回归模型

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第8天,点击查看活动详情

线性模型(linear model)

线性模型试图学得一个通过属性的线性组合来进行预测的函数,即

f ( x ) = w 1 x 1 + w 2 x 2 + . . . + w t x t + b f(x)=w_{1}x_{1}+w_{2}x_{2}+...+w_{t}x_{t}+b

线性模型形式简单,但是其思想十分重要。许多强大的非线性模型可以在线性模型的基础上通过引入层级结构或者高维映射而得。

并且由于w直观的表达了各属性在预测中的重要性,所以线性模型有很好的可解释性。

线性回归模型存在一种假设,噪声服从0均值的正态分布

最小二乘回归(OLS Regression)

以均方误差为优化函数的线性回归模型就是最小二乘回归模型

均方误差有非常好的几何意义,在线性回归中,最小二乘法就是识图找到一条曲线,使得所有样本到曲线上的距离最小。

最小二乘法用途很广,不仅限于线性回归

最小二乘法对线性回归的矩阵解释:

可利用最小二乘法来对w和b进行估计,若数据集为满秩矩阵或正定矩阵,则有标准线性回归公式

w ^ = ( X T X ) 1 X T y \hat{\boldsymbol{w}}^{*}=\left(\mathbf{X}^{\mathrm{T}} \mathbf{X}\right)^{-1} \mathbf{X}^{\mathrm{T}} \boldsymbol{y}

然而,现实任务中数据集往往不是满秩矩阵。例如在许多任务中我们会遇到大量的变量,其数目甚至超过样例数,导致数据集的列数多于行数,数据集显然不满秩。此时可解岀多个最优权重,它们都能使均方误差最小化。选择哪一个解作为输出将由学习算法的归纳偏好决定,常见的做法是引入正则化(regularization)项

(解线性方程组时,若因变量过多,则会解出多组解)

广义线性模型

线性模型虽然简单,但是有丰富的变化,如对数线性回归,在形式上仍是线性回归,但实质上已是在求取输入空间到输出空间的非线性函数映射。

更一般的,考虑单调可微函数G(point),令

y = g 1 ( w T x + b ) y=g^{-1}(w^{T}x+b)

这样得到的模型称为“广义线性模型”( generalized linear model),其中函数g()称为“联系函数”( link function).显然,对数线性回归是广义线性模型在g()=ln()时的特例

广义线性回归模型的参数估计常通过加权最小二乘法或极大似然法进行

对数概率回归(logistic regression)

逻辑回归虽然称为回归,但却用于二分类问题,与最小二乘回归相比,优化任务从回归变为分类表示逻辑回归算法需要在两个方面上进行变化

联系函数:考虑二分类任务,其输出标记y∈{0,1},我们需要将实值z转换为0/1值,最理想的联系函数是“单位阶跃函数”,就是sigmoid函数

优化函数:考虑到问题的性质发生改变,我们需要改变优化函数,例如极大似然函数或者交叉熵损失函数,它们都是高阶连续可导凸函数

岭回归(Ridge Regression)

机器学习算法实践-岭回归和LASSO - 知乎 (zhihu.com)

由标准线性回归公式,我们知道,当特征矩阵为奇异矩阵时,无法对其进行求解,而

  • 特征矩阵本身存在线性相关关系(多重共线性), 即非满秩矩阵。如果数据的特征中存在两个相关的变量,即使并不是完全线性相关,但是也会造成矩阵求逆的时候造成求解不稳定。
  • 当数据特征比数据量还要多的时候, 即 [公式] , 这时候矩阵 [公式] 是一个矮胖型的矩阵,非满秩。

我们可以用标准线性回归做一定的变化使原先无法求逆的矩阵变得非奇异

例如,我们在最小二乘损失函数上添加一个L2正则化惩罚项,公式为

f ( w ) = i = 1 m ( y i x i T w ) 2 + λ i = 1 n w i 2 f(w)=\sum_{i=1}^{m}\left(y_{i}-x_{i}^{T} w\right)^{2}+\lambda \sum_{i=1}^{n} w_{i}^{2}

此时,岭回归系数用矩阵表示为

w ^ = ( X T X + λ I ) 1 X T y \hat{w}=\left(X^{T} X+\lambda I\right)^{-1} X^{T} y

可以看到,就是通过奖特征矩阵加上一个单位举证变成非奇异矩阵并可以进行求逆运算

岭回归限定了所有回归系数的平方和不大于 [公式] , 在使用普通最小二乘法回归的时候当两个变量具有相关性的时候,可能会使得其中一个系数是个很大正数,另一个系数是很大的负数。通过岭回归的限制,可以避免这个问题

岭回归的几何意义更加直观,以两个变量为例, 残差平方和可以表示为 [公式] 的一个二次函数,是一个在三维空间中的抛物面,可以用等值线来表示。而限制条件 [公式] , 相当于在二维平面的一个圆。这个时候等值线与圆相切的点便是在约束条件下的最优点。

注意,当参数λ=0时,得到的是最小二乘解,当参数λ变大时,岭回归系数趋于0,约束项很小

岭迹图:不同的λ得到不同的岭参数,我们可以通过画岭迹图来观察较佳的λ取值,观察变量是否由多重共线性

λ增大,系数趋于0,由不稳定趋于稳定

Lasso回归(Lasso Regression)

Lasso在很多地方与岭回归相似,不同的是,Lasso正则化惩罚项是L1正则化。这一变化带来的区别在几何层面上解释更为直观。

相比圆,方形的顶点更容易与抛物面相交,顶点就意味着对应更多的系数为0,即Lasso回归的正则化方法起到了很好的筛选变量的作用。两者在效果上的区别即是,Lasso回归针对某些问题十分有效,也就是说大部分时候岭回归更加有效一些。

两种回归均是在标准线性回归的基础上加上正则项来减小模型的方差。这里其实便涉及到了权衡偏差(Bias)和方差(Variance)的问题。方差针对的是模型之间的差异,即不同的训练数据得到模型的区别越大说明模型的方差越大。而偏差指的是模型预测值与样本数据之间的差异。所以为了在过拟合和欠拟合之前进行权衡,我们需要确定适当的模型复杂度来使得总误差最小。(废话)

弹性网回归(Elastic-Net Regression)

机器学习笔记-Ridge回归、Lasso回归和弹性网回归 - WarningMessage - 博客园 (cnblogs.com)

Lasso回归虽然大大降低了预测方差,达到了系数收缩和变量选择的目的,但是也有一定的局限性

  • 在Lasso回归求解路径中,对于m×d的设计矩阵来说,最多只能选出min(m,d)min(m,d)个变量。当d>m的时候,最多只能选出m个预测变量。因此,对于d∼m的情况,Lasso方法不能够很好的选出真实的模型。
  • 如果预测变量具有群组效应,则用Lasso回归时,只能选出其中的一个预测变量。
  • 对于通常的m>dm>d的情形,如果预测变量中存在很强的共线性,Lasso的预测表现受控于岭回归。

弹性网回归则解决了这些问题,解决方法即是将岭回归和Lasso回归的正则化惩罚项凸线性组合,公式为

E ( w ) = min w i = 1 m ( y i j = 1 d x i j w j ) 2 + λ j = 1 d w j + λ j = 1 d w j 2 E(w)=\min _{w} \sum_{i=1}^{m}\left(y_{i}-\sum_{j=1}^{d} x_{i j} w_{j}\right)^{2}+\lambda \sum_{j=1}^{d}\left|w_{j}\right|+\lambda \sum_{j=1}^{d} w_{j}^{2}

当α=0时,弹性网回归即为岭回归;当α=1时,弹性网回归即为Lasso回归。因此,弹性网回归兼有Lasso回归和岭回归的优点,既能达到变量选择的目的,又具有很好的群组效应。(此处α的含义不细究)

多项式回归(Polynomial Regression)

直线回归研究的是一个依变量与一个自变量之间的回归问题。研究一个因变量与一个或多个自变量间多项式的回归分析方法,称为多项式回归(Polynomial Regression)多项式回归模型是线性回归模型的一种。多项式回归问题可以通过变量转换化为多元线性回归问题来解决。如上,多项式回归没啥好说的

猜你喜欢

转载自juejin.im/post/7084950477669924900