TensorFlow2学习十一之绘制准确率acc和损失函数loss曲线

model.fit中将训练集loss、测试集loss、训练集准确率保存了下来

history=model.fit(训练集数据, 训练集标签, 
	batch_size=, epochs=,
	validation_split=用作测试数据的比例,
	validation_data=测试集, 
	validation_freq=测试频率)

history包含以下几个属性:
训练集loss: loss
测试集loss: val_loss
训练集准确率: sparse_categorical_accuracy
测试集准确

### 损失函数准确率曲线的关系 在深度学习机器学习领域,损失函数Loss Function)用于衡量模型预测值与真实值之间的差距。随着训练的进行,理想情况下,损失会逐渐减小,而模型的性能指标(如准确率 Accuracy 或其他评价标准)则应逐步提升。 #### 关系分析 1. **损失函数的作用** 损失函数定义了优化目标,在梯度下降算法中指导参数更新的方向步长。对于回归问题常用均方误差 (MSE)[^1];分类任务可能采用交叉熵损失 (Cross-Entropy Loss) 等方法[^2]。 2. **准确率的意义** 准确率表示模型正确分类样本的比例,通常作为最终评估模型效果的重要依据之一。然而需要注意的是,低损失并不一定意味着高准确率,尤其是在多类别不平衡数据集上[^3]。 3. **两者关系探讨** - 训练初期阶段,降低损失往往伴随着提高准确率; - 当接近收敛时可能出现局部最优解现象,此时继续减少损失未必能显著改善实际表现即准确率停滞甚至轻微回退情况发生[^4]。 --- ### 如何绘制损失函数准确率曲线? 以下是基于 Python 的实现方式: ```python import matplotlib.pyplot as plt # 假设已经获取到了每轮迭代后的 train_loss, val_loss 对应的 accuracy 数据 epochs = range(1, len(train_loss)+1) plt.figure(figsize=(12, 6)) # 绘制损失曲线 plt.subplot(1, 2, 1) plt.plot(epochs, train_loss, 'b-', label='Training Loss') plt.plot(epochs, val_loss, 'r--', label='Validation Loss') plt.title('Training and Validation Loss') plt.xlabel('Epochs') plt.ylabel('Loss') plt.legend() # 绘制准确率曲线 plt.subplot(1, 2, 2) plt.plot(epochs, train_acc, 'g-', label='Training Accuracy') plt.plot(epochs, val_acc, 'm--', label='Validation Accuracy') plt.title('Training and Validation Accuracy') plt.xlabel('Epochs') plt.ylabel('Accuracy') plt.legend() plt.tight_layout() plt.show() ``` 上述代码片段展示了如何利用 Matplotlib 库分别画出训练集与验证集上的损失变化趋势图以及相应的精度发展轨迹图。 --- ### 学习曲线的解读技巧 通过观察这些图表可以得到关于当前模型的一些重要信息: 1. 如果两条线都平稳地下降并趋于稳定,则说明该模型正在正常工作,并且已经达到其能力极限。 2. 若发现训练错误持续下降但测试/验证集合上的成绩却开始上升或者波动较大,则可能存在过拟合风险提示需要采取正则化手段加以缓解。 3. 反过来如果两者的距离始终很大而且都没有明显改进迹象的话可能是由于欠拟合引起需考虑增加复杂度比如引入更多特征或是调整超参设置尝试解决此问题. 综上所述,合理运用损失函数及其关联的各项统计量可以帮助我们更好地理解整个建模流程从而做出更明智的选择以达到预期目的. ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泤燃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值