线性回归作为机器学习的基础模型,看似简单却应用广泛。文章首先回顾了线性回归的基本原理,即假设目标变量是输入特征的线性函数,并探讨了误差项的分布。随后,文章介绍了线性回归的几种常见变体,包括多项式回归、广义线性回归、贝叶斯线性回归,以及神经网络。这些变体通过改变等式右侧的函数形式或左侧的目标变量函数,扩展了线性回归的应用范围。文章强调,即使是复杂的神经网络,其本质也是由大量线性回归单元组成的。
💡线性回归属于监督学习,假定目标变量是输入特征的线性函数,误差项服从均值为0、方差恒定的正态分布。
📈多项式回归是线性回归的自然推广,通过引入多项式,可以拟合目标与输入之间的非线性关系。当初步分析数据时,发现目标与输入的关系是弯曲的、非线性的,那么多项式回归或许值得一试。
🔗广义线性回归是线性回归的直接扩展,它假设目标变量的某个函数与输入的线性组合有关。常见的特例包括泊松回归(目标变量服从泊松分布)和逻辑回归(分类问题)。
🧠神经网络本质上是大量“重型并行版的线性回归”再加上“激活函数”而已。每个神经元就是一个线性回归,训练过程就是不断调整这些线性回归的系数。
2025-04-27 12:01 浙江
线性回归或许看起来有些平淡无奇,但它其实是许多机器学习模型的基础。

大数据文摘编译
在数据领域初学时,大家常听到的一个建议是:不要试图把整个机器学习都学透——因为它实在太庞大且变化太快,根本不现实;
而更应该聚焦在少数几个与数据工作日常紧密相关的模型,比如决策树、支持向量机,当然,还有线性回归。
线性回归本身就是一个非常实用的模型,更有意思的是,许多其他机器学习模型其实都是在它的基础上稍作改动而来。
本文的目的,就是想让大家看到这一点。接下来,我们会先简要回顾一下线性回归的基本原理,然后再介绍它的几种常见变体。
01 线性回归再认识
线性回归属于监督学习,也就是说我们有一个明确的输出变量(即目标变量),我们假定它是输入特征的线性函数。通常我们会用下面这样的公式来表示:
这里,y 是目标变量,x 是包含所有输入特征的向量,ε 代表“噪声”,也就是那些让我们的数据点无法完全落在直线上的误差。我们进一步假设这些噪声服从均值为0、方差恒定的正态分布,也就是说,无论特征值大小如何,数据点距离直线的远近都是类似的。
02 多项式回归
但在实际问题中,目标往往和特征之间关系更为复杂。刚意识到这一点时,很多人可能会觉得棘手,仿佛我们需要去找到某个函数 f,使得 y = f(x) + 噪声。不过,如果仔细想想线性回归的原理,就会发现现实世界很多规律其实都是连续的,这类函数往往可以用多项式很好地逼近(感兴趣的同学可以去查查 Weierstrass 逼近定理或 Stone-Weierstrass 定理)。线性函数其实只是一次多项式而已,所以多项式回归可以看作是一种自然的推广。模型形式大致如下:如果你在初步分析数据时,发现目标与输入的关系是弯曲的、非线性的,那么多项式回归或许值得一试。比如下图:
03 广义线性回归
多项式回归改变的是等式右侧的函数形式,那左侧呢?如果不是目标变量本身,而是它的某个函数和输入的线性组合有关呢?也就是说,模型变成了:这就是广义线性回归(Generalized Linear Regression,GLM)。当 f(y) = y 时,就是我们前面讨论的普通线性回归,所以广义线性回归是它的直接扩展。那 f 可以取什么形式呢?这取决于具体建模任务,但有几个常见的特例:如果怀疑目标变量服从泊松分布,自然可以取 f(y) = ln(y),这就是泊松回归。
还有更常见的分类问题。虽然线性回归及其变体主要用于回归任务(顾名思义),但数据人第一次接触分类任务时,往往学到的第一个模型就是逻辑回归。其实,逻辑回归正是广义线性回归在 logit 函数(f(y) = ln(y/(1-y))) 下的特例。
04 贝叶斯线性回归
这里不打算展开贝叶斯统计的基础知识,相关资料很多,有兴趣的同学可以自行查阅。简单来说,就是当我们的数据很少、信息有限时,可以借助专家意见(先验知识)来辅助建模,获得对问题更全面的认识。在线性回归的情境下,如果数据点很少,直接拟合参数往往不靠谱,因为信息量不足。但如果我们不追求唯一的“最佳拟合直线”,而是希望得到一条“高度可能包含真实直线”的区域,那么贝叶斯线性回归正好可以满足这样的需求。数学细节可能会比较复杂,但核心思想就是:与其给出一条确定的直线,不如给出一个可能包含直线的区域。数据点越多,这个区域就越窄,我们对直线的位置也越有信心。如下图所示:
05 神经网络
回到开头给初学者的建议,虽然深度学习和神经网络现在非常火爆,相关研究也是机器学习领域的前沿,但其实本质上,神经网络也就是大量“重型并行版的线性回归”再加上“激活函数”而已。简单来说,神经网络由许多“神经元”(也叫感知机)组成,分布在不同的层中。每个神经元本质上就是一个线性回归,加上一个激活函数,用来判断输入是否足够让神经元“激活”。神经网络的训练过程,其实就是在不断调整这些线性回归的系数。归根结底,神经网络就是大量的线性回归!不同的网络结构,核心区别无非是神经元(线性回归单元)数量和层数的不同。最复杂的深度网络,神经元可以多达上百万,层数也很多。激活函数的选择也有多种(Heaviside、ReLU、Sigmoid 等都很常见),有的网络还会在不同层用不同的激活函数。但本质区别也就这些。无论是 CNN、自动编码器、Transformer 等等,归根结底,都是由大量小小的线性回归单元组成的。06 总结
所以,线性回归或许看起来有些平淡无奇,但它其实是许多机器学习模型的基础。上面这些讨论远远不是全部内容,但希望能让你意识到线性回归的重要性。千万不要小看线性回归!
阅读原文
跳转微信打开