딥러닝에서 분류문제 학습시 소프트맥스 함수를 많이 사용하곤 합니다. 소프트 맥스 함수의 의미는 다 아실것이라고 믿습니다. 이번 글에서는 소프트 맥스 함수의 식을 살펴볼게요.이 글을 보시면 소프트 맥스 함수의 식을 이해하실거라 믿습니다.
Softmax 함수 정의
$\mathbb{x}$는 k-dimensional vector 라고 합시다. 그러면 $\mathbb{x} =(x_1,…,x_k)$로 표현이 가능합니다. softmax 함수는 벡터를 벡터로 보내주는 함수입니다. 아래와 같이요.
$f(\mathbb{x}) = (f_1(\mathbb{x}),f_2(\mathbb{x}),…,f_k(\mathbb{x}))$ 여기서 $f_j(\mathbb{x})$는 아래와 같이 정의합니다.
$$f_j(\mathbb{x}) = \frac{\exp(x_j)}{\sum_{i=1}^k \exp(x_i)}$$
Softmax 함수 의미
softmax함수는 벡터에서 벡터로 가는 함수입니다. 소프트 맥스 함수의 결과값을 보면 $0\leq f_i(\mathbb{x}) \leq 1$임을 알 수 있습니다. 그리고 $\sum_{i=1}^{k} f_i(\mathbb{x})=1$입니다. 이렇게 보고 보니 $f_i$는 어떤 확률로 설명할 수 있겠네요. 클래스가 k개인 분류문제에서 softmax의 결과인 $f_i$는 i클래스에 속할 확률로 해석 가능합니다.