Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
11
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

ロジスティック回帰式の導出

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

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
\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
}
{
\int_{x_i}^{x_i+\Delta x_i} n(x_i, \mu_{i, 0}, \sigma_{i, 0}) dx
} \\

&=
\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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
11
Help us understand the problem. What are the problem?