Contents
ソフトマックス関数とは
$$ y= \frac{ e^{x_k} }{ \displaystyle \sum_{ i = 1 }^{ n }e^{x_i} } $$
ソフトマックス関数の出力は0~1の実数値に落とし込むことができます。出力の結果を0~1の範囲に実数値として落とし込めるので、確率的な表現ができることが可能になります。
例えば男性、女性を判別する際に出力結果が男性が3.0、女性が2.0の場合総和が5.0になります。
ソフトマックス関数はこの総和が必ず1になるように調整するための関数です。男性が0.7、女性が0.3のように
総和が1.0となり、単純な確率で表現することが可能となります。
import numpy as np
def softmax(x):
return np.exp(x) / np.sum(np.exp(x))
y = softmax(np.array([3,2]))
print(y)
#output [0.73105858 0.26894142] 合計値が1になる