2017-01-15 18 views
0

バイナリ分類の文脈では、私はtanh活性化関数を使用して1つの隠れ層を持つニューラルネットワークを使用します。入力はword2vectモデルから来ており、正規化されています。TensorFlow:バイナリ分類の精度

分類器の精度は49%-54%です。

私は何が起こっているのかをよりよく理解するために混乱マトリックスを使用しました。入力層の特徴数と隠れ層のニューロン数の影響を精度について調べる。

私が混乱マトリクスから見ることができるのは、モデルがパラメータによって、時にはほとんどの線を陽性として予測し、時にはほとんどの時を陰性として予測するという事実です。

この問題が発生する理由を教えてください。そして、他のどの点(入力サイズと隠れたレイヤサイズ以外)が分類の精度に影響するか?

ありがとうございました

+0

コインフリップよりも優れていません。あなたは他のことをする前にニューラルネットワークを脇に置き、データをよりよく理解するべきです。ロジスティック回帰を試みることもお勧めします。 – duffymo

答えて

0

あなたが提供した情報では、推測するのは少し難しいです。 ラベルはバランスが取れていますか(50%のポジティブ、50%のネガティブ)?これは、おおむねあなたのパフォーマンスがランダムなパフォーマンスに対応しているため、あなたのネットワークはまったくトレーニングされていないことを意味します。前処理にバグはありますか?それとも、タスクが難しいですか?トレーニングセットのサイズは何ですか?

私はニューロンの数が問題であるとは考えていませんが、合理的である限り、数百または数千です。このことができます https://www.tensorflow.org/api_docs/python/nn/classification#softmax_cross_entropy_with_logits

希望:

代わりに、マルチクラス分類のための標準であり、また、バイナリ分類のために使用することができ、他の損失関数、すなわちクロスエントロピーを、試すことができます。

+0

データセットのバランスがよく、正と負の50%がバランスしています。 トレーニングセット形状である(411426、X) トレーニングセット形状である(68572、X)は Xはword2vecからの特徴の数であり、私は私が持っている[100300] 間の値としてみてください1隠れ層、およびテストしたニューロン数[100,300] また、小さな特徴/ニューロンサイズ:2〜20個の特徴と10個のニューロンを隠れた層でテストします。 私はクロスエントロピーもコスト面で使用しています。 – fhe

+0

私は、ラベルや他の場所に何らかの誤りがあると強く信じています。 word2vecを入力として使用した場合、すでに適切な表現ができています。したがって、タスクが実行可能であれば、確かにランダムなパフォーマンスより優れた線形モデル(SVM)を試すことをお勧めします。これは、その仕事が何であるかを知るのに役立ちますか?深いネットがそれを解決できることを望むことは現実的ですか? –

+0

問題がニューラルネットワークの実装や入力データから来ているかどうかを調べるには、to_dense()関数でtf-idf表現を使用しました。 TF-IDFの結果はわずかで、パラメータの変更は78%の精度です。 – fhe

-2

データセットのバランスがよく、50%の正と負です。

トレーニングセットの形状は(411426、X)

トレーニングセット形状が(68572、X)

Xはword2vecからの特徴の数であると私はとの間の値としてみてください100300]

I 1つの隠れ層を有し、マッシュより小さいフィーチャ/ニューロンのサイズと私は

] 100,300との間に変化試験ニューロンの数は、私はまた、テスト:隠しで2-20特徴および10個のニューロン層。 私はクロスエントロピーもコスト面で使用しています。

+0

回答を追加しないでください。これはダイアログではありません。元の質問を編集します。 – duffymo

関連する問題