확률적 생성 모델에서
위 식이 등장하는 대표적인 맥락은 로지스틱 회귀 또는 이진 분류를 위한 생성 모델의 사후 확률 추정 과정
유도 과정
1. 이진 분류 문제 설정
P( y=1 | x) = pi(x), P( y=0 | x ) = 1 - pi(x)
pi(x) 를 파라미터화할 방법을 찾아야 한다.
2. 로그 우도 함수 Log-likelihood
이진 분포 (Bernoulli 분포) 를 따르므로
3. 로짓 함수 사용
pi(x) ∈ (0, 1) 이므로, 선형 결합 a = w^T x 을 확률로 바꾸는 매핑이 필요하다.
이때 사용하는 것이 시그모이드 함수
4. 왜 이 식이 나올까? (로짓 역변환)
시그모이드는 로그 오즈를 확률로 바꾸는 함수이다.
좀 더 자세히 보자면,
1. 로그 오즈 표현
이항 분포의 사후 확률은 다음과 같이 표현한다고 가정
이 표현은 log-odds 라고 부르고, 선형 모델로 확률을 모델링할 때 자주 쓰는 기법
2. 양변에 지수 함수(exp) 를 취하기
지수 함수와 로그는 서로 역함수이므로 로그가 사라지고 오른쪽만 지수함수가 된다.
3. pi 에 대해 정리
확률을 선형함수로부터 안전하게 mapping 하는 함수로 등장한 것
이진 분류에서 시그모이드 함수가 확률 매핑을 담당했다면, 다중 클래스 분류에서는 소프트맥스 함수가 그 역할을 한다.
각 클래스 k 에 대해 스코어 a_k = w_k^T x 를 계산 ( 각 클래스마다 별도의 weight vector w_k 사용 )
확률 매핑이 필요한 이유
각 a_k 는 실수이기 때문에
- 단순히 argmax 를 사용하면 결과만 나오고 확률적 해석은 불가능
- 확률적 해석을 위해 P( y=k | x ) = 1 의 성질을 만족해야 하기 위해 소프트 맥스 함수 등장
소프트 맥스는 시그모이드의 일반화된 형태, 다중 클래스 확장 버전이다.