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 件のコメント:
コメントを投稿