我已经建立了一个LSTM -线性模块的模型,用于一个分类问题(10个类)。我正在训练模型,并为每一个时代输出损失和准确性中的训练集。产出情况如下:
时代:0开始!
损失: 2.301875352859497
行政协调会: 0.11388888888888889
时代:1开始!
损失: 2.2759320735931396
行政协调会: 0.29
时代:2开始!
损失: 2.2510263919830322
行政协调会: 0.4872222222222222
时代:3开始!
损失: 2.225804567337036
行政协调会: 0.6066666666666667
时代:4开始!
损失: 2.199286699295044
行政协调会: 0.6511111111111111
时代:5开始!
损失: 2.1704766750335693
行政协调会: 0.6855555555555556
时代:6开始!
损失: 2.1381614208221436
行政协调会: 0.7038888888888889
时代:7开始!
损失: 2.1007182598114014
行政协调会: 0.7194444444444444
时代:8开始!
损失: 2.0557992458343506
行政协调会: 0.7283333333333334
时代:9开始!
损失: 1.9998993873596191
行政协调会: 0.7427777777777778
时代: 10开始!
损失: 1.9277743101119995
行政协调会: 0.7527777777777778
时代: 11开始!
损失: 1.8325848579406738
行政协调会: 0.7483333333333333
时代: 12开始!
损失: 1.712520718574524
行政协调会: 0.7077777777777777
时代: 13开始!
损失: 1.6056485176086426
行政协调会: 0.6305555555555555
时代: 14开始!
损失: 1.5910680294036865
行政协调会: 0.4938888888888889
时代: 15开始!
损失: 1.6259561777114868
行政协调会: 0.41555555555555557
时代: 16开始!
损失: 1.892195224761963
行政协调会: 0.3655555555555556
时代: 17开始!
损失: 1.4949012994766235
行政协调会: 0.47944444444444445
时代: 18开始!
损失: 1.4332982301712036
行政协调会: 0.48833333333333334
对于损失函数,我使用了nn.CrossEntropyLoss和Adam优化器。
虽然损失在不断减少,但精度一直提高到10年代,然后由于某种原因而开始下降。
为什么会发生这种事?
即使我的模型太合适,这不意味着精度应该很高吗?(总是说到在上测量的准确性和损失-训练集,而不是验证集)
发布于 2020-01-01 21:25:55
减少损耗并不意味着总能提高精度。我试着解决这个交叉熵损失。
CE-loss= sum (-log p(y=i))
请注意,如果正确类别的概率增加,损失将减少,如果正确类别的概率降低,则损失将增加。现在,当你计算平均损失时,你要对所有样本进行平均,一些概率可能会增加,而有些可能会降低,使整体损失更小,但准确性也会下降。
https://stackoverflow.com/questions/59554880
复制相似问题