問題タブ [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.

0 投票する
1 に答える
548 参照

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% です。