首页技术损失函数曲线(函数曲线图汇总)

损失函数曲线(函数曲线图汇总)

编程之家2026-06-171151次浏览

大家好,如果您还对损失函数曲线不太了解,没有关系,今天就由本站为大家分享损失函数曲线的知识,包括函数曲线图汇总的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

损失函数曲线(函数曲线图汇总)

遗憾曲线表达式

目前未有权威文献给出遗憾曲线的统一数学表达式,网络讨论中出现的 z(θ)=eⁱᶿ+eⁱᵠᶿ可能属于特定模型或艺术化表达,并非决策理论中的标准定义。以下从学术定义和常见理解角度展开说明:

学术定义中的遗憾曲线在决策理论中,遗憾曲线是一种用于分析决策方案的图形工具。其核心逻辑是通过计算各方案在不同自然状态下的“遗憾值”来构建。遗憾值的定义为:在某一自然状态下,最优方案可能获得的收益与当前方案实际收益的差值。例如,若某自然状态下最优方案收益为100,而当前方案收益为80,则遗憾值为20。通过计算所有方案在所有自然状态下的遗憾值,并绘制成曲线(横轴为自然状态,纵轴为遗憾值),即可直观比较不同方案的抗风险能力。这种曲线强调的是“未选择最优方案导致的损失”,而非直接描述收益或概率。

网络讨论中的表达式分析部分网络资源中出现的 z(θ)=eⁱᶿ+eⁱᵠᶿ形式,从数学结构看更接近复数指数函数的组合(如欧拉公式 eⁱᶿ= cosθ+ i sinθ的扩展)。此类表达式可能源于以下场景:

特定数学模型:在量子力学、信号处理或某些抽象数学问题中,复数指数函数常用于描述周期性或波动性现象,但与决策理论中的遗憾曲线无直接关联。艺术化表达:可能为简化概念或视觉化呈现而设计的符号化表达,缺乏严格的数学定义和实际应用背景。关键区别与注意事项需明确区分“遗憾曲线”的学术定义与网络讨论中的非标准表达:

学术定义:基于遗憾值的计算,强调决策分析中的损失比较,图形结果具有实际决策指导意义。网络表达式:形式上更接近数学工具,但未明确与遗憾值的计算逻辑关联,可能仅作为概念示意。若需应用遗憾曲线进行决策分析,建议参考权威教材(如《决策分析导论》)中关于遗憾值计算和图形绘制的标准方法,避免混淆非标准表达。

一文搞懂损失函数(上)

一文搞懂损失函数(上)为什么需要损失函数从AI与传统算法的区别谈起AI(特别是机器学习和深度学习)与传统算法之间的一个重要区别是AI将训练和推理(或计算)这两个过程分开,而传统算法是基于既定规则对现有数据进行直接计算。传统算法的参数固定,一般不需要调整,如二叉树算法,数据来了就直接计算。而AI模型从大量历史数据中找规律来学习参数,将数据分为训练数据和验证数据。用训练数据训练模型得到最优参数集合,再用验证数据验证模型学习效果,得到最优参数集合后就可对现有数据进行计算(预测或者分类等)。

损失函数曲线(函数曲线图汇总)

从模型的训练过程来看模型需要通过训练得到,训练过程一般分为以下几个步骤:

获取训练数据:不仅要得到大量数据,还要保证数据质量。初始化模型参数:如对模型参数进行满足高斯分布的随机初始化,输入数据$x$,理论上可得到预测结果数据$hat{y}$,在监督学习中,训练数据提供真实值$y$,$hat{y}$与$y$之间的差值就是误差。反向调整模型参数:根据误差反向调整模型参数,经过多次调整(调整过程可参考相关文章)后得到相对靠谱的模型参数。验证模型:用验证数据验证模型,但不管怎么调整参数,都会出现两种趋势性结果:模型对训练数据拟合非常好,但现有数据应用效果不好,即泛化性差,因为历史不代表未来,经验总结未必适用于未来新情况。

