logit과 sigmoid와 softmax

Seulgi Kim·2023년 2월 13일
0

machinelearning

목록 보기
2/2

logit과 sigmoid

logit과 sigmoid 함수는 서로 역함수의 관계이다.
logit은 logist + probit의 합성어로, 오즈에 자연로그를 취한 것이다.
여기서 오즈(odds)란, 클래스 C1,C2C_1, C_2가 있을 때 C2C_2로 분류될 확률에 대한 C1C_1으로 분류될 확률을 의미한다.

odds(p)=P(C1)P(C2)=p1podds(p) = {P(C_1) \over P(C_2)} = {p \over 1-p}

이는 실패에 대한 성공의 비율이기도 하다.
이에 대해 자연로그를 취하면 logit 함수가 된다.

logit(π)=logπ1πlogit(\pi)=\log {\pi \over 1-\pi}

sigmoid는 logit과 역함수 관계이다.

log(π1π)=t\log ({\pi \over 1-\pi}) = t

π1π=et{\pi \over 1-\pi}=e^t

(1+et)π=et(1+e^t)\cdot \pi=e^t

sigmoid(t)=π(t)=et1+et\therefore sigmoid(t) = \pi (t) = {e^t \over 1 + e^t}


Softmax

softmax는 logit으로부터 유도될 수 있다.
C1,C2,...,CkC_1, C_2, ..., C_k인 클래스 kk개를 생각하자.
ii번째 클래스 CiC_ikk번째 클래스 CkC_k의 비율은 다음과 같다.

ti=logP(Ci)P(Ck)t_i = \log {P(C_i) \over P(C_k)}

P(Ci)P(Ck)=eti{P(C_i) \over P(C_k)} = e^{t_i}

여기에 11부터 k1k-1까지 합을 구하면,

i=1k1P(Ci)P(Ck)=1P(Ck)P(Ck)=i=1k1eti\sum_{i=1}^{k-1} {P(C_i) \over P(C_k)} = {1-P(C_k) \over P(C_k)} =\sum_{i=1}^{k-1}e^{t_i}

이를 다시 쓰면,

P(Ck)=11+i=1k1etiP(C_k)={1\over 1+\sum_{i=1}^{k-1}e^{t_i}}

이다. 여기서

P(Ck)P(Ck)=etk=1{P(C_k) \over P(C_k)} = e^{t_k} = 1

이고

P(Ci)=P(Ck)etiP(C_i) = P(C_k) \cdot e^{t_i} 이므로,

P(Ci)=1etk+i=1k1etieti=etii=1keti\therefore P(C_i)={1\over e^{t_k} + \sum_{i=1}^{k-1}e^{t_i}}\cdot e^{t_i} = {e^{t_i} \over \sum_{i=1}^{k} e^{t_i}}

이다.

0개의 댓글