Loss Function
quantifies our unhappiness with the scores across the training data.
모델의 학습 결과로 얻어낸 예측값(score)이 실제값과 얼마나 다른지 수치화할 수 있어야 한다.
이것을 가능하게 하는 것이 Loss function이다.
Loss function(=cost func)을 통해 얻어낸 unhapiness를 우리는 loss(cost)라고 부른다.
Loss를 계산하는 몇가지 방법에 대해서 알아보자.
Hinge Loss
hinge loss는 Support Vector Machine에서 주로 사용되고 있기 때문에 SVM loss로 불리기도 한다.
Binary hinge loss (binary SVM loss)
가장 기본적인 형태의 binary class 인 경우의 hinge loss를 binary hinge loss라 한다.
loss값은 아래의 형태를 보일 것이다.
Hinge loss (multiclass SVM loss)
확장하여 multiclass 에서의 hinge loss는 다음과 같다.
C : class개수
Loss function을 간단하게 변형해보면 다음과 같이 표현할 수 있다. (그냥 1을 앞에 두고 score값을 묶는다.)
결국 loss가 최소가 되는 경우는, 올바르게 판단한 경우의 score값(s_yi)에서 다른 class에 대한 score값(s_j)의 distance가 모두 1이상인 경우일 겻이다.
예제 : Hinge Loss
여기 class가 3개인 모델이 있다고 하자. 이때 각 image를 input으로 했을 때 얻어지는 score는 다음과 같다. 각 input에 대한 hinge loss를 구하여 표를 완성해보자.
image_frog의 loss는 직접 해보시길!
image_cat
cat image를 input으로 했을 때, class_cat의 score값은 3.2이다.
따라서 이 경우 loss식은 다음과 같다.
계산하면 loss = 2.9 이다.
image_car
car image를 input으로 했을 때, class_car의 score값은 4.9이다.
따라서 이 경우 loss식은 다음과 같다.
계산하면 loss = 0이다.
Answer
'ML' 카테고리의 다른 글
[Machine Learning] Decision Trees (0) | 2023.10.18 |
---|---|
[ML] Generative learning algorithm (0) | 2023.10.08 |
[ML] Gaussian Discriminant Analysis (0) | 2023.09.23 |
[ML]Linear Models for Regressions (part1) (0) | 2023.09.13 |
Loss Function: Log Likelihood Loss (0) | 2023.08.05 |