损失函数与模型评估指标、目标函数的区别

对于这样的简单的线性回归问题:

x y_true
1 2
3 4

我们可以假设方程为 y = w x + b y= wx+b y=wx+b
当w =1,b=-1时 (即y=x-1,称为模型A)

x y_true y_pred
1 2 0
3 4 2

当w =1,b=0时 (即y=x,称为模型B)

x y_true y_pred
1 2 1
3 4 3

我们可以用SSE(残差平方和)来评估模型A和B哪个输出结果更好,当然对于回归问题,也可以选取MSE(均方误差)和RMSE(均方根误差)来作为评估指标
S S E = ∑ 1 n ( y i ˉ − y i ) 2 SSE =\sum_1^n(\bar{y_i}-y_i)^2 SSE=1n(yiˉyi)2
其中 y i ˉ \bar{y_i} yiˉ是预测值, y i y_i yi为真实值

S S E ( 1 , − 1 ) = ( 0 − 2 ) 2 + ( 2 − 4 ) 2 = 8 SSE(1,-1) = (0-2)^2 +(2-4)^2 =8 SSE(1,1)=(02)2+(24)2=8
S S E ( 1 , 0 ) = ( 1 − 2 ) 2 + ( 3 − 4 ) 2 = 2 SSE(1,0) = (1-2)^2 +(3-4)^2 =2 SSE(1,0)=(12)2+(34)2=2
可以看到,模型评估指标是确定方程参数之后的计算结果

SSE值越小,模型效果越好,根据SSE值,我们可以判断模型B可能更适合一些。

而损失函数是带参数的方程:
S S E L o s s ( w , b ) = ( y 1 − y 1 ˉ ) 2 + ( y 2 − y 2 ˉ ) 2 = ( 2 − w − b ) 2 + ( 4 − 3 w − b ) 2 SSELoss(w,b) = (y_1-\bar{y_1})^2 + (y_2-\bar{y_2})^2=(2-w-b)^2+(4-3w-b)^2 SSELoss(w,b)=(y1y1ˉ)2+(y2y2ˉ)2=(2wb)2+(43wb)2

既然SSE和SSELoss的计算过程类似,那如何区别损失函数和模型评估指标呢?

  1. 对于很多模型来说(尤其分类模型),模型的评估指标和模型损失函数的计算过程并不一致,例如准确率就很难转化为一个以参数为变量的函数表达式;
  2. 模型评估指标和损失函数构建的目标不同,模型评估指标的计算目标是给模型性能一个标量计算结果,而损失函数的构建则是为了找到一组最优的参数结果。
    一旦损失函数构建完成,我们就可以围绕损失函数去寻找损失函数的最小值,以及求出损失函数取得最小值时函数自变量(也就是模型参数)的取值,此时参数的取值就是原模型中参数的最优取值结果。

损失函数和目标函数的区别与联系?

损失函数(Loss Function)是用来衡量模型预测结果和真实结果之间差异的一种函数,通常用于监督学习任务中。损失函数的值越小,表示模型的预测结果越接近真实结果。

目标函数(Objective Function)是在优化模型的过程中所要最小化或最大化的函数。通常情况下,目标函数就是损失函数,因为我们的目标是最小化模型的预测误差。

但是在某些情况下,目标函数可能不仅仅是损失函数。例如,当我们在训练带有正则化的模型时,目标函数可能包括两部分:损失函数和正则化项。在这种情况下,我们的目标是同时最小化损失函数和正则化值。

你可能感兴趣的:(机器学习,机器学习)