模型对训练数据效果一般,即欠拟合,这种情况对未来数据拟合情况也不确定。

综上,损失函数就是预测值与真实值之间的差值用函数表达出来,用于指导如何训练得到最佳参数,找到损失函数也就找到了神经网络优化的目标。

什么是损失函数在函数是神经网络的本质中提到,若预测房价可用函数$y= Wx+ b$来拟合数据。衡量这条直线好坏的方法如下:

预测值$hat{y}$与真实值$y$的差绝对值总和均值最小,即MAE(Mean Absolute Error)方法。预测值$hat{y}$与真实值$y$的差平方总和均值最小,即MSE(Mean Squared Error)方法。神经网络的任务归根结底可分为回归问题和分类问题,为便于阅读,本篇先介绍回归问题的损失函数,下篇再介绍分类问题的损失函数。

损失函数曲线(函数曲线图汇总)

MAE方法预测值$hat{y}$与真实值$y$的差绝对值总和均值最小,这就是MAE(Mean Absolute Error)方法,损失函数为:$L=| y- hat{y}|$。其图形为V形:

当$hat{y}< y$时,$L(hat{y})= y- hat{y}$,这是一个斜率为-1的直线;当$hat{y}> y$时,$L(hat{y})= hat{y}- y$,这是一个斜率为+1的直线;当$hat{y}= y$时,$L(hat{y})= 0$。

MAE损失函数存在较大缺陷:一是0点不可导;二是一个梯度固定,很小的预测误差(损失)就会有较大的梯度,不好收敛。

MSE方法MSE也叫最小二乘法,最小二乘法是一种用于拟合数据的统计方法,目标是找到一条最佳拟合线或曲线,使所有数据点到该线或曲线的距离的平方和最小,本质上与MSE一样,只是MSE除以了$N$变成均值。

损失函数$L= sum(hat{y}_i- y_i)^2= sum(wx_i+ b- y_i)^2$

MSE-传统计算法求当$L$最小时,$W$与$b$的取值。因为$x_i$与$y_i$都是训练数据,即为已知数。例如:| x| 1| 2| 3| 4||---|---|---|---|---|| y| 0.8| 1.5| 1.8| 2.0|

把对应的$x_i$与$y_i$代入,会得到一个关于$W$,$b$的二次函数。对$W$与$b$求偏导,使其等于0,求解出$W$与$b$,就可得到在$L$最小时的$W$,$b$,即更好的拟合直线。

$frac{partial text{L}}{partial W}$= 60W+ 20b- 34.4= 0

$frac{partial text{L}}{partial b}$= 20W+ 8b- 12.2= 0

解得$W$= 0.39,$b$= 0.55,即在$L$最小时,拟合直线为$y= 0.39x+ 0.55$。

这里需要注意的是,$x_i$与$y_i$都是训练数据,即已知数,通过高等数学的求偏导就能得到$W$与$b$的值。

MSE-矩阵计算法上面的传统计算方法可行,但有更好的矩阵求解方法。

令$X= begin{bmatrix} 1& x_1 1& x_2 1& x_3 1& x_4 end{bmatrix}$,$quad B= begin{bmatrix} b w end{bmatrix}$,

则$X cdot B$就是$hat{y}= begin{bmatrix} b+ w x_1 b+ w x_2 b+ w x_3 b+ w x_4 end{bmatrix}$,那么$hat{y}- y= e= begin{bmatrix} y_1-(b+ w x_1) y_2-(b+ w x_2) y_3-(b+ w x_3) y_4-(b+ w x_4) end{bmatrix}$,则

$L= e^T cdot e= begin{bmatrix} y_1-(b+ w x_1),& y_2-(b+ w x_2),& ldots end{bmatrix} cdot begin{bmatrix} y_1-(b+ w x_1) y_2-(b+ w x_2) vdots y_4-(b+ w x_4) end{bmatrix}$

