logo

ディープラーニングにおけるソフトマックス関数 📂機械学習

ディープラーニングにおけるソフトマックス関数

定義

x:=(x1,,xn)Rn\mathbf{x} := (x_{1} , \cdots , x_{n}) \in \mathbb{R}^{n} としよう。

σj(x)=exji=1nexi\displaystyle \sigma_{j} ( \mathbf{x} ) = {{ e^{x_{j}} } \over {\sum_{i=1}^{n} e^{x_{i}} }} に対して、σ(x):=(σ1(x),,σn(x))\sigma ( \mathbf{x} ) := \left( \sigma_{1} (\mathbf{x}) , \cdots , \sigma_{n} (\mathbf{x} ) \right)のように定義されたσ:Rn(0,1)n\sigma : \mathbb{R}^{n} \to (0,1)^{n}ソフトマックスsoftmaxと呼ぶ。

説明

ソフトマックス関数は、定義域がRn\mathbb{R}^{n}である、活性化関数の一種である。これは、ベクトルを入力として受け取り、その値を正規化するために使用される。どんなxR\mathbf{x} \in \mathbb{R}であっても、σ(x)\sigma ( \mathbf{x} )の全ての成分は0011の間の値で、全てを合計すると正確に11になる。

この特性は、確率と似ており、実際に人工ニューラルネットワークを実装する際には、分類問題に便利に使用される。