と書くことができる。ここで、 p(\vec{x}, c_{k})は\vec{x}とc_{k}が同時に実現する確率である。Bayesの定理から上式の右辺は
\begin{equation}
p(\vec{x})=\sum_{k=1}^{K} p(\vec{x}| c_{k})\;p(c_{k})
\label{d0}
\end{equation}
と変形することができる。ここで、p(\vec{x}| c_{k})はc_{k}が実現しているとき\vec{x}が実現する事後確率、p(c_{k})は事前確率である。次に、\vec{x}が実現しているときラベルがc_kである事後確率を考える。Bayesの定理と式(\ref{d0})より
\begin{eqnarray}
p(c_k|\vec{x})&=&\frac{p(\vec{x}, c_{k})}{p(\vec{x})} \\
&=&\frac{p(\vec{x}| c_{k})p(c_k)}{\sum_{i} p(\vec{x}| c_{i})\;p(c_{i})} \\
&=&\frac{ {\rm e}^{a_k} }{\sum_{i} {\rm e}^{a_i}} \label{e0}
\end{eqnarray}
を得る。ここで
\begin{eqnarray}
a_k&=&\ln\left(p(\vec{x}| c_{k})p(c_k)\right) \\
&=&\ln p(\vec{x},c_{k})
\end{eqnarray}
とした。式(\ref{e0})がSoftmax関数である。先に考えた多次元回帰では、計算の順序として最初にa_{k}が計算され、Softmax関数を使って確率に変換していた。a_{k}とは\vec{x}とc_kが同時に実現する確率p(\vec{x},c_k)の対数である。
2分類の場合、式(\ref{e0})は \begin{equation} p(c_1|\vec{x})=\frac{ {\rm e}^{a_1} }{{\rm e}^{a_1}+{\rm e}^{a_2}} \end{equation}
となる。ここで
\begin{eqnarray}
b&\equiv&a_1-a_2 \\
&=&\ln{\frac{p\left(\vec{x},c_1\right)}{p\left(\vec{x},c_2\right)}}\\
&=&\ln{\frac{p\left(c_1|\vec{x}\right)}{p\left(c_2|\vec{x}\right)}} \label{e1}
\end{eqnarray}
を導入すると
\begin{equation}
p(c_1|\vec{x})=\frac{1}{1+{\rm e}^{-b}}
\end{equation}
を得る。これはシグモイド関数である。先の1次元回帰では最初にbを求め、この関数により確率に変換した。
シグモイド関数 \begin{equation} \sigma=\frac{1}{1+{\rm e}^{-b}} \end{equation}
をbについて解いた式
\begin{equation}
b=\ln{\left(\frac{\sigma}{1-\sigma}\right)}
\end{equation}
をlogit関数と呼ぶ。
0 件のコメント:
コメントを投稿