私は、分類タスクで神経ネットワークを訓練しており、精度は高くはありませんが、学習しています。どのテストの例が自信がないのか把握しようとしているので、何が起きているのかについてさらに洞察を得ることができます。ニューラルネットワーク高い信頼度の不正確な予測
これを行うために、私はTensorflowで標準softmax確率を使用することに決めました。これを行うには、私はtf.nn.softmax(logits)
を呼び出し、ここで提供される確率を使用しました。私は多くの確率が99%であることに気づきましたが、予測はまだ間違っていました。このように、予測確率が99%を超える例だけを検討しても、私の精度は悪く、私の元の精度よりわずか2〜3%高くなります。
ネットワークが間違った予測について非常に自信を持っている理由は誰にもありますか?私はまだ深い学びに新しいので、私を助けるためのいくつかのアイデアを探しています。
また、softmax確率を使用して、ニューラルネットワークからの予測の信頼性を判断する正しい方法はありますか?そうでない場合は、よりよい方法がありますか?
ありがとうございます!
編集:以下の回答から、私のネットワークはうまく機能していないようです。ネットワークがどのような予測をするのかを特定するもう1つの方法は、自信を見ているだけでなく、間違っている可能性が高い(自信がうまくいかないようなので)か。
時には、これは悪いイニシャライザを使用しているときに発生することがあります。イニシャライザが最後のレイヤーのウェイトに高すぎる分散を与えた場合、あるクラスが他のクラスよりもはるかに高いロジット値を持つ可能性が高くなります。これは、softmax後に高い信頼性につながります。他のイニシャライザを試してみるとよいでしょう:https://www.tensorflow.org/api_guides/python/contrib.layers#Initializers – Lior
しかし、1つのクラスだけが高い信頼性を持っているわけではありませんが、多くの場合があります間違ったクラス(いずれかのクラスになる可能性があります)が本当に高い自信を持っています。それが役に立つなら、これはテキストを理解する問題でもあります。私は現在、Xavier Initializerを使用していますが、他のものを試します。 – hockeybro