Softmax
수학적 의미
multi class linear classifier(multinomial Logistic Regression)
실제적 의미
K개의 클래스중에 특정 클래스에 속할 점수를 멋있게 확률 값으로 바꿔줌
(참고! 확률 값의 특징: 양수, 합이 1)
수식
Softmax는 그냥 한 클래스에 속할 확률을 나타내줄뿐이므로 학습을 위하여 cost function 이 필요하다
대표적인 2개의 cost function은 아래 두개 이다.
Classification는 기본적으로 정답 클래스은 한개 이다.
Hinge loss
기본 개념
정답스코어보다 오답 스코어가 1이상 작은 경우에는 loss = 0
1이상의 차이가 안 날 경우 그만큼을 cost로 여김
즉! 정답과 일정 이상의 점수가 낮아지도록 학습함
예시
정답: [1 0 0 0], 예측 결과: [0.8, 1.7, -5, 0.3]
cost = 0 + (1.7-0.8+1) + 0+ (0.3-0.8+1) = 0.9+ 0.5 = 1.4
Cross Entropy
기본 의미
정답의 확률를 최대화 한다. 그럼 자연스래 다른 확률은 낮아짐
이걸 그냥 하면 섭섭하니 - log를 붙여서 negative log 최소화하는 방향으로 학습한다.
간단한 수식
수식은 사실 위와 같이 잘 이해안되게 써있지만 내용은 단순하다.
y가 one-hot encoding이면 하나만 1이고 나머지는 0이다. 그러므로 정답을 제외하고는 다 사라진다.
수식은 다음처럼 정리된다.
k는 바로 정답의 인덱스가 된다.
그러므로 정답의 확률를 최대화하는 기법이라고 생각하면된다. (그러면 나머지 확률은 자연스레 낮아질테니)
'머신러닝 읽어주는 남자' 카테고리의 다른 글
From AI to neuroscience (0) | 2018.05.12 |
---|---|
Learning to rank (0) | 2018.05.02 |
[오직 컨셉]Generative model vs Discriminative model (0) | 2018.04.24 |
[오직 컨셉]Gradient Descent (0) | 2018.04.23 |
[오직 컨셉] 텐서플로우(Tensorflow) (0) | 2018.04.22 |