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 밑바닥부터 시작하는 딥러닝(한빛미디어, 사이토 고키 지음, 개발맵시 옮김)
'머신러닝 > 10. 딥러닝' 카테고리의 다른 글
(R3)제09강(3.1)신경망 표기** wij 주의 - 출력 i 로 들어가는 입력 j (0) | 2021.05.12 |
---|---|
(P1)제01강(01)딥러닝 역사 - 수정 보완... (0) | 2020.09.27 |