线性回归模型常见面试知识点详解#
线性回归是机器学习面试中最基础、也最容易被深入追问的模型之一。面试官通常不会只考察公式,而是会从模型原理、损失函数、优化算法、模型评估、正则化、基本假设和实际应用等方面展开。
如果你正在准备机器学习算法工程师面试,建议按照下面这套知识体系复习。
1. 面试知识体系#
第1层:基础原理;模型表达式、参数含义、最小二乘法、损失函数。
第2层:数学与优化;梯度下降、梯度推导、凸优化、学习率。
第3层:评估与泛化;MSE、RMSE、MAE、R²、过拟合、欠拟合。
第4层:进阶与扩展;Ridge、Lasso、多重共线性、异常值、统计假设。
2. 基础原理#
Q1: 什么是线性回归?#
线性回归是一种监督学习算法,通过学习输入特征与连续型目标变量之间的线性关系,预测目标变量的数值,单特征线性回归的表达式为:
$$ \hat y=wx+b $$其中:
$x$:输入特征。
$w$:权重,表示特征对预测值的影响程度。
$b$:偏置项。
$\hat y$:模型预测值。
多特征线性回归可以写为:
$$ \hat y=w_1x_1+\cdots+w_nx_n+b $$如有忘记可以通过 线性回归模型的建立与求解:原理、公式与训练过程 末尾的交互式练习来进行回顾。
Q2: “线性”是什么意思?#
这里的线性主要指模型对参数是线性的,而不一定要求模型对原始输入特征是线性的。
例如:
$$ \hat y=w_1x+w_2x^2+b $$虽然包含 $x^2$,但模型对参数 $w_1,w_2,b$ 仍然是线性的,因此它属于线性回归模型的范畴,通常称为多项式回归。
Q3: 线性回归的目标是什么?#
核心目标是找到一组参数,使模型预测值与真实值之间的误差尽可能小。
最常见的目标函数是均方误差(MSE):
$$ J(w,b)= \frac{1}{m}\sum_{i=1}^{m} (\hat y_i-y_i)^2 $$其中 $m$ 为样本数量。
平方误差有三个重要特点:
对正负误差进行平方,避免误差相互抵消。
对较大的误差惩罚更重。
目标函数具有良好的数学性质,便于使用梯度下降或最小二乘法求解。
Q4: 为什么不用绝对误差损失?#
线性回归中并不是不能使用绝对误差损失(MAE),而是平方误差损失(MSE)在数学优化和统计建模方面有一些优势。
具体回答时可以高度总结为:
线性回归并非不能使用 MAE,而是传统上经常使用 MSE。首先,MSE 关于模型参数是光滑的凸二次函数,便于求导和优化;其次,在误差服从高斯分布时,最小化 MSE 等价于最大似然估计;此外,MSE 会对大误差施加更强的惩罚对异常值比较敏感,而 MAE 更稳健。因此,具体使用哪种损失函数,需要结合数据分布和业务目标决定。 例如如果业务更关注预测误差的中位数意义,MAE 可能更合适;如果更关注大误差的惩罚,MSE 往往更符合需求。
以下是逐项解释:
假设真实值为 $y$,预测值为 $\hat y$,残差为 $e=y-\hat y$,此时:
绝对误差损失(MAE)为 $ L(e)=|e| $
平方误差损失(MSE)为 $ L(e)=e^2 $
两者对不同大小误差的惩罚不同:
| 误差绝对值 | MAE 损失 | MSE 损失 |
|---|---|---|
| 1 | 1 | 1 |
| 2 | 2 | 4 |
| 5 | 5 | 25 |
| 10 | 10 | 100 |
可以看到,MSE 对大误差的惩罚增长更快,因此模型会更加重视较大的预测误差。
Q5: 为什么线性回归常用MSE?#
MSE 更容易进行梯度优化是线性回归通常使用 MSE最重要的原因之一。
对于平方误差$ L(e)=e^2 $来说,对预测值求导结果为:
$$ \frac{\partial L}{\partial \hat y} =2(\hat y-y) $$它在所有位置都可导,梯度连续,可以直接用于梯度下降。
对于绝对误差 $ L(e)=|y-\hat y| $来说,对预测值求导结果为:
$$ \frac{\partial L}{\partial \hat{y}}= \begin{cases} 1, & \hat y > y \\ -1, & \hat{y} < y \end{cases} $$当 $\hat y=y$ 时,绝对值函数不可导。不过,可以使用次梯度等方法进行优化,因此这并不意味着 MAE 无法使用梯度下降。
两者的关键区别在于: