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

被折叠的 条评论
为什么被折叠?



