機械学習
数学
統計学
ロジスティック回帰
シグモイド関数


この関数の形を導出したい

Pr(Y=1|X) = \frac{1}

{
1+ \exp \Biggl[
{-(w_0+ \sum_{i=1}^{n} w_ix_i)}
\Biggl]
}
\tag{1}


はじめに

ロジスティック回帰式(シグモイド関数)の導出の記事が見当たらないので書いてみました。

導出方法が分かればロジスティック回帰がなぜ確率を出力するか理解が深まるはず。間違ってるところあったらこっそり教えてね。


導出

条件付き確率に関して成り立つ定理でベイズの定理があるのでそれをいじくって導出します。(Yは0, 1のブーリアンでベルヌーイ分布に従い、Xは連続確率変数で正規分布に従うものとします。)

Pr(Y=1|X) = \frac{Pr(Y=1)Pr(X|Y=1)}{Pr(X)}

\tag{2}

まず右辺分母について乗法定理を使って次のように分解します。

\begin{align}

Pr(Y=1|X) &= \frac{Pr(Y=1)Pr(X|Y=1)}{Pr(X, Y=1)+Pr(X,Y=0)} \\
&= \frac{Pr(Y=1)Pr(X|Y=1)}{Pr(Y=1)Pr(X|Y=1)+Pr(Y=0)Pr(X|Y=0)} \\
\tag{3}
\end{align}

(3)式について分母分子を$ Pr(Y=0)Pr(X|Y=0) $で割ります。

Pr(Y=1|X) = \frac

{\frac{Pr(Y=1)Pr(X|Y=1)}{Pr(Y=0)Pr(X|Y=0)}}
{\frac{Pr(Y=1)Pr(X|Y=1)}{Pr(Y=0)Pr(X|Y=0)}+1}
\tag{4}

ここで(4)式の

\frac{Pr(Y=1)Pr(X|Y=1)}{Pr(Y=0)Pr(X|Y=0)}

\tag{5}

部分の分子については乗法定理を使って次のように分解が可能です(分母も同様)。

\begin{align}

& Pr(Y=1)Pr(X|Y=1) \\
&= Pr(Y=1)Pr(x_1, x_2, x_3, x_4, ..., x_n|Y=1) \\
&= Pr(Y=1)Pr(x_1|Y=1)Pr(x_2, x_3, x_4..., x_n|Y=1, x_1) \\
&= Pr(Y=1)Pr(x_1|Y=1)Pr(x_2|Y=1, x_1)Pr(x_3, x_4..., x_n|Y=1, x_1, x_2) \\
&= Pr(Y=1)Pr(x_1|Y=1)Pr(x_2|Y=1, x_1)Pr(x_3|Y=1, x_1, x_2)Pr(x_4..., x_n|Y=1, x_1, x_2, x_3) \\
&... \\
\tag{6}
\end{align}

さて、もし$x_i$がそれぞれ独立した変数であるとするならば

\begin{align}

& Pr(x_2|Y=1, x_1) = Pr(x_2|Y=1) \\
& Pr(x_3|Y=1, x_1, x_2) = Pr(x_3|Y=1) \\
&... \\
\tag{7}
\end{align}

となるので(5)式は次のように変形できます。

\begin{align}

\frac{Pr(Y=1)Pr(X|Y=1)}{Pr(Y=0)Pr(X|Y=0)}
&= \frac{Pr(Y=1)Pr(x_1|Y=1)Pr(x_2|Y=1)...Pr(x_n|Y=1)}{Pr(Y=0)Pr(x_1|Y=0)Pr(x_2|Y=0)...Pr(x_n|Y=0)} \\

&= \exp \Biggl[\ln \Biggl(
\frac{Pr(Y=1)Pr(x_1|Y=1)Pr(x_2|Y=1)...Pr(x_n|Y=1)}{Pr(Y=0)Pr(x_1|Y=0)Pr(x_2|Y=0)...Pr(x_n|Y=0)}
\Biggr) \Biggr] \\

&= \exp \Biggl[
\ln \Biggl( \frac{Pr(Y=1)}{Pr(Y=0)} \Biggr)
+
\sum_{i=1}^{n} \ln \Biggl( \frac{Pr(x_i|Y=1)}{Pr(x_i|Y=0)} \Biggr)
\Biggr]

\tag{8}
\end{align}

ここで$Pr(x_i|Y)$が次の関数で表現できると仮定します。($n(*)$は正規分布の確率密度関数です)

\begin{align}

Pr(x_i|Y) =
\lim_{\Delta x_i \to 0}
\int_{x_i}^{x_i+\Delta x_i} n(x_i, \mu_{i, Y}, \sigma_{i, Y}) dx_i
\tag{9}
\end{align}

すると(8)式の総和部分は次のように展開できます。

\begin{align}

\frac{Pr(x_i|Y=1)}{Pr(x_i|Y=0)} &=
\lim_{\Delta x_i \to 0} \frac{
\int_{x_i}^{x_i+\Delta x_i} n(x_i, \mu_{i, 1}, \sigma_{i, 1}) dx_i
}
{
\int_{x_i}^{x_i+\Delta x_i} n(x_i, \mu_{i, 0}, \sigma_{i, 0}) dx_i
} \\

&=
\lim_{\Delta x_i \to 0} \frac{
N(x_i+\Delta x_i, \mu_{i, 1}, \sigma_{i, 1})
-
N(x_i, \mu_{i, 1}, \sigma_{i, 1})
}
{
N(x_i+\Delta x_i, \mu_{i, 0}, \sigma_{i, 0})
-
N(x_i, \mu_{i, 0}, \sigma_{i, 0})
} \\

