SYDLAB_inha/Machine Learning

ML - Classifier(2) / Softmax Classifier / one-hot vector

빈그레 2023. 9. 10. 19:02

 

 

 


Softmax Classifier

 

 

 

 

Softmax Classifier

 

: 요즘은 SVM보다 softmas classifier를 더 많이 사용한다. 

Softmax classifier는 raw classifier score를 확률적으로 해석할 수 있도록 해준다.

 

 

위 예시로 설명해보았을 때, 지금 classifier가 image에 대해 cat일 확률은 13%, car인 확률은 87%로 추정하고 있다.

대소 비교 뿐만 아니라 확률적으로 접근하여 좀 더 직관적으로 해석할 수 있다. 확률적 접근을 위해 전처리 과정이 필요하다.

 

- [전처리 과정]

1. 모든 score들을 모두 양수로 바꾸어주는 작업을 한다.
확률로서 다루려면 모든 수가 양수여야 하므로, e^x라 하는 지수함수를 사용하여 값을 모두 양수로 바꾸어준다.  
지수로서 표현할 다양한 상수들이 있지만 수학적 활용도가 높은 자연상수e를 사용한다.

지수함수를 사용함으로써 양수를 만들어준다는 이점 외에도, 지수함수는 값이 말 그대로 지수적으로 올라가기 때문에 차이가 크게 벌어지는 효과가 있다.

2. normalization
확률은 더했을 때 총 합이 1이 되어야 한다. 지수 함수로 양수가 된 값들을 모두 더한 뒤에 그 총합의 값을 각각의 element에 나누어지면 위의 초록색 네모상자 속 수들과 같이 총 합이 1인 수들로 표현이 된다.




날 것의 score는 위 두 단계(exp, normalization)를 거친 후 확률적 해석이 가능하도록 처리되었다.

linear classifier에서는 target score라는 개념이 나왔는데 만약 정답이 cat일 때,  target score를 (cat,car,frog) : (1000,0,0)으로 잡아야할지 (2000,0,0)으로 잡아야할 지 애매하다. 하지만 softmax classifier는 확률적으로 접근하기 때문에 cat에서 cat이 나올 확률을 100%로 만들면 된다.


cat이 1이고 나머지는 0이 되게 정답인 놈만 살려둘 수있다~! 이를 one-hot vector라고 한다.