-
SoftmaxDeep Learining/Activation Function 2016. 10. 12. 21:48
Softmax
Softmax function은 Neural network의 최상위층에 사용하여 Classification을 위한 function으로 사용한다. NN의 최상위 계층에 사실 Sigmoid function을 사용하여 실제값과 출력값을 차이를 error function으로 사용해도 된다. 하지만 Softmax function을 사용하는 주요한 이유는 결과를 확률값으로 해석하기 위함이다.
위 그림을 보면 입력된 데이터가 히든레이어를 거쳐 마지막층에서 softmax function을 사용해 입력된 데이터가 y1인지 y2인지 y3인지 분류한다. 이러한 입력된 데이터를 바탕으로 입력된 데이터가 특정 분류가 될 확률을 계산하여 분류할 수 있도록 한다. 즉 y1이 나올 확률, y2가 나올 확률, y3가 나올 확률을 다 더하면 1이 되도록 하려는 것이다. 모든 합이 1이므로 어떠한 레이블의 확률이 높아지면 다른 레이블이 가지는 확률값은 그에 따라 내려가게 된다. 따라서 Softmax의 사용은 normalization의 효과를 얻게 된다.
Softmax function의 수식은 다음과 같다.
수식은 간단하다. 모든 레이블에 대한 시그모이드 값을 더한 값을 각 레이블에 대한 시그모이드 값을 나눈다. 즉, 전체분에 특정 레이블이 될 확률값이 된다. 따라서 가장 확률이 높은 것으로 분류하거나 확률 순서대로 몇 개의 예측을 제공할 수도 있다. 우리가 11월 2일 수업에서 보았던 것처럼 왓슨의 결과 같은 값을 얻게 된다.
※. Softmax function은 logistic regression이 2가지 레이블 분류하는 것과 달리 여러개의 label에 대해서도 분류(multiclas classification)를 가능하게 한다. 2개의 레이블에 대한 분류에 대해 Softmax function과 logistic function은 같다(동치).
참고자료
http://m.blog.naver.com/laonple/220563347553
http://newsight.tistory.com/68
https://en.wikipedia.org/wiki/Softmax_function
'Deep Learining > Activation Function' 카테고리의 다른 글
ReLu(Rectified Linear Unit) (0) 2016.10.03 Activation functions (0) 2015.09.24