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

在调整了帖子末尾链接中提供的代码后,即从包含0-1字母表的变长字符串文件中读取,并通过LSTMCellMultiRNNCell设置层数的能力,我得到了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


回答:

在没有更多信息的情况下,这个问题很难回答。我将从一般角度独立讨论每个参数:

  • 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 – 你应该监控验证集上的损失(和其他指标),并选择最佳的迭代次数。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注