본문 바로가기

인공지능/밑바닥부터 시작하는 딥러닝1

로짓, 시그모이드, 소프트맥스 관계


> 퍼셉트론에서 활성화 함수를 계단함수에서 다른 함수로 변경하는 것이 신경망의 핵심 (계단함수 -> 1)sigmoid, 2)ReLU 3)softmax)

#1. 로짓(logit)

로짓은 logist + probit 의 합성어로 생각하면 좋다. 이항반응변수 클래스1(C1) 과 클래스2(C2)에 대해 양적 설명변수 X에 대해서 π(x1)를 C1을 선택할 확률이라 하면, 1-π(x1)은 C2의 선택확률이 되고 C1을 선택할 확률의 로짓(logit)은 다음과 같은 선형식으로 정의된다.

여기서 log는 밑을 e로 가지는 자연로그 ln이며 log(ln)을 취한 π(x1)/(1-π(x1))는 오즈(odds)라고 한다. 오즈는 도박에서 얻을(pay off) 확률과 잃을(stack) 확률의 비율이라고 하여 로지스틱 회귀분석에서는 '실패확률에 대한 성공 확률의 비'라고 표현한다. ex) 오즈가 4.0 이면 성공확률이 실패확률의 4.0배다.

딥러닝의 이진 분류에서 원하는 클래스(C1)로 분류될 확률이라 생각해 C1을 선택할 확률의 로짓을 고려한다. 로지스틱 회귀분석에서는 2x2 분할표의 연관성 측도로서 오즈비를 정의할 때 오즈를 사용하는데, 생략한다.


#2. 시그모이드(sigmoid)


로짓과 역함수 관계인 시그모이드(sigmoid)함수는 인공신경망에서 ReLU가 등장하기 이전에 활발하게 사용되었던 활성화 함수(activation function)로 출력층에 활용된다. 

성공확률 혹은 원하는 클래스로의 분류 확률에 대해 지수함수를 이용해 나타내면, ( π(x1) -> π1로 표현 )

위와 같은 형태로 전개가 되는데 분모와 분자 모두에 동일하게 exp(-f(x))를 곱해주면

클래스 1로 분류될 확률의 로짓에 sigmoid함수를 취하면  클래스 1로 분류될 확률을 구할 수 있으므로 역함수 관계임을 알 수 있다.

시그모이드 함수의 그래프는 다음과 같다.



#3. 소프트맥스(softmax)


소프트맥스(softmax)함수는 인공신경망이 내놓은 K개의 클래스 구분 결과를 확률처럼 해석하게 만들어 준다. 주로 기계학습의 분류문제의 활성화 함수로 사용되며 2개의 클래스로 정의하던 로짓을 K개의 클래스 대상으로 일반화 하면 소프트맥스함수가 유도된다.

즉, 소프트맥스 함수에서 K를 2로 놓으면 sigmoid함수가 되며 반대로 sigmoid함수를 K개의 클래스를 대상으로 일반화 하면 softmax함수가 유도된다.


유도과정을 살펴보자.

는 클래스가 2개일때,   는 클래스가 K개일 경우의 odds이며 우측 식은 좌측 식의 일반화한 결과임을 알아야 한다.


양변을 i=1 부터 K-1 까지 더하면 이 되며 으로 나타낼수 있기 때문에,


위와 같은 과정으로 P(C_k|x)를 유도가 가능하다.

이후 P(C_i|x)를 유도하기 위해 시그모이드 식의 과정 중 형태로 일반화 하여 식을 유도하면,


형태로 표현이 가능하며 분모의 1은 식을 이용하여 로 치환이 가능하고 이에, 

소프트맥스(softmax) 함수가 유도된다.


소프트 맥스 함수를 그림으로 살펴보면 다음과 같다