1次元ロジスティック回帰では以下のシグモイド関数を用いた(参照)。
\begin{equation}
f_{\rm SI}(a)=\frac{1}{1+{\rm e}^{-a}}
\end{equation}
この式により任意の実数$a$は確率に変換される。この回帰の目的は$N$個の多次元ベクトル $\vec{x}_{i},i=1,\cdots,N$ を2分類することである。一方、多次元ロジスティック回帰では、Softmax関数
\begin{equation}
f_{\rm SO}(a_{k})=\frac{{\rm e}^{a_{k}}}{\sum_{i=1}^{M}{\rm e}^{a_{i}}}
\end{equation}
が使われていた(参照)。この回帰の目的は$N$個の多次元ベクトル $\vec{x}_{i},i=1,\cdots,N$ を$M$分類することである。先と同様に、$M$個の実数$a_{k},k=1,\cdots,M$ はこの式により確率に変換されることになる。以下が成り立つ事に注意する。
\begin{equation}
\sum_{k=1}^{M}\;f_{\rm SO}(a_{k})=1
\end{equation}
それでは、$M$が$2$のとき上記のSoftmax関数とシグモイド関数はどのように対応付けられるのであろうか?
$M=2$のとき
\begin{equation}
f_{\rm SO}(a_{1})=\frac{{\rm e}^{a_{1}}}{{\rm e}^{a_{1}}+{\rm e}^{a_{2}}}
\label{eq1}
\end{equation}
となる。$f_{\rm SO}(a_{2})$は$1-f_{\rm SO}(a_{1})$から求める事ができるので$f_{\rm SO}(a_{1})$だけを考える。式($\ref{eq1}$)変形すると、
\begin{eqnarray}
f_{\rm SO}(a_{1})&=&\frac{1}{1+{\rm e}^{-\left(a_{1}-a_{2}\right)}}\\
&=&f_{\rm SI}(a_{1}-a_{2})
\end{eqnarray}
を得る。すなわち、2変数の場合はその差だけでSoftmax関数を記述することができる。$a_{1}-a_{2}$を改めて$a$とおけばシグモイド関数に帰着する。$a_1 \gg a_2$は$a$が十分大きいことに対応し、$a_1 \ll a_2$は$a$が十分小さいことに対応する。
0 件のコメント:
コメントを投稿