首页 > 其他分享 >神经网络-损失函数

神经网络-损失函数

时间:2024-09-15 21:21:43浏览次数:14  
标签:样本 函数 分类 损失 神经网络 MAE MSE

文章目录


在神经网络中,损失函数(Loss Function)扮演着至关重要的角色,它用于衡量模型预测结果与实际标签之间的差异。选择适当的损失函数对于训练一个高效且准确的神经网络至关重要。

一、回归问题的损失函数

1.均方误差(Mean Squared Error, MSE)

定义:MSE是回归问题中最常用的损失函数之一,它计算的是预测值与实际值之间差值的平方的平均值。
公式:对于批量样本,MSE的公式为:
M S E = 1 N ∑ i = 1 N x i ( y t u r e , i − y p r e d , i ) 2 MSE= \frac{1}{N}\sum_{i=1}^{N} x_i(y_{ture,i}-y_{pred,i})^2 MSE=N1​i=1∑N​xi​(yture,i​−ypred,i​)2
其中,N 是样本数, y t u r e , i y_{ture,i} yture,i​是第 i 个样本的真实标签值, y p r e d , i y_{pred,i} ypred,i​是第 i 个样本的模型预测结果。
特点:MSE对误差较大的点惩罚较重,因此当预测值与实际值相差较大时,损失值会迅速增大。

2.平均绝对误差(Mean Absolute Error, MAE)

定义:MAE计算的是预测值与实际值之间差值的绝对值的平均值。
公式:对于批量样本,MAE的公式为:
M A E = 1 N ∑ i = 1 N x i ∣ y t u r e , i − y p r e d , i ∣ MAE= \frac{1}{N}\sum_{i=1}^{N} x_i|y_{ture,i}-y_{pred,i}| MAE=N1​i=1∑N​xi​∣yture,i​−ypred,i​∣
特点:与MSE相比,MAE对异常值(outliers)的鲁棒性更强,因为它使用的是绝对值而非平方。

二、分类问题的损失函数

1.0-1损失函数(Zero-One Loss Function)

定义:0-1损失函数直接对应分类判断错误的个数,即当预测值(f)与目标值(y)不相等时,损失值为1;否则,损失值为0。
公式:在分类问题中,,可以表示为:
L 0 − 1 ( f , y ) = 1 f ≠ y L_{0-1}(f,y)=1_{f≠y} L0−1​(f,y)=1f=y​
其中, 1 f ≠ y 1_{f≠y} 1f=y​是一个指示函数,当 f≠y时取值为1,否则为0。
特点:0-1损失函数直接反映了分类错误的数量,因此非常直观,且对预测结果的要求非常严苛。

2.交叉熵损失(Cross-Entropy Loss)

定义:交叉熵损失函数是衡量两个概率分布之间差异的一种方法,常用于分类问题。
公式:对于二分类问题,交叉熵损失可以简化为:
l o s s = 1 N ∑ i = 1 N x i [ y i log ⁡ ( a i ) + ( 1 − y i ) log ⁡ ( 1 − a i ) ] loss=\frac{1}{N}\sum_{i=1}^{N} x_i[y_i\log(a_i)+(1-y_i)\log(1-a_i)] loss=N1​i=1∑N​xi​[yi​log(ai​)+(1−yi​)log(1−ai​)]
其中, y i y_i yi​ 是第 i 个样本的真实标签(0或1), a i a_i ai​是模型预测该样本为正类的概率。
特点:交叉熵损失函数对预测概率的微小变化非常敏感,尤其当真实标签的概率接近0或1时。

3.合页损失(Hinge Loss)

定义:用于支持向量机(SVM)中,特别是用于“最大间隔(max-margin)”分类。其目标在于使分类器更专注于整体的分类误差,同时保持样本与分类超平面之间的一定间隔,这有助于提升模型的泛化能力。
公式:在二分类情况下,合页损失的公式通常表示为:
L ( y ) = m a x ( 0 , 1 − t ∗ y ) L(y)=max(0,1−t*y) L(y)=max(0,1−t∗y)
其中,y 是预测值(通常在SVM中,预测值是样本点到分类超平面的距离或该距离的某种变换),t 是目标值(对于二分类问题,通常为+1或-1)。这个公式的含义是,当样本被正确分类且其距离分类超平面的距离大于或等于1时,损失为0;否则,损失为 1−t⋅y,即样本点到分类超平面的距离与1之间的差值。
特点:合页损失鼓励分类器在正确分类样本的同时,使样本与分类超平面之间保持一定的间隔,这有助于提高模型的泛化能力,对噪声和异常值较为敏感,计算复杂度可能较高,特别是在大规模数据集上。

