机器学习中逻辑回归和线性回归的区别
简单来说,逻辑回归是用于解决分类问题的,而线性回归是用于解决回归(预测)问题的。尽管它们的名字里都有“回归”,但本质和目标完全不同。
下面我用一个清晰的对比表格来展示核心区别,然后进行详细解释。
| 特性 | 线性回归 | 逻辑回归 |
|---|---|---|
| 本质 | 回归算法 | 分类算法(虽名“回归”) |
| 预测目标 | 连续的数值(如房价、温度) | 离散的类别(如是/否,0/1/2) |
| 输出形式 | 直接输出一个连续的实数值 | 输出一个概率值(介于0和1之间) |
| 核心函数 | 线性函数(加权求和 + 偏置) | Sigmoid函数(将线性结果映射到概率) |
| 拟合方式 | 最小二乘法(最小化预测值与真实值的平方误差) | 最大似然估计(最大化观测到当前数据的概率) |
| 应用场景 | 预测销量、股价趋势、天气温度等 | 垃圾邮件识别、疾病诊断、客户流失预测等 |
深入解释
我们可以从四个核心层面来理解它们的区别:
1. 目标与输出
- 线性回归:它的目标是拟合一条直线(或超平面),使得这条线能最好地穿过或接近数据点。它的输出
y可以是任意实数(例如,y = 15.3万元,预测房价)。 - 逻辑回归:它的目标是在数据点之间找到一条决策边界,将不同类别的点分开。它的输出
p是某个样本属于正类(例如“是”)的概率(例如,p = 0.85,意味着有85%的概率是垃圾邮件)。然后通过一个阈值(通常为0.5)将这个概率转换为类别标签。
2. 核心函数与映射
- 线性回归:核心就是线性方程。
[
z = w_1x_1 + w_2x_2 + … + b
]
这个z就是最终的预测值y,范围是(-∞, +∞)。 - 逻辑回归:它在线性回归的结果之上,套用了一个 Sigmoid 函数。
[
p = \sigma(z) = \frac{1}{1 + e^{-z}}
]
其中z就是线性方程的输出。Sigmoid 函数将z从(-∞, +∞)挤压 到(0, 1)区间,完美地代表了概率。
3. 损失函数与优化目标
这是两者在数学上最根本的区别。
- 线性回归:使用均方误差损失函数。它的思想是“让预测值和真实值在数值上尽可能接近”。
- 逻辑回归:使用交叉熵损失函数。它的思想是“对于分类正确的样本,我们希望其预测概率尽可能接近1;对于分类错误的样本,希望其预测概率尽可能接近0”。这通过最大似然估计来实现。
4. 假设前提
- 线性回归:假设自变量和因变量之间存在线性关系,并且误差项服从正态分布等。
- 逻辑回归:不要求自变量和因变量呈线性关系,但要求因变量(在概率的Logit尺度上)与自变量呈线性关系。
一个生动的比喻
- 线性回归 像一个预言家,他努力预测一个精确的、具体的数值(“明天的气温会是23.5℃”)。
- 逻辑回归 像一个裁判,他根据证据做出一个判断,并给出对这个判断的信心程度(“这封邮件有92% 的可能是垃圾邮件,所以我判定它为垃圾邮件”)。
总结
| 线性回归 | 逻辑回归 | |
|---|---|---|
| 要解决的问题 | “是多少?” | “是A还是B?” |
| 输出 | 连续数值 | 属于某一类的概率 |
| 关键技术 | 最小化误差平方和 | 线性组合 + Sigmoid概率映射 + 最大化似然 |
| 关系 | 逻辑回归可以看作是在线性回归的输出上施加了一层Sigmoid变换,从而将回归问题转化为分类问题。 |
简单记住:要预测具体数字,用线性回归;要做是非判断,用逻辑回归。