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
- 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
- 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 |