首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >文本分类- DNN

文本分类- DNN
EN

Stack Overflow用户
提问于 2020-04-01 02:20:03
回答 1查看 27关注 0票数 0

我正在使用深度神经网络进行文本分类。我的问题是,我收到了高精度的98列车数据,而我的验证精度是49。

我尝试了以下几点:

  1. 洗牌了数据
  2. ,我的训练和验证数据是80:20拆分
  3. ,我使用的是100维Glov矢量

有什么建议吗?

代码语言:javascript
复制
def get_Model():
    model = tf.keras.Sequential([
    tf.keras.layers.Embedding(vocab_size+1, embedding_dim, input_length=max_length, weights= . [embeddings_matrix], trainable=False),
    tf.keras.layers.Dropout(0.2),
    tf.keras.layers.Conv1D(64, 5, activation='relu'),
    tf.keras.layers.MaxPooling1D(pool_size=4),
    tf.keras.layers.LSTM(64),
    tf.keras.layers.Dense(5, activation='softmax')
    ])
    model.compile(loss='sparse_categorical_crossentropy',optimizer="adam",metrics=['acc'])
    model.summary()
    return model
EN

回答 1

Stack Overflow用户

发布于 2020-04-01 06:59:14

你的模型显然太合适了。防止过度安装的标准技巧有:

  • 添加辍学,
  • L2正则化,
  • 尝试一种更小的模型。

同时使用卷积和LSTM是相当不寻常的(尽管它非常好)。也许只保留其中一个是使网络变得更小的最好方法。

我的猜测是,您正在处理一个相当小的数据集。拥有更大的数据集也有助于防止过度拟合,但它通常不是一个适用的建议。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60962683

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档