[读书笔记]《西瓜书》第三章 线性模型 补充

November 5, 2020

1850 8 minutes and 24 seconds
[读书笔记]《西瓜书》第三章 线性模型 补充

第三章 线性模型 补充


前提假设

引用知乎答案:回归最基本的前提假设是什么?

There are four principal assumptions which justify the use of linear regression models for purposes of inference or prediction:

  • linearity and additivity of the relationship between dependent and independent variables:
    • (a) The expected value of dependent variable is a straight-line function of each independent variable, holding the others fixed.
    • (b) The slope of that line does not depend on the values of the other variables.
    • (c) The effects of different independent variables on the expected value of the dependent variable are additive.
  • statistical independence of the errors (in particular, no correlation between consecutive errors in the case of time series data)
  • homoscedasticity (constant variance) of the errors
    • (a) versus time (in the case of time series data)
    • (b) versus the predictions
    • (c) versus any independent variable
  • normality of the error distribution.

个人对上面的翻译:

在使用线性回归模型用来做推断和预测的时候,需要建立在四个假设的基础上是合理的:

  • 因变量和自变量之间关系存在线性的关系且具有可加性
    • 当其他自变量不变时,因变量的期望值可以通过任一自变量的一条直线函数得到
    • 该线的斜率不取决于其他因变量的值
    • 不同自变量对因变量期望值的影响是累加的
  • 误差的统计独立性(特别是在时间序列数据的情况下,连续错误之间没有相关性)
  • 误差之间是的同方差(恒定方差)
    • 与时间之间(对于时间序列数据)
    • 与预测值之间
    • 与任一因变量之间
  • 误差是呈现正态分布的

总结一下,即:线性回归是建立在承认数据集存在噪音的基础之上的,而且这些噪声本身是属于同一方差和均值下的正态分布中的样本,换句话说,即假设这些噪声是独立同分布的从一个均值为$\mu$方差为$\sigma$的正态分布中取出的。

最小二乘法(最小平方法)

引用B站大神shuhuai008视频:白板推导系列:线性回归-最小二乘法

这里吐槽一下:我个人觉得最小二乘法这个名称特别难记,还不如最小平方法来的实际

标准定义

最小二乘法,又称最小平方法,是一种数学优化建模方法。它通过最小化误差的平方和寻找数据的最佳函数匹配。 利用最小二乘法可以简便的求得未知的数据,并使得求得的数据与实际数据之间误差的平方和为最小。 “最小二乘法”是对线性方程组,即方程个数比未知数更多的方程组,以回归分析求得近似解的标准方法。

视频中讲解了如何用最小二乘法来进行估计线性回归的闭式解,并且从几何视角和概率视角进行了讲解,相比西瓜书来说要容易理解的多。

样本集的特征构成了一个 $p$ 维的空间,而 $y$ 向量独立于这个空间,目的即为找到一条直线离这个 $y$ 向量最近

这里前者可以看做将原来的总噪声分布在每个样本之上的,后者则可以看做将原来的总噪声分布在每个特征之上

上面就是我看过视频觉得最有启发的两个点

Lasso和Ridge

首先要明确的一个问题是标准线性回归的公式最终求解的公式为 $\boldsymbol{w}=(X^{T}X)^{-1}X^{T}\boldsymbol{y}$ 中可以看出在计算回归系数的时候我们需要计算矩阵 $X^{T}X$ 的逆,但是如果该矩阵是个奇异矩阵,则无法对其进行求解。

那么什么情况下该矩阵会有奇异性呢?

  • $X$ 本身存在线性相关关系(多重共线性),即非满秩矩阵。

    如果数据的特征中存在两个相关的变量,即使并不是完全线性相关,但是也会造成矩阵求逆的时候造成求解不稳定。

  • 当数据特征比数据量还要多的时候,这时候矩阵是一个矮胖型的矩阵,也是非满秩的矩阵。

Lasso和Ridge在损失函数

二者的共同目的都是为了将回归系数 $\boldsymbol{w}$ 收缩到一定的区域内,防止模型的过拟合

Lasso

Lasso的主要思想是构造一个一阶惩罚函数,来得到一个防止过拟合的模型。

本质为:

以两个变量为例,标准线性回归的loss function还是可以用二维平面的等值线表示,Lasso的约束条件可以用方形表示,如下图:

当方形的顶点与抛物面相交时,其切点在坐标轴上的概率更大,因此其对应的权重变为0

其本身特点有:

  • Lasso 对于异常值不敏感
  • Lasso 可以将权重较小的值,置为0,因此可以用作特征选择
  • Lasso 可能存在多个最优解

Ridge

Ridge的主要思想是构造一个二阶惩罚函数,来得到一个防止过拟合的模型。

本质为:

以两个变量为例, 标准线性回归的loss function还是可以用二维平面的等值线表示。而Ridge限制条件相当于在二维平面的一个圆。如下图:

这个时候等值线与圆相切的点便是在约束条件下的最优点,但通常情况下,其切点在坐标轴上的概率较小,因此其对应的权重很难变为0

其本身的特点有:

  • Ridge 在计算过程中十分方便
  • Ridge 一定只有一条最好的预测线
  • Ridge 对于异常值要比 Lasso 敏感一点

对比

这里详细的内容参见 知乎答案 L1正则与L2正则的特点是什么,各有什么优势?

这里摘抄两个图粘贴在此,以作为方便记忆上面的Lasso和Ridge各自的特点

在梯度更新时,不管 L1 的大小是多少(只要不是0)梯度都是1或者-1,所以每次更新时,它都是稳步向0前进。

而看 L2 的话,就会发现它的梯度会越靠近0,就变得越小。

也就是说加了 L1 正则的话基本上经过一定步数后很可能变为0,而 L2 几乎不可能,因为在值小的时候其梯度也会变小。于是也就造成了 L1 输出稀疏的特性。


以上内容也可以到我的 Github 去查看(附了相应实现代码哟) Machine-Learning-Notes