問題タブ [rnn]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Keras LSTM 入力次元
私はニューラル ネットワークにまったく慣れておらず、あまり経験がありません。私の問題は次のとおりです。配列、877 の異なるデータ ポイント、データ ポイントあたり 200 の機能があります。これは、PCA で縮小された TfIdf マトリックスであり、各行は、データセットからのテキストの 1 つのブロック (つまり、段落自体) に対応します。このデータ (クラス 1 または 0) のバイナリ分類子を作成しようとしています。次のように、線形 SVM で 80% 程度の精度を達成し、単純な高密度 NN で約 80% の精度を達成しました。
そこで、RNN が自然言語処理で非常に人気があることを知りました。ほぼ同じ方法で設定してみました。ただし、データには 3 次元があるはずだと理解しています。これがどのように機能するかについて非常に混乱しています。私はこの質問に基づいてコードを書きました: LSTM with keras this asker does not have 3 dimension in his data. 彼は 2 次元だけでどのように仕事をしているのでしょうか? 私のコードは次のとおりです。
これがどのように異なるのか、なぜこのエラーが発生し続けるのかを誰かが説明してもらえますか:ValueError: Error when checking input: expected lstm_1_input to have 3 dimensions, but got array with shape (877, 200)
3次元は本当に必要ですか?もしそうなら、2D(データポイント、特徴)配列を3Dに変換するにはどうすればいいですか? 御時間ありがとうございます。
- - - - - - - - - - - - - - 編集 - - - - - - - - - - - -------------
したがって、コードを次のように変更しました。
次のエラーが発生しています(t_steps == 1およびdim == 200)
ここからどこへ行くべきかわからない。
----------------------------編集#2------------------- ---------------
私が設定した場合、return_sequences = False
それが機能することがわかりました。しかし、私の精度は恐ろしいもので、47% です。