Closed Veyronl closed 5 years ago
代码中的实验结果用的是全量语料140万训练集、4万验证集的,sample是随机取得100条训练验证语料,所以100条sample训练验证效果不会好的。此外随机初始化embedding效果可能不会很好,而且不大稳定
谢谢你的回复, 我就是用全量跑的,每个val_acc都比大佬低一点,我看大佬下面的train.py里面注释的一个epoch就能达到的acc; 目前跑了4个都会低一点,请问除了用全量数据外,还有额外需要修改的吗?(好像没发现其他的)
再次表示感谢.
之前好像用了 'filters': [2, 3, 4, 5],不知道是不是这个原因,其他的应该就没有改过了
谢谢,我再试试
大佬, 用的FastText那个模型,val_acc还是达不到您的0.5029
我又训练了一下,全量数据60%,估计还是和random初始化有关吧 1424384/1425170 [============================>.] - ETA: 0s - loss: 0.9388 - acc: 0.7100 1425170/1425170 [==============================] - 87s 61us/step - loss: 0.9388 - acc: 0.7100 - val_loss: 1.5648 - val_acc: 0.6077
Epoch 00001: val_loss improved from inf to 1.56478, saving model to D:/workspace/pythonMyCode/django_project/Keras-TextClassification/keras_textclassification/data/model/fast_text/model_fast_text.f5 Epoch 2/20
大佬指的是random的embedding吧
嗯嗯,应该能达到60%吧
在验证集上还达不到,val_losss不再下降了,看来很有可能跟这个有关系; 但是random的这四个[PAD]、[UNK]、[BOS]、[EOS];比较难造成这么大的差异吧 还有我每次运行都会随机初始化这几个吗?我第二次run的也是类似的效果
大佬,你分析的是对的,我run第三次的时候和你接近的结果,这个有点随机啊(汗颜), 是不是BOS和EOS的随机影响更大呢?那如果在训练词向量的时候加上这两个标记,直接通过语料训练(word2vec或者bert)出来是否更好呢
sample的是达不到,全量的应该可以。默认的超参是字符char大约有20000左右,这谢些随机初始化可能会有影响
paper上加了预训练模型(word2vec、glove、bert)效果会好,无论静态的还是动态的
嗯,没细看代码呢 拜读代码去啦;有问题再来请教 再次表示感谢大佬
在全量数据上acc还不错,但是val_acc就低20%左右; 请问大佬用的输出的结果是在sample数据上的结果还是全量数据的结果?