【数式編】(順伝播)出力層のユニットの出力を求める
出力値の求め方
出力層のユニットの出力値の求め方は、隠れ層のユニットの出力値の求め方とほぼ同じですが、活性化関数を にしているため、その部分が異なります。
例として ユニットo11 の出力を求めてみます。
を求める
ユニットo11 の出力値 を求めるには、その前に を求める必要があります。
この に を適用すると が求まります。
Softmax(ソフトマックス)関数
の具体的な式は次のようになります。
に比べて複雑な感じの式ですが、やっていることはそれほど難しいことではありません。
問題:
ももが3個、りんごが5個、ぶどうが2個あります。ももの割合はどのくらいですか?
これは次の式で計算できますね。
先ほどの の式と比べると同じような構成になっていることがわかると思います。
さて、これは次のように考えることもできます。
問題:
ももが3個、りんごが5個、ぶどうが2個入っている袋があります。この袋からくだものを1つ取り出すとして、ももを取り出す確率はどのくらいですか?
10個のくだものから3個のももを取り出すので、答えは先ほど同様 ですね。
つまり、ソフトマックス関数では、その出力の確率がどのくらいかを求めているといってもいいでしょう。
そして、確率の総和は 1 になるので、ソフトマックス関数を適用した出力層のすべての出力の和も 1 になります。
具体的には
となります。
ももを取り出す確率 = 、りんごを取り出す確率 = 、ぶどうを取り出す確率 = で、
全部足すと
となることと同じです。
出力を求める式
他のユニットの式もあわせてまとめておきましょう。
ユニットo11
ユニットo12
ユニットo13