测试精度0.5 TensorFlow RNN可变长度字符串

时间:2016-11-23 09:32:05

标签: tensorflow artificial-intelligence deep-learning recurrent-neural-network lstm

在改编了您在帖子末尾的链接中找到的以下代码之后,即从字母0-1读取可变长度字符串文件并通过{{1}设置层数的能力}和LSTMCell我得到精度为0.5的值。

特别是,字符串是常规语言,每个字符串都标记为接受而不接受。

我想知道哪些参数变化以获得更高精度的值:

可设置的参数:

  

learning_rate - training_iters - batch_size - display_step - n_layers    - seq_max_len - n_hidden - n_classes。

提前致谢!

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/examples/3_NeuralNetworks/dynamic_rnn.py

1 个答案:

答案 0 :(得分:0)

如果没有更多信息,很难回答这个问题。我将从一般观点独立地解决每个参数:

  • n_classes:从您的描述中我了解到您正在解决二进制分类问题。因此,n_classes = 2。
  • seq_max_len表示序列的最大长度。您可以从计算输入的最大长度开始并使用它(或者如果最大长度太大则使用任何其他合理的长度)。
  • n_layers,n_hidden - 我建议你在获得一个能够学习的模型时调整这些参数。首先,将它们设置为某个较低的值,例如n_layers = 1或2,n_hidden = 64。
  • batch_size - 100或其他关闭应该可以开始,
  • display_step - 它不会影响结果模型的质量,也不会影响脚本打印中间统计数据的频率。
  • learning_rate - 您应该选择此值,以便减少模型损失。如果损失没有减少,请选择较低的learning_rate
  • training_iters - 您应该监控验证集上的损失(以及其他指标)并选择最佳迭代次数。