损失函数(目标函数)
损失函数(目标函数)是用来衡量模型的预测值与实际值之间差异的函数。对于线性回归问题,最常用的损失函数是平方误差损失函数,也称为均方误差(Mean Squared Error, MSE)。
平方误差损失函数的形式是:
J
(
θ
)
=
1
2
m
∑
i
=
1
m
(
y
i
−
h
θ
(
x
i
)
)
2
J(\theta) = \frac{1}{2m} \sum_{i=1}^{m} (y^{i} - h_{\theta}(x^{i}))^2
J(θ)=2m1i=1∑m(yi−hθ(xi))2
这个损失函数的来源是最小二乘法(Least Squares Method),其目标是最小化预测误差的平方和。下面是这个损失函数的推导过程:
- 定义误差项:
首先,我们定义每个数据点的误差项 e i { e^{i}} ei为模型的预测值与实际值之间的差异,即: e i = y i − h θ ( x i ) e^{i}=y^{i} - h_{\theta}(x^{i}) ei=yi−hθ(xi)其中, h θ ( x i ) h_{\theta}(x^{i}) hθ(xi)是由参数 θ \theta θ决定的模型对第 i i i个观测值的预测。 - 平方误差:
然后,我们计算每个数据点的误差的平方,这是为了处理误差的正负号,使得过小的误差不会被忽略,同时过大的误差会受到更多的惩罚: ( e i ) 2 = ( y i − h θ ( x i ) ) 2 (e^{i})^2=(y^{i} - h_{\theta}(x^{i}))^2 (ei)2=(yi−hθ(xi))2 - 求和:
我们对所有训练数据的平方误差求和,以获得模型在整个训练集上误差的总和: ∑ i = 1 m ( y i − h θ ( x i ) ) 2 \sum_{i=1}^{m} (y^{i} - h_{\theta}(x^{i}))^2 i=1∑m(yi−hθ(xi))2 - 均值:
为了使得损失函数不受样本数量 m m m的影响,我们取平方误差的均值,即除以 m m m: 1 m ∑ i = 1 m ( y i − h θ ( x i ) ) 2 \frac{1}{m} \sum_{i=1}^{m} (y^{i} - h_{\theta}(x^{i}))^2 m1i=1∑m(yi−hθ(xi))2 - 乘以 1/2:
最后,我们常常在损失函数前面乘以 1 2 \frac{1}{2} 21,这样做的主要原因是在对损失函数求导时,这个系数可以正好抵消掉平方项前的 2,简化后续的求导计算: J ( θ ) = 1 2 m ∑ i = 1 m ( y i − h θ ( x i ) ) 2 J(\theta) = \frac{1}{2m} \sum_{i=1}^{m} (y^{i} - h_{\theta}(x^{i}))^2 J(θ)=2m1i=1∑m(yi−hθ(xi))2
在实际的线性回归模型训练中,我们通过最小化这个损失函数来找到最优的参数 θ \theta θ,使得模型的预测值尽可能地接近实际值,这个过程通常是通过梯度下降来完成的。