Softmax 함수는 다중 클래스 분류 문제에서 사용되는 활성화 함수로, 입력 값들을 확률 분포로 변환하는 역할을 한다. 이름은 '소프트(Soft)'와 '맥스(Max)'의 합성어로, 가장 큰 값을 선택하는 Max 함수와 달리, Softmax는 모든 입력 값을 정규화하여 부드럽게 확률값으로 변환한다.
Softmax 함수는 입력 값을 지수함수를 이용해 변환한 후, 변환된 값들의 합으로 나누어 정규화하는 방식으로 작동한다. 이 과정에서 출력값은 0과 1 사이의 확률 값이 되며, 모든 출력 값의 합은 1이 된다.
Softmax 함수는 다음과 같이 정의된다.
\[ \sigma(x_i) = \frac{e^{x_i}}{\sum_{j} e^{x_j}} \]
여기서 \( x_i \)는 입력 값이며, 각 입력 값을 지수함수로 변환한 후 모든 입력 값의 합으로 나눈다.
Sigmoid 함수와 Softmax 함수는 모두 출력 값을 확률처럼 사용할 수 있다. 하지만 용도가 다르다.