0

在文章末尾的鏈接中找到以下代碼後,即從字母表0-1的可變長度字符串文件讀取並設置通過LSTMCellMultiRNNCell的層數我得到了0.5的準確值。測試精度0.5 TensorFlow RNN可變長度字符串

特別是,字符串是一種常規語言,每個字符串被標記爲接受和不接受。

我想上改變什麼參數,以獲得更高的精度值一些建議:

可能的參數進行設置:

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

回答

0

這是很難回答這個問題,沒有更多的信息。我將從一般的角度獨立解決每個參數:

  • n_classes:從您的描述我明白您正在解決二元分類問題。因此,n_classes = 2。
  • seq_max_len表示序列的最大長度。您可以從計算輸入的最大長度開始並使用它(或者如果最大長度太大,則使用任何其他合理的長度)。
  • n_layers,n_hidden - 我建議在獲得能夠學習的模型時調整這些參數。首先,將它們設置爲一些較低的值,例如n_layers = 1或2,n_hidden = 64
  • 的batch_size - 100或接近的東西應該是OK,首先,
  • display_step - 它不會影響導致模型的質量,是多麼頻繁的腳本打印中間統計。
  • learning_rate - 您應該選擇此值,以減少模型損失。如果損失不降低,請選擇較低的學習率。培訓_iters - 您應該監控驗證集上的損失(以及其他度量),並選擇最佳的迭代次數。
+0

非常感謝您的回答。我從昨天開始就這樣嘗試。 – Cla44

+0

不客氣。首先要檢查的是在訓練模型時損失值是否下降。如果不是 - 這表示模型或優化問題(可能學習率太高)。 –

+0

我試圖改變參數,但不幸的是我總是得到較低的準確度和較高的誤差值。 – Cla44