본문으로 바로가기

Softmax Classifier

category AI/Deep Learning 2021. 3. 9. 20:12

Softmax Classifier

1) 개요

기존의 logistic classifier의 sigmoid function이 binary classification 문제를 해결하는 방법이었다면 softmax classifier는 multi-class classification 문제 해결하는 방법이다. sigmoid function과 같은 activation function은 output으로 [0, 1] 확률값으로 yes / no를 나타낸다. 하지만, softmax function은 3개 이상의 class label을 분류하는데 이 또한 sigmoid function이 했던 것처럼 [0, 1] 확률값을 사용한다.

 

2) Softmax function

출처 : http://cs231n.stanford.edu/

    - score function (e.g. f(x) = Wx + b)의 output이 softmax function을 거지며 exponential과 normalize 과정을 거친다.

    - class 개수 i개의 score 값이다.

$$Softmax(s) = \frac{e^{s_{i}}}{\sum_{i=1}^{k} e^{s_{i}}}$$

    - softmax function output은 [0, 1] 사이의 확률값으로 전체 합은 1이다.

$$if \; k=3, \;\Rightarrow\;p_{1} + p_{2}+p_{3}=1$$

    - 가장 큰 확률값 p에 해당되는 label이 최종 classified된 값이다. (값이 클수록 더 크게 확신한 것과 같다.)

 

3) One-hot encoding

출처 : https://wikidocs.net/35476

    - Softmax Classifier에서는 parameter update를 위해 실제값을 one-hot vector로 표현한다.

    - 만약 ordinal하게 실제값을 label한다면 (e.g. 1, 2, 3) 오차값을 구할 때 class 간의 동등한 비교가 불가능하다.

 

Cross-Entropy Loss

1) 개요

    - 실제값과 예측값 차이를 줄이기 위한 엔트로피로 차이가 작을수록 0으로 수렴하고 크다면 무한대로 발산한다.

$$L_{i} = -log(Softmax(s))$$

 

2) 특징

    - 아주 작은 차이의 범위라도 cross-entropy loss는 0이 되지 않아 지속적으로 오차를 줄이기 위해 노력한다.

'AI > Deep Learning' 카테고리의 다른 글

RNN, LSTM, GRU  (0) 2021.04.02
CNN(Convolutional Neural Network); 합성곱 신경망  (0) 2021.03.15
Batch Normalization  (0) 2021.03.05
Dropout  (0) 2021.03.04
Weight Initialization  (0) 2021.03.04