728x90

소프트맥스는 분류에 사용됩니다.

$\\ $\begin{align*} y_k &= \frac {exp(a_k)} { \sum\limits_{i=1}^n exp{(a_i)} } \\ \end{align*}

exp(x)는 $e^x$를 뜻하는 지수함수 입니다.

소프트맥스 함수의 분자는 $a_k$의 지수함수,

분모는 지수함수의 합으로 구성됩니다.

지수함수는 크기가 크므로 다음과 같이 조정하여 해결합니다.

$\begin{align*} y_k &= \frac {exp(a_k)} { \sum\limits_{i=1}^n exp{(a_i)} } \\ &= \frac {C \cdot exp(a_k)} { C \cdot \sum\limits_{i=1}^n exp{(a_i)} } \\ &= \frac { exp(a_k+logC)} { \sum\limits_{i=1}^n exp{(a_i+logC)} } \\ &= \frac { exp(a_k+ C')} { \sum\limits_{i=1}^n exp{(a_i+ C')} } \\ \end{align*}

 

소프트맥스의 지수함수를 구할 때 어떤 수를 더해도 결과는 변하지 않습니다.

그리하여 보통 입력신호 중 최대값을 빼도(혹은 더해도) 값에는 변동이 없으므로 최대값을 뺴고 사용합니다.

 

 

 

참고문헌: Deep Learning from Scratch 밑바닥부터 시작하는 딥러닝(한빛미디어, 사이토 고키 지음, 개발맵시 옮김)

 

+ Recent posts