Tensorflowでは、私はクラシファイアネットワークと不均衡なトレーニングクラスを持っています。さまざまな理由から、私はアンバランスなデータを補うためにリサンプリングを使用することはできません。したがって、私は、他の手段による不均衡を補うように強制されます。具体的には、それぞれのクラスの例数に基づいて重みを重みで乗算します。私はこれが好ましい方法ではないことを知っていますが、リサンプリングはオプションではありません。私の練習損失はtf.nn.softmax_cross_entropy_with_logits
です(私もtf.nn.sparse_softmax_cross_entropy_with_logits
を試してみるかもしれません)。Tensorflow:クロスエントロピーによるスケールロット
WARNING:Tensorflowドキュメントは、これらのオペレーションの説明に次のものが含まれ、それは効率のために内部logitsにソフトマックス を行うので、このOPは、スケーリングされていないlogitsを期待します。 softmaxの出力を としてこのオペレーションを呼び出さないでください。間違った結果が生じる可能性があります。
私の質問:のみを参照上記の警告は、ソフトマックスによって行わスケーリングされ、またはそれは、任意のタイプのいずれかのロジットスケーリングが禁止されているを意味するのでしょうか?後者の場合、私のクラスのバランスをとったロジットスケーリングが誤った結果を引き起こしていますか?
おかげで、
ロン
あなたに適したソリューションを見つけたのかどうかは不思議です。私も同様の課題に直面しており、他の人たちがそれに対処する方法が不思議です。 –
私は、各例のクロスエントロピーに、例題の真のクラスの重みを疑問の結果を掛けて試してみました。私はデータを再サンプリングすることに頼った。 –