0

出力が確率 ([0, 1] 区間) を表す単なる実数値であるニューラル ネットワーク (フィード フォワード ネットワークなど) をトレーニングします。最後の層 (つまり、出力ノード) にはどのアクティベーション関数を使用すればよいですか?

活性化関数を使用せずに出力tf.matmul(last_hidden_layer, weights) + biasesするだけの場合、負の出力が得られる可能性がありますが、これは受け入れられません。出力は確率であり、予測も確率である必要があるためです。tf.nn.softmaxまたはモデルを使用するtf.nn.softplusと、テスト セットで常に 0 が返されます。なにか提案を?

4

1 に答える 1

1

The easiest way is to just use the sigmoid activation as output, as this will squash any output range into the [0, 1] range. Then for training you can use either a mean square error or similar loss, or the binary cross entropy. In general the binary cross entropy might work better.

于 2016-12-01T01:45:46.687 に答える