线性回归与逻辑回归
问题
线性回归和逻辑回归的原理是什么?它们有什么区别?
答案
一、线性回归
线性回归用于回归任务(预测连续值):
损失函数:均方误差(MSE)
二、逻辑回归
逻辑回归用于分类任务(二分类),在线性回归基础上加 Sigmoid:
损失函数:交叉熵(Cross-Entropy)
三、对比
| 对比维度 | 线性回归 | 逻辑回归 |
|---|---|---|
| 任务类型 | 回归(连续值) | 分类(离散值) |
| 输出范围 | 概率 | |
| 激活函数 | 无 | Sigmoid |
| 损失函数 | MSE | Cross-Entropy |
| 决策边界 | 无 | 线性决策边界 |
四、正则化
防止过拟合,在损失函数中添加惩罚项:
| 正则化 | 公式 | 效果 |
|---|---|---|
| L1 (Lasso) | 特征选择(稀疏解) | |
| L2 (Ridge) | 权重衰减(防过拟合) | |
| Elastic Net | 两者结合 | 兼顾特征选择和稳定性 |
五、梯度下降
| 变体 | 每步使用数据量 | 特点 |
|---|---|---|
| BGD | 全部数据 | 稳定但慢 |
| SGD | 1 个样本 | 快但震荡 |
| Mini-batch GD | 一个 batch | 平衡速度和稳定性 |
常见面试问题
Q1: 逻辑回归为什么用交叉熵而不用 MSE?
答案:
- Sigmoid + MSE 会导致损失函数非凸,存在大量局部最优
- Sigmoid + 交叉熵的损失函数是凸函数,有唯一全局最优
- 交叉熵的梯度更大,训练更快(不会出现 Sigmoid 两端梯度消失)
Q2: L1 正则化为什么能做特征选择?
答案:
- L1 惩罚项在原点处不可导,优化时容易将某些权重精确地推到 0
- 权重为 0 意味着对应特征被丢弃,实现了自动特征选择
- L2 只会让权重接近 0 但不会精确等于 0
Q3: 逻辑回归和 SVM 的区别?
答案:
- 逻辑回归优化交叉熵损失,SVM 优化合页损失(Hinge Loss)+ 最大间隔
- 逻辑回归输出概率,SVM 输出类别
- SVM 只关注支持向量(决策边界附近的样本),逻辑回归使用所有样本
- 小数据集 SVM 通常更好,大数据集逻辑回归更实用