Logistic Function
Logistic function은
- 일종의 연속변수에 해당하는 "raw score"(정확히는 logit score)을
- probability로 바꾸어주는 함수임: output이 0에서 1사이의 real number.
- 미분가능!
Binary classification에서 True일 경우의 logit score가 0이상일 경우, True일 확률이 0.5이상에 해당한다.
즉, logit score 의 값이 양수로 클수록 대응하는 확률이 0.5보다 커지며, 음수로 커질수록 대응하는 확률이 0.5 이하록 작아짐.
다음이 바로 logistic function임.
$$\text{logistic}(t)=\sigma(t)=\frac{1}{1+e^{-t}}$$
- Sigmoid functions 중에서 가장 유명한 것이다보니 sigmoid라고도 불림.
- MLP에서 back-propagation이 적용되면서 activation function으로 사용되기 시작한 대표적인 activation function임.
- 현재는 hidden layers에서는 사용되지 않으나, binary calssification을 위한 ANN의 최종 output layer의 activation function으로 아직도 사용되며, 출력을 probability로 해야하는 경우에도 많이 이용됨.
미분을 하면 다음과 같음.
$$\dfrac{d}{dt}\sigma(t)=\sigma(t)(1-\sigma(t))$$
자세한 건 다음 참고 : 2023.09.25 - [.../Math] - [Math] Derivative of Logistic Function
참고자료 : 2022.12.28 - [.../Math] - [Math] Sigmoid function
Logistic Regression
Logit (또는 Log Odds) score $t$에 기반한 logistic function을 이용한 classification이 바로 Logistic Regression임.
(logistic function의 generalization은 softmax function임 : 아래의 "더 읽어보면 좋은 자료들" 참고)
달리 말하면, Logistic Regresson은 linear regression $t=\omega_0+\omega_1x_1+\dots+\omega_nx_n$으로 Logit score를 구하고, 이를 logistic function을 통해 확률(class에 속할 확률)로 변경하는 것임.
참고 : odds란?
2022.06.06 - [.../Math] - [Math] Odds (승산, 승률)
참고 : Logistic Regression에 대해
https://dsaint31.me/mkdocs_site/ML/ch03/logistic_regression/
수식으로 보는 logit과 logistic function
다음의 Logit (=Log Odds)에서부터 logistic이 유도됨.
$$\begin{aligned}
\log(\text{Odds}) &= \log \left(\frac{p}{1-p}\right) \\
&=\omega_0+\omega_1x_1+\omega_2x_2 + \cdots +\omega_nx_n \\
&= t
\end{aligned}$$
이를 정리하면 다음과 같음.
$$\log\left(\dfrac{p}{1-p}\right)=w_0+w_1x_1+\dots+w_nx_n$$
위 식의 양 변에 log를 제거하면,
$$\begin{aligned}\frac{1-p}{p}&= e^{-(\omega_0+\omega_1x_1+\omega_2x_2 + \cdots+\omega_nx_n)}\\\frac{1}{p}-1&= e^{-(\omega_0+\omega_1x_1+\omega_2x_2 + \cdots+\omega_nx_n)}\\\frac{1}{p}&= 1+e^{-(\omega_0+\omega_1x_1+\omega_2x_2 + \cdots+\omega_nx_n)}\\p&=\dfrac{1}{1+e^{-(\omega_0+\omega_1x_1+\omega_2x_2 + \cdots+\omega_nx_n)}}\end{aligned}$$
즉, class에 속할 확률은 다음과 같은 식이 됨.
$$\begin{aligned}
p&=\sigma(\textbf{x},\boldsymbol{\omega}) \\
&=\frac{1}{1+ e^{-(\omega_0+\omega_1x_1+\omega_2x_2 + \cdots+\omega_nx_n)}} \\
&=\frac{1}{1+ \text{exp}(-t)}\\&=\text{Logistic-func}(t)\\ \quad\\t&=\omega_0+\omega_1x_1+\omega_2x_2 + \cdots +\omega_nx_n\\&=\log\left({\frac{p}{1-p}}\right)
\end{aligned}$$
즉,
- $t$를 feature들의 linear combination으로 구하고
- 이는 결국 구하고자 하는 class에 속할 확률에 대한 logit이므로
- 역함수인 logistic을 취하면 확률 $p$를 구할 수 있음.
ANN에서의 Logistic function
- MLP에 back-propagation이 적용되면서 기존의 step 함수 대신에 logistic function이 activation function으로 사용되면서 초기 Deep ANN의 대표적인 activation function이 되었음.
- 하지만 exponential 이 포함되어 계산량이 높은 편이고, 양 끝단의 변화율이 0에 가까워서 Gradient vanishing을 일으키기 쉽고 느린 학습속도를 가져오기 때문에 최근에는 hidden layers에선 거의 사용을 하지 않는 추세임.
- Logistic 은 sigmoid function의 하나로 대부분은 sigmoid들이 위의 특징을 공유한다.
더 읽어보면 좋은 자료들.
2024.05.02 - [분류 전체보기] - [Math] Examples: Logistic and Softmax Functions
https://dsaint31.tistory.com/430
https://dsaint31.tistory.com/319
https://dsaint31.tistory.com/294
'Computer' 카테고리의 다른 글
[Conda] Install Conda on WSL2 (miniconda) (0) | 2022.07.17 |
---|---|
[Etc] HTML5 Video 재생속도 조절 : Chrome Extension (0) | 2022.06.14 |
[Windows] 화면 캡쳐 (스크린 샷) : Windows 10 (0) | 2021.10.26 |
MAC Address (or Media Access Control Address) (0) | 2021.10.26 |
화면캡처 및 녹화 : Windows Game Bar (0) | 2021.10.26 |