小编Mic*_*ele的帖子

训练损失高于验证损失

我正在尝试在 Keras 中训练具有 3 个变量和完全连接的神经网络的虚拟函数的回归模型,并且我总是得到比验证损失高得多的训练损失。

我将数据集分成 2/3 用于训练,1/3 用于验证。我尝试过很多不同的事情:

  • 改变架构
  • 添加更多神经元
  • 使用正则化
  • 使用不同的批量大小

训练误差仍然比验证误差高一个数量级:

Epoch 5995/6000
4020/4020 [==============================] - 0s 78us/step - loss: 1.2446e-04 - mean_squared_error: 1.2446e-04 - val_loss: 1.3953e-05 - val_mean_squared_error: 1.3953e-05
Epoch 5996/6000
4020/4020 [==============================] - 0s 98us/step - loss: 1.2549e-04 - mean_squared_error: 1.2549e-04 - val_loss: 1.5730e-05 - val_mean_squared_error: 1.5730e-05
Epoch 5997/6000
4020/4020 [==============================] - 0s 105us/step - loss: 1.2500e-04 - mean_squared_error: 1.2500e-04 - val_loss: 1.4372e-05 - val_mean_squared_error: 1.4372e-05
Epoch 5998/6000
4020/4020 [==============================] - 0s 96us/step - loss: …
Run Code Online (Sandbox Code Playgroud)

python keras tensorflow

1
推荐指数
1
解决办法
4498
查看次数

如何使用Keras API提取隐藏层的权重

我有一个简单的顺序神经网络,我想用它来训练分类器。它由一个输入层,3个隐藏层和一个输出层组成,如下所示:

    #sequential type of model
model = Sequential() 
#stacking layers with .add
model.add(Dense(len(ytrain), activation='relu', input_dim=100))
model.add(Dropout(0.5))
model.add(Dense(len(ytrain), activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(len(ytrain), activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(len(ytrain), activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(5, activation='softmax'))
Run Code Online (Sandbox Code Playgroud)

如何提取与每个隐藏层关联的权重。最终目标是使用激活函数来计算每个标签正确的概率。

希望你能理解。任何帮助都将受到赞赏。

python machine-learning neural-network keras

0
推荐指数
1
解决办法
936
查看次数