0%

机器学习-线性回归

什么是线性回归

线性方程

损失函数

种类

误差定义 L1
误差
绝对误差
绝对误差
平均绝对误差MAE
平均绝对误差
平方误差 L2
平方误差

均方误差 MSE
平方的目的 去掉负数
2m 乘以2 求2次方程导数的时候进行约分

均方根误差 RMSE? 受异常点影响大 因为平方是指数关系 一个离散点的影响将被放到而2次方 所以对结果产生的影响更大

一元线性回归

最小化损失函数

最小二乘法

损失函数以MSE来计算 即

该函数是一个凸函数(数学上是个凹函数)
所以其一阶导数为0的位置是其最小值
MSE是一个多元函数 求其一阶导数为0的位置也就是分别对每个自变量分别求偏导使其分别等于0
对求偏导

对求偏导(符合函数求倒 使用链式法则)

令

这些值都是通过样本数据可以计算出来的

令 式(1) 与式 (2) 均为0
则有

讲式(5) 乘以 再与式(4)相减求得
将w 再代回式(5)就可以求出b了

于是得到了 模型的w以及b的值
协方差样本公式

将前面求出来的的值变换变换以下形态
协方差
即的分子部分是协方差
那么分母呢
这不就是协方差公式吗方差
所以的值其实是协方差/方差,即

真实与预测的一元推导

直接给出公式

根据前面的推导有

在对求偏导数的时候有

对真实模型还要加上

对于真实模型有 所以有

所以有

所以
最后一项的求和部分为
将式11代回式10

这就是估计斜率与真实斜率之间的精确数学关系。

梯度下降法

有一元线性回归模型

所谓梯度下降法就是在求的时候先假定一个初始的值,比如为,然后计算出此时预测值的残差平方和, 然后计算梯度,用初始的减去梯度得到新的,然后在用这个新的计算残差平方和,两者进行比较,取残差平方和更小的那一个
梯度公式

求新的

梯度下降法在解释变量较多的时候不能有效的通过最小二乘法球的的时候很有用,或者对于一些多项式回归,多元回归的求解中效果较好
数学原理
在一元的线性函数,我们使用导数来描述被解释变量随着解释变量变化而变化的快慢,也被称为斜率,当斜率越大的时候这个变化速度就越快,此时我们要向知道向那个方向移动增加的最快,只需要求出当前位置的导数即可,
沿着导数的方向对进行变化就会得到最快的变化速度。将这个结论或找到多元函数中情况就变得复杂起来,在多元函数中我们也用导数来描述变化率的快慢,这个导数有一个专门的名称方向导数,因为在多元函数中,导数除了有大小之外,
还有方向,也就是说其是一个向量。
梯度的定义,对函数的各个参数求偏导得到的向量就是的梯度

将点带入梯度公式得到点的梯度记作
单位向量。单位向量是长度或者模场为1的向量,用来描述方向导数的方向,记作,它各个方向分量的平方和开根号的值为1。例如对单位向量 模长记作,也是L2 范数

导数的定义

将这个定义扩展到多元函数就得到了多元函数的方向导数的定义

如果有一个一元一次的线性函数,那么根据导数的定义式,可以推出

如果不是一次的线性函数,那么上面的公式就不成立了,需要在公式的右边部分补加上误差

如果是多元函数,就需要将变量换成向量

将用 替换,用替换

所以

即方向导数等于梯度与单位向量的点乘,当方向向量与梯度同向的时候,也就是等于度的时候取最大值,也就是上升最快,当等于度的时候取最小值,也就是下降最快。
这就是梯度下降法的数学原理,要向误差(残差平方和MSE)下降最快,只需要使得向着梯度相反的方向移动即可。

多元线性回归

多元回归的模型式下面这样的 i表示第i个样本 n表示有n个解释变量 w表示权重 x表示解释变量

通过线性代数的概念对上式进行整理
行列行列行列
根据矩阵的乘法规则最终得到一个的矩阵 每一行都是一个预测值

线性回归的基本假设

线性性

线性回归模型的形式为:

线性性指的是:模型对参数(即回归系数 是线性的,而不是对自变量 必须是线性的。
换句话说:

  • 允许出现非线性形式(如等,这些分线性的X可以被看作一个整体,结果仍然是线性的,后面的多项式回归,注入这种也被看作一个整体,那么多项式回归就变成了多元回归),
  • 这些非线性变换后的项仍以线性组合的方式出现在模型中。
    为什么非得针对必须是线性的,而不是针对是线性的,这是因为在使用最小二乘法计算残差方程的时候的自变量是,而来自样本数据,是已知的常数量,此时才是真正的解释变量
    如果是形如类型的非线性形式,那么最小二乘法求解残差方程的最小值的时候就不能利用凸函数的性质直接对两个变量分别求偏导,使其等于零来得到全局的最小值,只能通过梯度下降法来逐渐逼近最小值
    而且还容易陷入到局部最小值的怪圈里,无法求得全局的最小值,即局部最优解。
    从这一点出发,我们在解方程的时候其实是解的的值,所以必须对有线性关系。

误差项零均值

在线性性中的线性回归模型表示的就是预测值的误差,也叫扰动,代表模型未能捕捉到的其他影响因素。
误差行零均值说的是,在给定自变量的情况下,误差项 的期望为0,即:

该假设保证了模型的无偏性,说明模型没有系统性地高估或者低估
线性回归模型地估计量为
前面有一元的推导,这里是多元的表达式
只有当为零时,估计量才是无偏的。如果这个假设不成立,模型的回归系数就会偏离系统真实值,比如可能会高估或者低估教育对收入的影响。
违反零均值假设的情况很多,常见因素包括:

  • 遗漏其他重要解释变量
  • 测量误差
  • 联立性/反向因果 与互相影响
  • 样本选择偏差

如何理解系统性偏差
系统性偏差就是对于给定的,模型预测的值总是高于或者低于真实的的平均水平
扰动项

所以在给定的情况下的条件期望为
期望在给定的时候为常数,向外提
根据上式,当且仅当的时候有

即预测值与期望值无偏差,模型的预测平均值正好等于 Y 在给定 X 下的真实平均值。
但凡 就会发生系统性偏差,当然这是不可避免的。

同方差性

无自相关

自变量与误差项不相关

无完全多重共线性

正态性

Buy me a coffee.

欢迎关注我的其它发布渠道