&=
\lim_{\Delta x_i \to 0} \frac{(
N(x_i+\Delta x_i, \mu_{i, 1}, \sigma_{i, 1})
-
N(x_i, \mu_{i, 1}, \sigma_{i, 1})
)/\Delta x_i
}
{(
N(x_i+\Delta x_i, \mu_{i, 0}, \sigma_{i, 0})
-
N(x_i, \mu_{i, 0}, \sigma_{i, 0})
)/\Delta x_i
} \\

&=
\frac{n(x_i, \mu_{i, 1}, \sigma_{i, 1})}{n(x_i, \mu_{i, 0}, \sigma_{i, 0})}

\tag{10}
\end{align}

もし分散が$\sigma_{i, 1}^2 = \sigma_{i, 0}^2$ならばさらに次のように展開できます。

\begin{align}

\frac{n(x_i, \mu_{i, 1}, \sigma_i)}{n(x_i, \mu_{i, 0}, \sigma_i)} &=
\frac{
\frac{1}{\sqrt{2\pi\sigma_i^2}}\exp \Biggl[ -\frac{(x_i-\mu_{i, 1})^2}{2\sigma_i^2} \Biggl]
}
{
\frac{1}{\sqrt{2\pi\sigma_i^2}}\exp \Biggl[ -\frac{(x_i-\mu_{i, 0})^2}{2\sigma_i^2} \Biggl]
}

=
\frac{
\exp \Biggl[ -\frac{(x_i-\mu_{i, 1})^2}{2\sigma_i^2} \Biggl]
}
{
\exp \Biggl[ -\frac{(x_i-\mu_{i, 0})^2}{2\sigma_i^2} \Biggl]
} \\

&=
\exp \Biggl[
-\frac{(x_i-\mu_{i, 1})^2}{2\sigma_i^2} + \frac{(x_i-\mu_{i, 0})^2}{2\sigma_i^2}
\Biggl] \\

&=
\exp \Biggl[
\frac{\mu_{i, 1}-\mu_{i, 0}}{\sigma_i^2} x_i
+
\frac{\mu_{i, 0}^2-\mu_{i, 1}^2}{2\sigma_i^2}
\Biggl]

\tag{11}
\end{align}

(11)式の結果を(8)式に代入すれば

\begin{align}

&\exp \Biggl[
\ln \Biggl( \frac{Pr(Y=1)}{Pr(Y=0)} \Biggr)
+
\sum_{i=1}^{n} \ln \Biggl( \frac{Pr(x_i|Y=1)}{Pr(x_i|Y=0)} \Biggr)
\Biggr] \\
&=\exp \Biggl[
\ln \Biggl( \frac{Pr(Y=1)}{Pr(Y=0)} \Biggr)
+
\sum_{i=1}^{n} \ln \Biggl( \exp \Biggl[
\frac{\mu_{i, 1}-\mu_{i, 0}}{\sigma_i^2} x_i
+
\frac{\mu_{i, 0}^2-\mu_{i, 1}^2}{2\sigma_i^2}
\Biggl]
\Biggr)
\Biggr] \\

&=
\exp \Biggl[
\ln \Biggl( \frac{Pr(Y=1)}{Pr(Y=0)} \Biggr)
+
\sum_{i=1}^{n} \Biggl(
\frac{\mu_{i, 1}-\mu_{i, 0}}{\sigma_i^2} x_i
+
\frac{\mu_{i, 0}^2-\mu_{i, 1}^2}{2\sigma_i^2}
\Biggr) \Biggr] \\

\tag{12}
\end{align}

となります。ここで

\begin{align}

w_0 &= \ln \Biggl( \frac{Pr(Y=1)}{Pr(Y=0)} \Biggr)
+
\sum_{i=1}^{n} \Biggl(
\frac{\mu_{i, 0}^2-\mu_{i, 1}^2}{2\sigma_i^2}
\Biggr) \\

w_i &= \frac{\mu_{i, 1}-\mu_{i, 0}}{\sigma_i^2}
\tag{13}
\end{align}

とすれば(12)式は

\begin{align}

&\exp \Biggl[
\ln \Biggl( \frac{Pr(Y=1)}{Pr(Y=0)} \Biggr)
+
\sum_{i=1}^{n} \Biggl(
\frac{\mu_{i, 1}-\mu_{i, 0}}{\sigma_i^2} x_i
+
\frac{\mu_{i, 0}^2-\mu_{i, 1}^2}{2\sigma_i^2}
\Biggr) \Biggr] \\
&=
\exp \Biggl[ w_0 + \sum_{i=1}^{n} w_ix_i \Biggr] \\
\tag{14}
\end{align}

となるので、これを(4)式に代入します。

Pr(Y=1|X) = \frac

{\frac{Pr(Y=1)Pr(X|Y=1)}{Pr(Y=0)Pr(X|Y=0)}}
{\frac{Pr(Y=1)Pr(X|Y=1)}{Pr(Y=0)Pr(X|Y=0)}+1}
= \frac
{\exp \Biggl[ w_0 + \sum_{i=1}^{n} w_ix_i \Biggr]}
{\exp \Biggl[ w_0 + \sum_{i=1}^{n} w_ix_i \Biggr]+1}
\tag{15}

あとは分子分母を$\exp(w_0 + \sum_{i=1}^{n} w_ix_i)$で割れば

Pr(Y=1|X) = \frac

{1}
{1+\exp \Biggl[-(w_0+ \sum_{i=1}^{n} w_ix_i) \Biggr]}
\tag{16}

となり、目的の関数を導出することができました。


参考

Machine Learning 03: Gaussian Naïve Bayes and Logistic Regression

https://mr-why.com/machinelearning/tom-mitchell-machine-learning-03-gaussian-naive-bayes-logistic-regression