機械学習では、分類問題と回帰問題ってのがあるようだ。
分類問題とはデータがどのクラスに属するのかを判断する。
例 画像認識の場合、馬か豚かどっちなんだ、てなこと。
回帰問題とはある入力データから数値を予測する。
例 画像認識の場合、馬の体型から体重を予測するなど。
で、それぞれニューラルネットワークで使われた場合、分類問題ではソフトマックス関数を使い、回帰問題では恒等関数を使うとのこと。
ちなみに、恒等関数とは入力値をそのまま出力する関数。
ソフトマックス関数てのは、下記のような数式あり。
ちなみに、ソフトマックス関数のpythonコードはこちら。
[py] #numpyをインポートしてas npで。 x=np.array([0.2, 3.8, 5.2]) #配列に適当な数値を入れて、下記の関数に渡す。 def softmax(x): maxAtai= np.max(x) #入力値の最大値を変数maxAtaiに入れる expA=np.exp(x-maxAtai) #オーバーフローしないように sumexpA= np.sum(expA) y= expA / sumexpA return y [/py]
作りは単純だけど、忘れないようにしないとね。