三、总结

在神经网络的训练过程中,损失函数的选择取决于具体的任务和数据特点。例如,在回归任务中,MSE和MAE是常用的损失函数;而在分类任务中,交叉熵损失函数则更为常见。此外,还可以根据实际需求对损失函数进行组合或改进,以达到更好的训练效果。

标签:样本,函数,分类,损失,神经网络,MAE,MSE
From: https://blog.csdn.net/2301_77698138/article/details/142220442

相关文章

  • opencv学习:calcHist 函数绘制图像直方图及代码实现
    cv2.calcHist函数是OpenCV库中用于计算图像直方图的函数。直方图是一种统计图像中像素值分布的工具,它可以提供图像的亮度、颜色等信息。这个函数可以用于灰度图像和彩色图像。函数语法hist=cv2.calcHist(images,channels,mask,histSize,ranges,accumulate=False)......
  • 初识Lambda表达式(匿名函数)
    0.问题导向使用C++STL实现订单按照创建时间从小到大排查。usingOrder=structtagOrder{unsignedintcreateTimspec;//创建时间戳intid;//订单号inttotalPrice;//总价intstatus;//订单状态intp......
  • 【Scala入门学习】Scala的方法和函数
    1.方法在scala中的操作符都被当成方法存在,比如说+、-、*、/1+2就是1.+(2)的调用,2.0是doule类型,强调用Int类型的写法为1.+(2:Int)1.1方法的声明和使用定义方法的语法:def方法名([变量:变量类型,变量:变量类型]):返回值类型={方法体}其中:在scala中,方法里面的最后一个表......
  • 深入解析C++函数指针:掌握游戏开发中的关键技术
    深入解析C++函数指针:掌握游戏开发中的关键技术C++作为一门经典的编程语言,因其强大的性能和灵活性,被广泛应用于游戏开发。而函数指针作为C++中的一个重要概念,在游戏开发中更是扮演着不可或缺的角色。对于想要深入掌握C++并在游戏开发领域站稳脚跟的开发者来说,理解并灵活运用函数指......
  • 深度学习-神经网络构造
    文章目录一、正则化惩罚1.L1正则化2.L2正则化二、梯度下降(GradientDescent)1.基本原理2.注意事项三、BP神经网络1.基本原理2.网络结构3.特点四、总结一、正则化惩罚正则化惩罚(RegularizationPenalty)是机器学习中常用的一种技术,用于减少模型的复杂度,防止模型过拟......
  • 【C++】string类中常用函数的模拟实现
    【C++】string类中常用函数的模拟实现1.string.h2.Text.cpp1.string.h#include<assert.h>namespacewch{ classstring { public: typedefchar*iterator; typedefconstchar*const_iterator; iteratorbegin() { return_str; } itera......
  • 【MySQL】基础部分——DDL,DML,DQL,DCL,函数,约数,多表查询,事务
    个人学习记录,供以后回顾和复习ubuntu下安装使用1.DDL,DML,DQL,DCLDDL数据库表DML增改删DQL条件查询分组查询排序查询分页查询DCL管理用户权限控制2.函数字符串函数数值函数日期函数流程函数3.约束4.多表查询多表关系内连接外连接自连接联合查询union子查询标量子查询......
  • 对数几率回归中Sigmoid 函数的求导数 ′()并将σ ′ (x) 表达为 σ(x)(1−σ(x)) 的形
    我们从Sigmoid函数的定义出发,逐步推导出这一公式。让我们详细说明这个推导过程。1.Sigmoid函数的定义首先,Sigmoid函数定义为:σ(x......
  • 对数几率回归(逻辑回归)中的sigmoid函数两边取对数转换为对数几率回归模型表达式的过程
    公式(3-4)是:y=11+......
  • 帝国cms 日期目录 生成函数是什么
    在帝国CMS中,日期目录通常用于组织和存储生成的静态页面文件。日期目录的生成函数并不是直接提供的一个函数,而是通过帝国CMS的后台设置和模板标签来实现的。当你在帝国CMS后台进行栏目设置时,可以选择不同的目录存放形式。例如,你可以设置内容页目录存放形式为包含日期的形式,这样生......