同样对矩阵求导,可以得到

$X^T cdot X cdot B= X^T cdot y Rightarrow B=(X^T cdot X)^{-1} cdot X^T cdot y$

同样可以解出来$W$和$b$的值。

从这里也可以看出为什么需要GPU,AI里面都是矩阵运算,而矩阵运算最容易并行,因为都是每一行与每一列对应数相乘再相加。

MAE与MSE的比较MSE的损失函数图形是一个抛物线,在0处可导。

MAE与MSE比较有以下区别:

MSE会放大大的误差,缩小小的误差,最终结果会让函数靠近偏差大的数据,即照顾到异常数据。MAE不会这样,会更好去拟合正常点,也可用来惩罚异常数据。折中的方法MAE和MSE都有优缺点,存在折中的损失函数——Huber Loss。Huber损失函数的设计目的是提高对异常值的鲁棒性,同时保持损失函数的可微性。函数表达为:

$L_delta(a)= begin{cases} frac{1}{2} a^2& text{for}|a| leq delta delta(|a|- frac{1}{2} delta)& text{for}|a|> delta end{cases}$

其中$a= y- hat{y}$,而$delta$是一个超参数。

当预测误差小于阈值(超参数)的时候就是MSE(上面的式子),如果预测误差大于阈值(超参数)的类似于MAE(下面的式子),这个函数在0也是可导的。

下一篇文章将继续分析分类问题的损失函数。

(4)损失函数

损失函数用来表示输出与实际值的差距。常用的损失函数为0-1损失函数、平方损失函数、绝对损失函数、对数损失函数、交叉熵损失函数。

损失函数计算得到的损失又叫期望损失。学习的目标就是选择期望风险最小的模型。

期望风险=经验风险+结构风险

期望风险是模型关于联合概率分布的期望损失;经验风险是模型关于训练样本集的损失,结构风险时在经验风险的基础上加上正则化。

根据大数定理,当N趋近于无穷时,经验风险时趋近于期望风险的。

当样本数量足够大时,经验风险最小化能保证很好的学习效果。极大似然估计就是经验风险最小化的例子。

ANN的设计目的之一是为了使机器可以像人一样学习知识。人在学习分析新事物时,当发现自己犯的错误越大时,改正的力度就越大。比如投篮:当运动员发现自己的投篮方向离正确方向越远,那么他调整的投篮角度就应该越大,篮球就更容易投进篮筐。同理,我们希望:ANN在训练时,如果预测值与实际值的误差越大,那么在反向传播训练的过程中,各种参数调整的幅度就要更大,从而使训练更快收敛。

(1)均方差损失函数

然而,如果使用二次代价函数训练ANN,看到的实际效果是,如果误差越大,参数调整的幅度可能更小,训练更缓慢。

以一个神经元的二类分类训练为例,进行两次实验(ANN常用的激活函数为sigmoid函数,该实验也采用该函数):输入一个相同的样本数据x=1.0(该样本对应的实际分类y=0);两次实验各自随机初始化参数,从而在各自的第一次前向传播后得到不同的输出值,形成不同的代价(误差):

在实验1中,随机初始化参数,使得第一次输出值为0.82(该样本对应的实际值为0);经过300次迭代训练后,输出值由0.82降到0.09,逼近实际值。而在实验2中,第一次输出值为0.98,同样经过300迭代训练,输出值只降到了0.20。

从两次实验的代价曲线中可以看出:实验1的代价随着训练次数增加而快速降低,但实验2的代价在一开始下降得非常缓慢;直观上看,初始的误差越大,收敛得越缓慢。、

其实,误差大导致训练缓慢的原因在于使用了二次代价函数。二次代价函数的公式如下:其中,C表示代价,x表示样本,y表示实际值,a表示输出值,n表示样本的总数。为简单起见,同样一个样本为例进行说明,此时二次代价函数为:,a为神经元的实际输出【 a=σ(z), where z=wx+b】。

