线性回归和逻辑回归有什么区别和联系?
简化版
区别:线性回归解决回归(预测连续值,如房价),输出 wᵀx+b,用 MSE 损失;逻辑回归解决分类(预测类别概率),在 wᵀx+b 外套一层 sigmoid 把输出压到 (0,1) 当概率,用交叉熵损失。联系:两者都是广义线性模型,都有 wᵀx+b 这个线性核心、决策边界都是线性的;逻辑回归可看成「对数几率的线性回归」——它对 log(p/(1-p)) 做线性回归,再用 sigmoid 映射成概率。简言之,逻辑回归 = 线性回归 + sigmoid + 换成交叉熵损失。
详细版
核心对比:
| 维度 | 线性回归 | 逻辑回归 |
|---|---|---|
| 任务 | 回归(连续值) | 分类(离散类别) |
| 输出 | ŷ = wᵀx+b(任意实数) | p = σ(wᵀx+b) ∈ (0,1) 概率 |
| 映射函数 | 无(直接输出) | sigmoid(二类)/ softmax(多类) |
| 损失函数 | 均方误差 MSE | 交叉熵 / 对数损失 |
| 损失来源 | 高斯噪声最大似然 | 伯努利最大似然 |
| 求解 | 正规方程 / 梯度下降 | 梯度下降(无闭式解) |
| 输出解释 | 预测数值 | 类别概率 |
联系:
- 都属于广义线性模型(GLM),共享线性核心
wᵀx+b。 - 逻辑回归 = 对对数几率做线性回归:
log(p/(1-p)) = wᵀx+b。 - 决策边界都是线性的(超平面)。
- 逻辑回归是在线性回归基础上:套 sigmoid + 改交叉熵损失。
完整版教学
一、它们的共同基因:都有 wᵀx+b
两个模型的核心都是特征的线性组合 z = wᵀx + b——一个超平面。区别只在拿这个 z 干什么、以及怎么衡量误差。理解这一点,就理解了它们「同源而分化」的关系。
- 线性回归:z 直接就是预测值(预测房价、销量等连续量)。
- 逻辑回归:z 只是中间量(logit),还要再经 sigmoid 变成概率。
二、区别一:任务与输出不同
- 线性回归做回归:目标是连续数值,输出
ŷ = wᵀx+b可以是任意实数(-∞, +∞)。 - 逻辑回归做分类:目标是类别,需要一个 (0,1) 的概率。但线性输出是整个实数轴,范围不匹配,所以要套一个 sigmoid 把它压进 (0,1):
p = σ(wᵀx+b),再按阈值(默认 0.5)判类别。
这就是逻辑回归比线性回归多出来的一层——sigmoid 映射,它把「无界的线性打分」转成「有界的概率」。
三、区别二:损失函数不同(且各有概率来源)
- 线性回归用 MSE(平方误差)。它对应「误差服从高斯分布」的最大似然估计——高斯噪声假设下,最大化似然等价于最小化平方误差。
- 逻辑回归用交叉熵(对数损失)。它对应「标签服从伯努利分布」的最大似然——分类输出是 0/1,伯努利似然取负对数就是交叉熵。
为什么标准逻辑回归不用 MSE?(高频追问)MSE 套在 sigmoid 上后目标一般不再是凸函数,而且梯度多出 p(1-p):预测严重错误却落在饱和区时,更新反而可能很小。交叉熵来自伯努利最大似然,在线性 logit 参数化下是凸的,梯度也简化为 Xᵀ(p-y);因此它是标准逻辑回归的自然选择,而不是说所有分类算法都只能使用交叉熵。
四、区别三:求解方式
- 普通最小二乘有线性代数解:满列秩时可写成
w=(XᵀX)⁻¹Xᵀy;工程上更常用 QR、SVD 或伪逆来避免显式求逆,也可以用梯度法。 - 标准逻辑回归没有对应的闭式解:一阶条件含 sigmoid,通常用梯度法、L-BFGS、牛顿法或 IRLS 迭代求解。其负对数似然是凸的,但在完全分离且无正则时,有限的 MLE 可能不存在,不能把“凸”误说成“总有唯一有限解”。
五、最重要的联系:逻辑回归是「对数几率的线性回归」
这是把两者联系起来的关键洞察,也是「为什么逻辑回归叫回归」的答案。从 p = σ(wᵀx+b) 反推:
p = 1/(1+e^(-(wᵀx+b)))
⟹ log( p/(1-p) ) = wᵀx + b
↑ 对数几率(log-odds)
左边 log(p/(1-p)) 是对数几率,右边是线性组合。也就是说:逻辑回归是在对「对数几率」做线性回归!它没有直接回归类别,而是回归了「对数几率」这个连续量,再通过 sigmoid 把它翻译回概率。这解释了名字里的「回归」,也揭示了它和线性回归的血缘:换了个回归对象(从 y 变成 log-odds),再套 sigmoid。
六、统一视角:广义线性模型(GLM)
两者都是广义线性模型(GLM) 的特例。GLM 的框架是:
线性预测 η = wᵀx+b → 连接函数 g → 期望响应 E[y]
- 线性回归:连接函数是恒等函数,输出服从高斯分布。
- 逻辑回归:连接函数是 logit(sigmoid 的逆),输出服从伯努利分布。
换不同的分布和连接函数,还能得到泊松回归(计数)、多项回归(多分类 softmax)等。所以线性回归和逻辑回归本质是同一个大框架下、因「输出分布假设」不同而分化出的两个成员。
七、常见追问
- 逻辑回归为什么叫「回归」? 因为它对对数几率做线性回归,见第五节。
- 两者决策边界都是线性的吗? 是。逻辑回归
p=0.5 ⟺ wᵀx+b=0是线性超平面;要非线性边界需加多项式/交叉特征或换模型。 - 能用线性回归做分类吗? 勉强可以(把类别当 0/1 拟合),但输出会超出 [0,1]、对离群点敏感、决策不稳,效果差,实践不用。
- 都需要特征缩放吗? 用梯度下降或带正则时都建议缩放;线性回归用正规方程时不必。
八、用算例与工程边界复核
二者都先计算 z=wᵀx+b。线性回归直接令 ŷ=z,可输出任意实数;逻辑回归令 p=σ(z),例如 z=0 时 p=0.5、z=2 时 p≈0.881,再通过阈值把概率映射为类别。
| 对象/方案 | 核心机制 | 选择或风险 |
|---|---|---|
| 线性回归 | 连续 y,高斯噪声下用 MSE | 输出无界 |
| 逻辑回归 | 伯努利/多项分布,用交叉熵 | 输出条件概率 |
| 共同点 | 参数对线性预测子 z 起作用 | 可正则化并迭代优化 |
把推导和选择压缩成执行路径:
x -> z = w^T x + b
linear: z -> real-valued prediction
logistic: z -> sigmoid -> probability
task distribution decides loss and link
逻辑回归不是“在线性回归后面随便加 sigmoid”;它来自伯努利条件似然,对数几率对特征线性。
九、常见误区与追问
- 误区:逻辑回归是回归任务模型。 名称中的“回归”指对 log-odds 建线性模型,主要用途是分类概率建模。
- 误区:线性回归输出截到 0 到 1 就等价于逻辑回归。 截断不提供伯努利似然,梯度、概率解释和决策边界训练都不同。
- 追问:两者决策边界为什么仍是线性的? p=0.5 对应 z=0,因此原始特征空间中的阈值边界是超平面。
- 追问:逻辑回归能表示非线性吗? 可先加入多项式、样条或交叉特征,使其对变换后特征仍保持线性参数化。
- 追问:两者都能用正规方程吗? 线性最小二乘有闭式解;逻辑似然含 sigmoid,通常需迭代优化。
十、加强记忆
记忆时抓住这条主线:线性回归 vs 逻辑回归,同源于 wᵀx+b,因任务分化:线性回归做回归、直接输出连续值、用 MSE(高斯最大似然)、有闭式解;逻辑回归做分类、套 sigmoid 把线性输出压成 (0,1) 概率、用交叉熵(伯努利最大似然)、只能迭代求解。最关键的联系是逻辑回归 = 对「对数几率」做线性回归(log(p/(1-p))=wᵀx+b,再 sigmoid 映射),这也是它叫「回归」的原因。二者都属广义线性模型、决策边界都线性。记忆锚点:逻辑回归 = 线性回归 + sigmoid + 交叉熵损失。