Softmax function은 Logistic function의 generic form 즉 일반형이라고 할 수 있음.
달리 말하면, Logistic function은 Softmax function에서 class의 수가 2인 특별한 경우에 해당함.
우선 softmax function은 다음과 같음.
$$\sigma(c_i)=\frac{e^{c_i}}{\sum^N_{i=0}e^{c_i}}$$
where
- $N$ : # of classes - 1.
- $c_i$ : $i$-th categorical variable. i번째 class에 속할 가능성을 나타내는 logit score.
참고로 logit score는 특정 입력이 각 class에 속할 probability에 대응하는 "raw score"로 값이 클수록 probability가 높고, 낮을수록 probability가 낮음. 주로 activation function이나 Softmax 함수로 전달되기 전의 모델 출력을 가르킴.
2022.05.12 - [...] - [ML] Softmax function
여기서 $N=1$ 로 놓아 binary classification으로 만들면, $c_i$는 두 가지가 존재함.
- $c_0 = 0$ (기준값. Threshold 로 $c_1$이 이 값보다 크며 class 1에 속하고, 작으면 class 0에 속함.)
- $c_1 =\log{\frac{p_1}{1-p_1}}$.
Binary classification에서는 일반적으로는 random variable이 하나로 충분함.
해당 random variable이 0에 가까우면 False(해당 class에 속하지 않음), 1에 가까우면 True(해당 class에 속함)로 처리한다.
하나의 class에 대해 속하는지 속하지 않는지를 판별하는 Binary classification에 대한 softmax는 다음과 같음
$$\sigma(c_1)=\frac{e^{c_1}}{\sum^1_{i=0}e^{c_i}}=\left.\frac{e^{c_1}}{e^{c_0}+e^{c_1}}\right|_{c_0=0,c_1=t}$$
- Binary classification에서 target class에 속할 가능성을 나타내는 logit score $t=\log{\frac{p_1}{1-p_1}}$는 가능성이 클수록 큰 양수의 값을 가지고, 가능성이 낮을수록 음수이면서 절대값이 큰 값을 가지게 됨.
- 클래스 1에 속하는 것(taget class에 속하는 것)을 지지하는 logit score를 $c_1=t$로 하고,
- 클래스 0에 속하는 것(target class에 속하지 않는 것)을 지지하는 $c_0=0$으로 고정하여 일종의 기준값으로 삼는다.
- logit score 가 0인 경우, 이를 binary probability의 경우로 환산하면 50%가 되므로 이를 기준값으로 삼음.
- 즉, $c_1$이 0보다 크면, target class에 속할 확률이 더 큰 것이고, 0 보다 작으면 속하지 않을 확률이 큰 것임.
이를 반영하면 softmax function은 다음과 같음.
$$\sigma(t)=\frac{e^{t}}{e^{0}+e^{t}}=\frac{e^{t}}{1+e^{t}}=\frac{1}{e^{-t}+1}$$
이는 Logistic function과 일치함.
2022.06.06 - [Computer/ETC] - [ML] Loigt에서 Logistic Function.
'Computer > ETC' 카테고리의 다른 글
Boltzmann’s Factor (or Boltzmann’s Distribution) (0) | 2022.06.09 |
---|---|
[ML] Newton-Raphson Method (0) | 2022.06.07 |
[linux] 명령어 : linux 배포판 및 버전 등을 확인하기 (0) | 2022.05.18 |
HWiNFO : PC의 HW 사양 정보 확인 SW (0) | 2022.03.10 |
[Linux] ps 명령어 (0) | 2021.11.10 |