目前训练ANN最有效的算法是反向传播算法。简而言之,训练ANN就是通过反向传播代价,以减少代价为导向,调整参数。参数主要有:神经元之间的连接权重w,以及每个神经元本身的偏置b。调参的方式是采用梯度下降算法(Gradient descent),沿着梯度方向调整参数大小。w和b的梯度推导w为

其中,z表示神经元的输入,表示激活函数。从以上公式可以看出,w和b的梯度跟激活函数的梯度成正比,激活函数的梯度越大,w和b的大小调整得越快,训练收敛得就越快。而神经网络常用的激活函数为sigmoid函数,该函数的曲线如下所示:

因为sigmoid函数的性质,导致σ′(z)在z取大部分值时会很小(如下图标出来的两端,几近于平坦),这样会使得w和b更新非常慢(因为η* a*σ′(z)这一项接近于0)。

如图所示,实验2的初始输出值(0.98)对应的梯度明显小于实验1的输出值(0.82),因此实验2的参数梯度下降得比实验1慢。这就是初始的代价(误差)越大,导致训练越慢的原因。与我们的期望不符,即:不能像人一样,错误越大,改正的幅度越大,从而学习得越快。

可能有人会说,那就选择一个梯度不变化或变化不明显的激活函数不就解决问题了吗?那样虽然简单粗暴地解决了这个问题,但可能会引起其他更多更麻烦的问题。而且,类似sigmoid这样的函数(比如tanh函数)有很多优点,非常适合用来做激活函数。

(2)交叉熵损失函数

交叉熵损失函数可以认为是真实输出与预测输出等结果分布等距离。其损失函数与softmax损失函数的区别在于一个标签是否是one-hot。与二次代价函数相比,它能更有效地促进ANN的训练。

其公式为

其中,x表示样本,n表示样本的总数。那么,重新计算参数w的梯度:

这里

由于。可证

w的梯度公式中原来的被消掉了,表示输出值与实际值之间的误差。所以,当误差越大,梯度就越大,参数w调整得越快,训练速度也就越快。

同理可得,b的梯度表示。实际情况证明,交叉熵代价函数带来的训练效果往往比二次代价函数要好。

那么交叉熵损失函数是如何提出的呢?

以偏置b的梯度计算为例,推导出交叉熵代价函数:

在均方误差计算中

可以得到;想要消除,即得到;等式两边求积分得到

二、损失函数的分类

(1)分类问题

1、0-1损失函数

0-1损失函数表示当预测不正确的时候取值为1,否则取值为0。该损失函数能够直观的刻画分类的错误率,但是由于其非凸、非光滑的特点,使得算法很难直接对该函数进行优化。

2、Hinge损失

Hinge损失函数是0-1损失函数相对紧的凸上界,且当预测小于1的时候,该函数不对其做任何处罚。由于Hinge损失在f.y=1处不可导,因此不能使用梯度下降算法优化,而是使用次梯度下降法。

3、Logistic损失函数

Logistic损失函数也是0-1损失函数的凸上界,且该函数处处光滑,因此可以使用梯度下降法进行优化。但是,该函数对所有样本点都做惩罚,因此对异常点更为敏感。

4、Cross Entropy

(2)回归问题

1、均方差损失函数

当预测值距离真实值越远时,平方损失函数的惩罚力度越大,因此对异常点比较敏感。

2、绝对值损失函数

绝对损失函数对异常点更鲁棒。但是,绝对损失函数在f=y处无法求导。

3、Huber损失

Huber损失函数在|f-y|较小时为平方损失,在|f-y|较大的时采用线性损失,处处可导,且对异常点鲁棒。

好了,文章到此结束,希望可以帮助到大家。

dnf哪个职业刷图最厉害,70dnf刷图最快的职业广告代码大全?万能去广告代码