精华内容
下载资源
问答
  • 1. acc/loss,val_acc/val_loss是什么意思 val 代表 validation,所以,acc/loss代表训练集,val_acc/val_loss代表验证集。 2. 为什么在训练的时候我们已经有测试集还需要验证集? —来自知乎 ...

    1. acc/loss,val_acc/val_loss是什么意思
    val 代表 validation,所以,acc/loss代表训练集,val_acc/val_loss代表验证集。

    2. 为什么在训练的时候我们已经有测试集还需要验证集?
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    使用dropout等方法,可以缓解过拟合等现象,见下图。在这里插入图片描述
    —来自知乎

    展开全文
  • loss、accval_loss、val_acc 分别表示训练集的准确度和损失值、以及验证集的准确度和损失值,注意是验证集的而不是测试集的。下面小小的总结一下具体的联系

    loss、acc ,val_loss、val_acc

    分别表示训练集的准确度和损失值、以及验证集的准确度和损失值,注意是验证集的而不是测试集的。下面小小的总结一下具体的联系

    首先我们要理解验证集的作用,它与测试集有什么不同。只有理解了这些基础,这些数据才真正的对我们来说有用。

    首先要明白验证集的最大作用是方便我们了解模型效率、调试超参数,测试集是可以没有的,但验证集是必须有的,如果验证集具有足够的泛化代表性,是可以不需要设置测试集的;注意测试集的存在只是为了验证我们在训练集和验证集上进行模型的超参和参数训练后,验证我们得到的模型是否具有泛化性能。

    训练集loss 验证集loss 含义 解决方向
    不断下降 不断下降 模型网络任然在学习 增加epoch
    不断下降 趋于水平 模型网络过拟合 maxpool、正则化
    趋于水平 不断下降 数据集出现问题 检查数据集以及其处理
    趋于水平 趋于水平 无法继续优化 减小学习率等
    不断上升 不断上升 模型、超参数、数据集的出现问题处理 这是最坏的情况,往往出现方向性错误

     

     

     

     

    展开全文
  • 一个选拔的故事(acc,loss,val_acc,val_loss的区别)

    万次阅读 多人点赞 2019-03-23 21:41:53
    以一个选拔考试的小故事类比神经网络选择模型的过程,以此方便的理解验证集的作用,区分开acc,loss和val_accval_loss。

    今天我们带了一群学生,要选拔他们中最好的一个出去比赛。

    我们把需要的知识教给他们,并且每次都会做一张随堂练习卷。多次下来,学生们的成绩都有所提高,并向满分越靠越近。

    但是有一些学生成绩好是因为理解了这些知识,有些同学考得好只是因为把上课教的东西都记下来了。比赛不可能只有学过的东西,肯定还会有很多没遇到过的题目,那我们要怎么判断这个学生是不是真的会呢?

    很简单,出一张全是新题的摸底卷。根据摸底卷的成绩选出最好的那名学生。想必这个学生在比赛中的成绩也是很稳定的。

    以上这个小故事的类比如下:
    学生-模型
    出去比赛-实际应用
    考试分数-acc
    学习的知识-训练集
    摸底卷-验证集
    比赛卷子-测试集

    所以其实这个故事是这样的
    今天我们训练了一些模型 带了一群学生,要选拔他们中最好的一个实际使用 出去比赛
    我们用训练集迭代优化参数把需要的知识教给他们 ,并且每轮迭代后都会得到一个acc,loss每次都会做一张随堂练习卷 。多次下来,acc将越来越高并趋向1学生们的成绩都有所提高,并向满分越靠越近
    但是有一些学生成绩好是因为理解了这些知识,有些同学考得好只是因为过拟合 把上课教的东西都记下来了 。比赛不可能只有学过的东西,肯定还会有很多没遇到过的题目,那我们要怎么判断这个学生是不是真的会呢?
    很简单,用验证集观察val_acc和val_loss 出一张全是新题的摸底卷 。根据摸底卷的成绩选出最好的那名学生。想必这个学生在比赛中的成绩也是很稳定的。

    比如我这里有针对同样数据集的32种模型(全连接层数,卷积层层数或者卷积层大小不同)
    我们先看训练集的情况(曲线光滑度是0,以下图片没特殊说明都是0)
    在这里插入图片描述
    除了最上方某位差生(没错,说的就是那位灰色同学),这个模型可能先天不足,其他的还是差不多的,准确率都是稳步上升

    如果我们把光滑度调成0.6,看上去还不错对吧
    在这里插入图片描述
    这些模型看上去都挺有模有样的。

    但是当我们看到验证集结果的时候:宛如群魔乱舞,这些同学都很暴躁,表现非常的参差不齐。
    在这里插入图片描述
    这时候我们就要选择验证集表现最好的那个模型,简单地说,就是val_acc越来越大最后趋于稳定,val_loss越来越小最后也趋于稳定。

    在这里一对模型中,我找到了一个模范优等生,就是2个卷积层,2个全连接层的时候,也就是下图墨绿色的线条。
    为了作为对比,我们拉上一个在总体里面表现也很好的另一个模型,即这根铁锈红的线。
    在这里插入图片描述

    没有对比就没有伤害,光滑度为0的时候这根墨绿色的线看上去就很不错了。

    参考:

    1.深度网络的过拟合问题讨论https://blog.csdn.net/mrgiovanni/article/details/52167016
    2.从Keras开始掌握深度学习-5 优化你的模型https://www.jianshu.com/p/6e50d6136892

    展开全文
  • - 第一步 # define the function def training_vis(hist): loss = hist.history['loss'] val_loss = hist.history['val_loss'] acc = hist.history['acc'] val_acc = hist.history['val_acc'] ...

    这里写图片描述

    • 第一步
    # define the function
    def training_vis(hist):
        loss = hist.history['loss']
        val_loss = hist.history['val_loss']
        acc = hist.history['acc']  # new version => hist.history['accuracy'] 
        val_acc = hist.history['val_acc'] #=> hist.history['val_accuracy'] 
        
        # make a figure
        fig = plt.figure(figsize=(8,4))
        # subplot loss
        ax1 = fig.add_subplot(121)
        ax1.plot(loss,label='train_loss')
        ax1.plot(val_loss,label='val_loss')
        ax1.set_xlabel('Epochs')
        ax1.set_ylabel('Loss')
        ax1.set_title('Loss on Training and Validation Data')
        ax1.legend()
        # subplot acc
        ax2 = fig.add_subplot(122)
        ax2.plot(acc,label='train_acc')
        ax2.plot(val_acc,label='val_acc')
        ax2.set_xlabel('Epochs')
        ax2.set_ylabel('Accuracy')
        ax2.set_title('Accuracy  on Training and Validation Data')
        ax2.legend()
        plt.tight_layout()
    
    • 第二步
    # train the model
    hist = model.fit(...)
    
    • 第三步
    # call the function
    training_vis(hist)
    
    展开全文
  • 部分代码如下: ... % (epoch + 1, train_loss / 2000 ,train_acc/2000,val_loss/800,val_acc/800, end_time-start_time)) 解决方法:设定train_accval_acc数据类型为double即可正常显示。 print('epoch
  • 本文:训练过程的可视化包括训练集和验证集的acc和loss曲线,根据曲线的不同特点进行超参数调节,可以不断优化网络,总结以下一些曲线特点。 开发环境:TensorFlow + Keras + Python 问题类型:二分类问题 数据集:...
  • acc value less than val_acc

    2020-12-09 05:44:41
    <div><p>Hi there, I trained the model from scratch and just added in the accuracy metric, however I am getting acc value less than val_acc. This is the output: 20000/20000 [=====&#...
  • 可以看出我的keras版本history关键字不是简写val_acc,而是val_accuracy,更换后解决报错!!! 补充知识:python运行出现错误KeyError: ‘:’ 冒号中英文切换的问题 即使是在 ‘ ‘ 里的,也要
  • 本文:训练过程的可视化包括训练集和验证集的acc和loss曲线,根据曲线的不同特点进行超参数调节,可以不断优化网络,总结以下一些曲线特点。 开发环境:TensorFlow + Keras + Python 问题类型:二分类问题 数据集...
  • I used your code to train on imagenet subset with 120 classes, but I found that val acc is always higher than train acc, no matter the subset the original one. Below is the output on the subset for 5...
  • 1.添加网络结构 model.add(...) model.add(...) ... 2.模型编译 ...model.compile(loss='...',omeptimizer='...',...plt.plot(history.epoch, history.history['val_acc'], label = 'val_acc') plt.legend()
  • https://www.zhihu.com/question/58200419
  • 在学习使用keras库遇到了这个问题。 可能是由于版本不同导致,那么要怎么判断自己的版本用的是哪个呢?...可以看到loss和val_loss还是一样的,但是我的accval_acc却变成了binary_accuracy和val_binary_ac...
  • 最近在做一个用简单的lstm预测时序数据分类的模型,在训练过程中,出现了loss在持续减小,而accval_acc始终不变的情况,经过不断的调参,找到了其中的问题,在此记录下: 问题描述: 具体情况如下: Epoch ...
  • val_acc = hist.history['val_acc'] # make a figure fig = plt.figure(figsize=(8,4)) # subplot loss ax1 = fig.add_subplot(121) ax1.plot(loss, label='train_loss') ax1.plot(val_loss, label='val_...
  • 40/40 [==============================] - 23s 579ms/step - loss: 1.3896 - acc: 0.95 - val_loss: 1.3876 - val_acc: 0.95 Epoch 13/15 40/40 [==============================] - 23s 579ms/step - loss: 1.3829...
  • 在使用keras时候报错Keyerror ‘acc’,这是一个keras版本问题,acc和...val_acc也是如此。 把acc改成accuracy; val_acc,改成val_accuracy https://blog.csdn.net/liupeng19970119/article/details/105963118/ ...
  • 在一个比较好的数据集中,比如在分辨不同文字的任务中,一下是几个样本 ...40/40 [==============================] - 23s 579ms/step - loss: 1.3896 - acc: 0.95 - val_loss: 1.3876 - val_acc: 0.95 Epoch 13/1...
  • val_acc一直不变

    千次阅读 2020-02-11 20:55:21
    val_loss一直不变的原因 之前用keras编写了LSTM模型,做图片分类,自己划分了测试集和训练集,但是得到的结果是每个epoch训练的准确率都不变。 探索 我一直以为是我的数据的读取方式不对,我一直在从这方面下手,...
  • 原本地址: ...上篇文章中介绍; for layer in model.layers: if hasattr(layer, 'moving_mean') and hasattr(layer, 'moving_variance'): layer.trainable = True K.eval(K.update(layer.movin
  • keras深度训练7: constant val_acc

    千次阅读 2018-04-13 10:23:59
    Keras: acc and val_acc are constant over 300 epochs, is this normal? https://stats.stackexchange.com/questions/259418/keras-acc-and-val-acc-are-constant-over-300-epochs-is-this-normal It seems that ...
  • <div><p>In the process of actual training, we need to display the corresponding ACC, loss, val_acc, val_loss curve, in order to observe the effect of the model training, but in deepchem, I have not ...
  • <div><p>在全量数据上acc还不错,但是val_acc就低20%左右; 请问大佬用的输出的结果是在sample数据上的结果还是全量数据的结果?</p><p>该提问来源于开源项目:yongzhuo/Keras-TextClassification</p></div>

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 744
精华内容 297
关键字:

accval