티스토리 뷰

Multi-Class Classification and Softmax

 - 지금까지 우리는 yes or no의 리턴값 또는 파랑과 빨강 중 더 가까운 방향에 대한 확률로 리턴하는경우를 다뤄봤는데, 

 - 만약 우리가 리턴해서 얻고자 하는 값이 R, G, B와 같은 컬러값 또는 강아지, 고양이, 새 와 같은 대상이라면??



The Softmax Function

 - 우리가 본것이 어떤 동물인지에 대한 모델을 구현해본다 가정하자.

 - 오리, 비버, 왈루스 중 위에 할당된 확률에 따라 판단하는 모델을 구현하고, 전체 확률을 합한 값은 당연하게 1이 된다.

 - input으로는 부리가 달렸는지, 이빨의 개수, 털의 종류 등등이 되겠다.

 - Score로 오리는 2, 비버는 1, 왈루스는 0을 할당해주고 그 다음 설정해 줘야할것은

 - 이 Score를 어떻게 확률로 변경할 것인지에 대한 점이다.

 - 우리가 확률로 변경을 하려면 

 - 가장 먼저, 전체의 합이 1이 되어야하는데, 현재 Score를 모두 합친 값은 1이 되지 않는다.

 - 그다음, 오리가 비버보다, 비버가 왈루스보다 점수가 높기때문에 그 순서에 맞게 확률이 할당되어야 한다.



 - 이러한 확률을 작성하고자 Score의 전체 합인 3으로 각 score들을 나누려고 시도하였으나

 - Score가 음수가 할당된 경우 제대로 된 값을 얻지 못하는 경우가 발생한다.

 - 우측 상단 예시에서처럼 분모가 0이 되어버릴수도 있어 이 방법대로는 어렵다.

 - 따라서 모든 수를 양수로 만드는 함수는 지수함수이다!



 - 지수함수는 모든 input에 대해 양수를 리턴한다. 

 - 그러므로 e를 밑으로 모두 취해 확률을 구해보면 정확히 합이 1인 확률이 나온다.



 - 이와같은 방법을 Softmax Function 이라 하고, 이는 다음과 같다

 - n개의 클래스가 존재하고, z1부터 zn까지의 Score를 리턴하는 일차방정식이 있다고 하면, 

 - 클래스 i에 대한 확률 P 는 위와같이 e를 진수로, Score를 지수로하여 계산할 수 있다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함