线性回归损失函数推导
时间: 2023-11-23 10:55:24 浏览: 70
线性回归的损失函数通常采用最小二乘法,即将所有样本的预测值与真实值之差的平方和最小化。假设有 $m$ 个样本,每个样本有 $n$ 个特征,$x^{(i)}$ 表示第 $i$ 个样本的特征向量,$y^{(i)}$ 表示第 $i$ 个样本的真实值,$w$ 表示模型的参数向量,$b$ 表示模型的截距,则线性回归的模型可以表示为:
$$
\hat{y}^{(i)} = w^Tx^{(i)} + b
$$
其中 $\hat{y}^{(i)}$ 表示第 $i$ 个样本的预测值。对于所有的样本,我们可以定义损失函数 $J(w,b)$ 为:
$$
J(w,b) = \frac{1}{2m}\sum_{i=1}^{m}(\hat{y}^{(i)} - y^{(i)})^2
$$
其中 $\frac{1}{2}$ 是为了方便后续求导,$m$ 是样本数量。我们的目标是最小化损失函数 $J(w,b)$,即:
$$
\min_{w,b} J(w,b)
$$
为了求解最小化问题,我们需要对 $J(w,b)$ 分别对 $w$ 和 $b$ 求偏导数,并令其为 $0$,得到 $w$ 和 $b$ 的最优解。具体地,对 $w$ 求偏导数有:
$$
\begin{aligned}
\frac{\partial J(w,b)}{\partial w} &= \frac{1}{m}\sum_{i=1}^{m}(\hat{y}^{(i)} - y^{(i)})x^{(i)} \\
&= \frac{1}{m}\sum_{i=1}^{m}(w^Tx^{(i)} + b - y^{(i)})x^{(i)}
\end{aligned}
$$
对 $b$ 求偏导数有:
$$
\begin{aligned}
\frac{\partial J(w,b)}{\partial b} &= \frac{1}{m}\sum_{i=1}^{m}(\hat{y}^{(i)} - y^{(i)}) \\
&= \frac{1}{m}\sum_{i=1}^{m}(w^Tx^{(i)} + b - y^{(i)})
\end{aligned}
$$
令上述偏导数为 $0$,解得 $w$ 和 $b$ 的最优解为:
$$
\begin{aligned}
w &= (X^TX)^{-1}X^Ty \\
b &= \frac{1}{m}\sum_{i=1}^{m}(y^{(i)} - w^Tx^{(i)})
\end{aligned}
$$
其中 $X$ 是 $m \times n$ 的矩阵,每行表示一个样本的特征向量,$y$ 是 $m$ 维向量,表示所有样本的真实值。上述公式可以通过矩阵运算一次性求解,这就是线性回归的闭式解。如果样本数量很大,矩阵 $X^TX$ 可能不可逆,此时可以使用梯度下降等迭代算法求解。
阅读全文