机器学习——线性回归模型
# Linear Regression
## 定义
- 回归定义: 通过带标签样本训练构造适当模型并通过该模型算出新样本的预测值
- 线性回归: 基于线性模型的回归学习任务通常称之为线性回归,相应的线性模型称为线性回归模型
- 对于任意给定的样本, 线性回归的初始模型表示为:
其中为参数向量
## 模型求解
给定训练样本,使用最小二乘法,即基于均方误差最小化进行模型求解:
则:
令对参数向量各分量的偏导数为0,即:
这个式子中 又被称为伪逆。对于行满秩或者列满秩的 ,可以直接求解,但是对于非满秩的样本集合,需要使用奇异值分解(SVD)的方法,对 求奇异值分解,得到
在几何上的解释可以这样说:
- 最小二乘法相当于模型(这里就是直线)和试验值的距离的平方求和。
**分散到每个样本**
- 假设我们的试验样本重构成一个 维空间(满秩的情况):,而模型可以写成 ,也就是 的某种组合,而最小二乘法就是说希望 和这个模型距离越小越好,于是它们的差应该与这个重构的空间垂直:
**分散到每个重构的维度**。这里的0并非是实数,而是0向量。
## 多重共线现象与过拟合
- 多元线性回归模型: 其重要假定之一不同样本之间的属性标记值之间不存在线性关系。即是可逆矩阵
- 多重共线现象: 当矩阵的行向量之间存在一定的线性相关性时,就会使得矩阵不可逆,此时就无法解出w的解析解。
- 在实际应用时,如果样本容量不远远大于样本的特征维度(),很可能造成过拟合,对这种情况,我们有下面三个解决方式:
1. 加数据
2. 特征选择(降低特征维度)如 PCA 算法。
3. 正则化
## 线性回归的贝叶斯方法解释
### 噪声为高斯分布的 MLE
对于一维的情况,记 ,那么 。代入极大似然估计中:
这个表达式和最小二乘估计得到的结果一样。
### 权重先验也为高斯分布的 MAP
取先验分布 。于是:
这里省略了 ,和 没有关系,同时也利用了上面高斯分布的 MLE的结果。
我们将会看到,超参数 的存在和下面会介绍的 Ridge 正则项可以对应,同样的如果将先验分布取为 Laplace 分布,那么就会得到和 正则类似的结果。
## [正则化](./Regularization.md)
正则化一般是在损失函数(如上面介绍的最小二乘损失)上加入正则化项(表示模型的复杂度对模型的惩罚),下面我们介绍一般情况下的两种正则化框架。
下面对最小二乘误差分别分析这两者的区别。
### Lasso : 范数
正则化可以引起稀疏解。
从最小化损失的角度看,由于 项求导在0附近的左右导数都不是0,因此更容易取到0解。
从另一个方面看, 正则化相当于:
我们已经看到平方误差损失函数在 空间是一个椭球,因此上式求解就是椭球和 的切点,因此更容易相切在坐标轴上。
### Ridge : 范数
也称岭回归 为了解决多重共线现象带来的问题,对线性回归参数的求解方法进行改进 。同时这种方法又称权值衰减。
**基本思想:** 在线性回归模型损失函数上增加一个针对的范数惩罚函数,通过对目标函数做正则化处理,将参数向量 中所有参数的取值压缩到一个相对较小的范围,即要求中所有参数的取值不能过大
岭回归的**损失函数**:
其中, 称为正则化参数。当的取值较大时,惩罚项就会对损失函数的最小化产生一定的干扰,优化算法就会对回归模型参数赋予较小的取值以消除这种干扰 。令对参数的偏导数为0,得:
其中为𝑚阶单位矩阵。可以看到,这个正则化参数和前面的 MAP 结果不谋而合。利用2范数进行正则化不仅可以是模型选择 较小的参数,同时也避免 不可逆的问题。即使本身不是可逆矩阵,加上也可使得组成为可逆矩阵,这也解决了多重共线问题
正则化参数的影响

## 小结
线性回归模型是最简单的模型,但是麻雀虽小,五脏俱全,在这里,我们利用最小二乘误差得到了闭式解。同时也发现,在噪声为高斯分布的时候,MLE 的解等价于最小二乘误差,而增加了正则项后,最小二乘误差加上 L2 正则项等价于高斯噪声先验下的 MAP解,加上 L1 正则项后,等价于 Laplace 噪声先验。
传统的机器学习方法或多或少都有线性回归模型的影子:
1. 线性模型往往不能很好地拟合数据,因此有三种方案克服这一劣势:
1. 对特征的维数进行变换,例如多项式回归模型就是在线性特征的基础上加入高次项。
2. 在线性方程后面加入一个非线性变换,即引入一个非线性的激活函数,典型的有线性分类模型如感知机。
3. 对于一致的线性系数,我们进行多次变换,这样同一个特征不仅仅被单个系数影响,例如多层感知机(深度前馈网络)。
2. 线性回归在整个样本空间都是线性的,我们修改这个限制,在不同区域引入不同的线性或非线性,例如线性样条回归和决策树模型。
3. 线性回归中使用了所有的样本,但是对数据预先进行加工学习的效果可能更好(所谓的维数灾难,高维度数据更难学习),例如 PCA 算法和流形学习。
有时会发现学习是一件很快乐的事情 比一直跑步容易多了 不是嘛
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了