ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

机器学习中训练和验证指标曲线图能告诉我们什么?

2022-06-10 11:05:44  阅读:153  来源: 互联网

标签:__ features 训练 验证 self 学习 曲线图


 

我们在训练和验证模型时都会将训练指标保存成起来制作成图表,这样可以在结束后进行查看和分析,但是你真的了解这些指标的图表的含义吗?

在本文中将对训练和验证可能产生的情况进行总结并介绍这些图表到底能为我们提供什么样的信息。

让我们从一些简单的代码开始,以下代码建立了一个基本的训练流程框架。

 

场景 1 - 模型似乎可以学习,但在验证或准确性方面表现不佳

无论超参数如何,模型 Train loss 都会缓慢下降,但 Val loss 不会下降,并且其 Accuracy 并不表明它正在学习任何东西。

比如在这种情况下,二进制分类的准确率徘徊在 50% 左右。

  1. class Scenario_1_Model_1(nn.Module):
  2. def __init__(self, in_features=30, out_features=2):
  3. super().__init__()
  4. self.lin1 = nn.Linear(in_features, out_features)
  5. def forward(self, x):
  6. x = self.lin1(x)
  7. return x
  8. get_data_train_and_show(Scenario_1_Model_1(), lr=0.001, break_it=True)

数据中没有足够的信息来允许‘学习’,训练数据可能没有包含足够的信息来让模型“学习”。

在这种情况下(代码中训练数据是随机数据),这意味着它无法学习任何实质内容。

数据必须有足够的信息可以从中学习。EDA 和特征工程是关键!模型学习可以学到的东西,而不是不是编造不存在的东西。

场景 2 — 训练、验证和准确度曲线都非常不稳

 

完整文章:

https://avoid.overfit.cn/post/5f52eb0868ce41a3a847783d5e87a04f

标签:__,features,训练,验证,self,学习,曲线图
来源: https://www.cnblogs.com/deephub/p/16362461.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有