1つの点では、バイナリ予測を実行していると言います。また、「重複予測」と言うときは、解明しても意味を理解することは難しいです。あなたのバイナリクラシファイアには、クラスAとクラスBの2つの出力があり、与えられたサンプルに対しておおよそ同じ値を得ていると推測しています。その場合、最初に行うべきことは1つの出力を使用することです。バイナリ分類の問題は、0と1の間の1つの出力(出力ニューロンのシグモイド)でよりよくモデリングされます。この方法ではあいまいさがなくなり、ネットワークはどちらか一方を選択する必要があります。混乱すると、〜0.5が得られ、それは明らかになります。
第2に、ネットワークがうまく学習を開始してから、過剰学習後にパフォーマンスが低下することは非常に一般的です。特にあなたが持っているもののような小さなデータセットでは。実際、あなたのデータセットにはほとんど知識がなくても、XGA Boostのようなアルゴリズムをニューラルネットワークよりも優れたパフォーマンスを得るための小さな賭けを置くことになります(私はあなたが文字通りパーセプトロンではなく神経網を使用していると仮定します)。
しかし、パフォーマンスは時間の経過とともに低下しています。これが起こると、あなたは「早期停止」と呼ばれるものに目を向けます。ある時点でネットワークは入力を記憶し始め、何が起きているのか分かります。持ち歩いたテストデータのパフォーマンスが悪化し始めるまで、基本的にトレーニングを行います。
これに対処するには、様々な形式の正則化(L2正則化、脱落、バッチ正規化がすべてのことが考えられます)を適用することができます。また、ネットワークのサイズを小さくすることもできます。 256個のニューロンの5つのレイヤーが問題のために大きすぎると聞こえます。これをトリミングしてみて、あなたの結果が改善されると確信しています。ニューラルネットワークのアーキテクチャー規模のスイートスポットがあります。あなたのネットワークが大きすぎると、それはしばしば適合します。それが小さすぎると、データの表現力が十分ではありません。 Angrew Ngのcourseraクラスには、これに対処するための有用な実用的なアドバイスがあります。
多くのことができます。たとえばあなたのNNは定数を覚えることができます。コードと好ましくはデータも表示してください。 – Maxim
重複予測の意味は? –
Tom、質問を編集して回答を追加するのではなく、修正する必要があります。このような回答を追加することで、あなたの質問は回答となり、誰もがそれを見る可能性が低くなります。私はあなたの質問にそれらの答えのテキストを移動しました、私はあなたの質問が適切な注意を得るように答えていないとしてそれらにフラグを立てました。 –