Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何改进一个简单的Keras模型_Python_Python 3.x_Tensorflow_Keras_Tensorflow2.0 - Fatal编程技术网

Python 如何改进一个简单的Keras模型

Python 如何改进一个简单的Keras模型,python,python-3.x,tensorflow,keras,tensorflow2.0,Python,Python 3.x,Tensorflow,Keras,Tensorflow2.0,我开始玩Keras和那些类型的模特,但我想我还没有弄明白这一切。我摆弄了很多东西,但只使情况变得更糟。我的目标是达到高于91%的精度(91%的精度是此模型的输出)。 代码如下: import numpy as np import tensorflow as tf input_size = 10 output_size = 2 hidden_layer_size = 500 model = tf.keras.Sequential([ tf.keras.layers.Dense(hidden

我开始玩Keras和那些类型的模特,但我想我还没有弄明白这一切。我摆弄了很多东西,但只使情况变得更糟。我的目标是达到高于91%的精度(91%的精度是此模型的输出)。 代码如下:

import numpy as np
import tensorflow as tf
input_size = 10
output_size = 2

hidden_layer_size = 500


model = tf.keras.Sequential([

tf.keras.layers.Dense(hidden_layer_size, activation='relu'), 
tf.keras.layers.Dense(hidden_layer_size, activation='relu'), 


tf.keras.layers.Dense(output_size, activation='softmax') # output layer
])






 model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])




 batch_size = 50


 max_epochs = 100



 early_stopping = tf.keras.callbacks.EarlyStopping(patience=5)



 model.fit(train_inputs, 
      train_targets, 
      batch_size=batch_size, 
      epochs=max_epochs,
      
      
      callbacks=[early_stopping],
      validation_data=(validation_inputs, validation_targets), 
      verbose = 2 
      )  

我不知道我是否在这里格式化了它,我只是创建了这个帐户,我在这方面完全是一个初学者。

任何人都无法帮助您获得更好的准确性,因为它完全依赖于数据和您试图建模的问题。仅仅显示代码是不够的

我建议首先使用
model.summary()
查看模型中可训练参数的层次和数量,以供参考。我建议您也花一些时间在Keras文档上

https://github.com/fchollet/deep-learning-with-python-notebooks
当您为训练特定数据构建NN体系结构时,可能会发生两件事-

  • 它可能不适合——这意味着模型不够复杂,无法学习数据中的模式。在这种情况下,通过增加层的数量和每层的大小来增加可训练参数的数量
  • 它可能会过度拟合-这是一个更好的方案。这意味着该模型过于复杂,在训练数据上拟合过度,在测试数据上无法概括。在这种情况下,可以减少训练参数的数量和/或在密集层之间使用dropout层