首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Keras -有办法缩小categorical_accuracy和val_categorical_accuracy之间的价值差距吗?

Keras -有办法缩小categorical_accuracy和val_categorical_accuracy之间的价值差距吗?
EN

Stack Overflow用户
提问于 2022-05-20 01:00:01
回答 1查看 49关注 0票数 0

我正在努力建立和训练LSTM神经网络。

这是我的代码(摘要版本):

代码语言:javascript
复制
X_train, X_test, y_train, y_test = train_test_split(np.array(sequences), to_categorical(labels).astype(int), test_size=0.2)
X_train, X_val, y_train, y_val = train_test_split(X_train, y_train, test_size=0.2)

log_dir = os.path.join('Logs')
tb_callback = TensorBoard(log_dir=log_dir)

model = Sequential()
model.add(LSTM(64, return_sequences=True, activation='tanh', input_shape=(60,1662)))
model.add(LSTM(128, return_sequences=True, activation='tanh', dropout=0.31))
model.add(LSTM(64, return_sequences=False, activation='tanh'))
model.add(Dense(32, activation='relu'))
model.add(Dense(len(actions), activation='softmax'))

model.compile(optimizer='Adam', loss='categorical_crossentropy', metrics=['categorical_accuracy'])

val_dataset = tf.data.Dataset.from_tensor_slices((X_val, y_val)) # default slice percentage check 
val_dataset = val_dataset.batch(256)

model.fit(X_train, y_train, batch_size=256, epochs=250, callbacks=[tb_callback], validation_data=val_dataset)

模型拟合结果:

代码语言:javascript
复制
Epoch 248/250
8/8 [==============================] - 2s 252ms/step - loss: 0.4563 - categorical_accuracy: 0.8641 - val_loss: 2.1406 - val_categorical_accuracy: 0.6104
Epoch 249/250
8/8 [==============================] - 2s 255ms/step - loss: 0.4542 - categorical_accuracy: 0.8672 - val_loss: 2.2365 - val_categorical_accuracy: 0.5667
Epoch 250/250
8/8 [==============================] - 2s 234ms/step - loss: 0.4865 - categorical_accuracy: 0.8562 - val_loss: 2.1668 - val_categorical_accuracy: 0.5875

我想缩小categorical_accuracy和val_categorical_accuracy之间的价值差距。

我能知道怎么做吗?

谢谢你看我的文章。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-20 14:16:35

当您的培训数据和验证数据之间存在如此大的差异时,这意味着您的模型太合适了。

因此,寻找如何防止过度适应。通常,您必须做的是向dataset中添加更多数据。

它并不是每次都能工作,但是用更多的数据进行训练可以帮助算法更好地检测信号。

试着在身体不适之前停下来

另一个方面是尝试停止该模型并降低学习速度。

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

https://stackoverflow.com/questions/72312514

复制
相关文章

相似问题

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