对比不同的损失函数对模型输出结果的影响

简介: 对比不同的损失函数对模型输出结果的影响

前言


在这里我们为了保障实验具备可比性,我们采用控制变量法进行比较损失函数:sgdm、rmsprop和adam对图像分类的影响,为了简便实验,我们采用LeNet-5网络结构做母版这样大家也都熟悉,同样我们的数据集也为同一个。


我们可以参考我在上篇博客实验中学习率为0.01的情况下,loss曲线收敛且并未出现过拟合现象和欠拟合现象,我们选择该网络结构(3乘3卷积核,LeNet-5为模板的网络结构)更改损失函数进行实验。



一.比对之前


明确不变量如下所示:


1.1 数据集不变(总类别为10,手写数字数据集,单类别数为500)


1.2 训练集和验证集的划分不变(训练:验证=7:3)


1.3 网络结构除卷积核相同


1.4 训练轮数相同


1.5 学习率相同


1.6 验证频率


1.7 硬件设备相同


为了避免意外现象,我们对这3种损失函数(sgdm、rmsprop和adam)各自进行三次训练,分别取均值为最后统计值。


这里为了方便,我们省去sgdm的实验截图,直接放结论。



二.adam


综合下图中可得如下结论: 由下图可得如下信息:


2.1 验证准确度:91.7333%


2.2 训练历时39.333s


2.2 loss曲线收敛(正常未出现过拟合和欠拟合)


image.png


image.png

image.png



三.rmsprop


由下图可得如下信息:


3.1 验证准确度:90.4666%


3.2 训练历时39.333s


3.2 loss曲线收敛(正常未出现过拟合和欠拟合)

image.png


image.png

image.png


四.sgdm


由下图可得如下信息:


4.1 验证准确度:91.91%


4.2 训练历时39s


4.2 loss曲线收敛(正常未出现过拟合和欠拟合)\



比对结论


除损失函数改变,对于一个正常收敛且未出现过拟合和欠拟合的网络结构的输出结构来看: 验证准确度由大到小排序: sgmd>adam>rmsprop 训练时间由多到少排序:


adam=rmsprop>sgmd



相关文章
|
6月前
|
机器学习/深度学习 算法 Serverless
大模型开发:描述损失函数的作用以及一些常见的损失函数。
损失函数在机器学习中至关重要,用于衡量预测误差、优化模型、评估性能及选择模型。常见类型包括均方误差(MSE)、均方根误差(RMSE)、交叉熵损失(适用于分类)、绝对误差(MAE)、hinge损失(SVMs)、0-1损失、对数似然损失和Focal Loss(应对类别不平衡)。选择时要考虑模型性质、数据特征和优化需求。
459 3
|
6月前
|
Python
探索LightGBM:异常值处理与鲁棒建模
探索LightGBM:异常值处理与鲁棒建模【2月更文挑战第2天】
196 0
|
5月前
|
机器学习/深度学习 算法
**反向传播算法**在多层神经网络训练中至关重要,它包括**前向传播**、**计算损失**、**反向传播误差**和**权重更新**。
【6月更文挑战第28天】**反向传播算法**在多层神经网络训练中至关重要,它包括**前向传播**、**计算损失**、**反向传播误差**和**权重更新**。数据从输入层流经隐藏层到输出层,计算预测值。接着,比较预测与真实值计算损失。然后,从输出层开始,利用链式法则反向计算误差和梯度,更新权重以减小损失。此过程迭代进行,直到损失收敛或达到训练次数,优化模型性能。反向传播实现了自动微分,使模型能适应训练数据并泛化到新数据。
67 2
|
5月前
|
机器学习/深度学习 算法
GBDT算法超参数评估(一)
GBDT(Gradient Boosting Decision Tree)是一种强大的机器学习技术,用于分类和回归任务。超参数调整对于发挥GBDT性能至关重要。其中,`n_estimators`是一个关键参数,它决定了模型中弱学习器(通常是决策树)的数量。增加`n_estimators`可以提高模型的复杂度,提升预测精度,但也可能导致过拟合,并增加训练时间和资源需求。
|
5月前
|
机器学习/深度学习 算法
GBDT算法超参数评估(二)
GBDT算法超参数评估关注决策树的不纯度指标,如基尼系数和信息熵,两者衡量数据纯度,影响树的生长。默认使用基尼系数,计算快速,而信息熵更敏感但计算慢。GBDT的弱评估器默认最大深度为3,限制了过拟合,不同于随机森林。由于Boosting的内在机制,过拟合控制更多依赖数据和参数如`max_features`。相比Bagging,Boosting通常不易过拟合。评估模型常用`cross_validate`和`KFold`交叉验证。
|
4月前
|
机器学习/深度学习 索引 Python
。这不仅可以减少过拟合的风险,还可以提高模型的准确性、降低计算成本,并帮助理解数据背后的真正含义。`sklearn.feature_selection`模块提供了多种特征选择方法,其中`SelectKBest`是一个元变换器,可以与任何评分函数一起使用来选择数据集中K个最好的特征。
。这不仅可以减少过拟合的风险,还可以提高模型的准确性、降低计算成本,并帮助理解数据背后的真正含义。`sklearn.feature_selection`模块提供了多种特征选择方法,其中`SelectKBest`是一个元变换器,可以与任何评分函数一起使用来选择数据集中K个最好的特征。
|
6月前
|
机器学习/深度学习 算法 数据可视化
Python用KNN(K-近邻)回归、分类、异常值检测预测房价、最优K值选取、误差评估可视化
Python用KNN(K-近邻)回归、分类、异常值检测预测房价、最优K值选取、误差评估可视化
|
6月前
|
机器学习/深度学习 人工智能
SalUn:基于梯度权重显著性的机器反学习方法,实现图像分类和生成的精确反学习
【4月更文挑战第29天】SalUn是一种新的机器反学习方法,专注于图像分类和生成的精确反学习。通过关注权重的梯度显著性,SalUn能更准确、高效地从模型中移除特定数据影响,提高反学习精度并保持稳定性。适用于多种任务,包括图像生成,且在条件扩散模型中表现优越。但计算权重梯度的需求可能限制其在大规模模型的应用,且在数据高度相关时效果可能不理想。[链接](https://arxiv.org/abs/2310.12508)
97 1
YOLOv3的NMS参数调整对模型的准确率和召回率分别有什么影响?
YOLOv3的NMS参数调整对模型的准确率和召回率分别有什么影响?
|
6月前
|
机器学习/深度学习 数据可视化 算法
R语言多分类logistic逻辑回归模型在混合分布模拟单个风险损失值评估的应用
R语言多分类logistic逻辑回归模型在混合分布模拟单个风险损失值评估的应用