Major types of Loss function
1. MSE /. MSE / ,,, (회귀에 사용됨)
2. Margin-based (Discriminative setting)
• 0/1 loss
• logloss
• exponential loss
• hinge loss
3. Probabilistic setting
• Cross-Entropy (실제로 많이 사용됨)
- 크로스 엔트로피란 무엇?: https://3months.tistory.com/436 (아주 잘 정리됨, 이하 내용의 출처)
예측 모형은 실제 분포인 q를 모르고, 모델링을 하여 q 분포를 예측하고자 하는 것이다.
예측 모델링을 통해 구한 분포를 p(x) 라고 해보자. 실제 분포인 q를 예측하는 p 분포를 만들었을 때, 이 때 cross-entropy 는 아래와 같이 정의된다.
- q와 p가 모두 식에 들어가기 때문에, cross-entropy 라는 이름이 붙었다고 할 수 있다.
- 머신러닝을 통한 예측 모형에서 훈련 데이터에서는 실제 분포인 p 를 알 수 있기 때문에(지도 학습) cross-entropy 를 계산할 수 있다.
- 즉, 훈련 데이터를 사용한 예측 모형에서 cross-entropy는 실제 값과 예측값의 차이(dissimilarity)를 계산하는데 사용.
예를 들어, 가방에 0.8/0.1/0.1 의 비율로, 빨간/녹색/노랑 공이 들어가 있다고 하자, 하지만 직감에는 0.2/0.2/0.6의 비율로 들어가 있을 것 같다. 이 때, entropy 와 cross-entropy 는 아래와 같이 계산된다.
- 크로스 엔트로피 based on Negative Log-likelihood
*잠시, Likelihood-function이 뭔데?
- likelihood 라는 것은 특별히 어려운 것이 아니고, 지금 얻은 데이터가 특정 분포로부터 나왔을 가능도.
눈으로 보기에도 파란색 곡선 보다는 주황색 곡선에서 이 데이터들을 얻었을 가능성이 더 커보인다. 왜냐면 획득한 데이터들의 분포가 주황색 곡선의 중심에 더 일치하는 것 처럼 보이기 때문이다. 이 예시를 보면, 우리가 데이터를 관찰함으로써 이 데이터가 추출되었을 것으로 생각되는 분포의 특성을 추정할 수 있음을 알 수 있다. 여기서는 추출된 분포가 정규분포라고 가정했고, 우리는 분포의 특성 중 평균을 추정하려고 했다.
출처: https://angeloyeo.github.io/2020/07/17/MLE.html
- 수치적으로 이 likelihood를 계산하기 위해서는 각 데이터 샘플에서 후보 분포에 대한 높이(즉, likelihood 기여도)를 계산해서 다 곱함.
출처: https://angeloyeo.github.io/2020/07/17/MLE.html
- CrossEntropyLoss != Log-likelihood model
("Negative Log"-likelihood는 loss function의 미분이 용이하고 직관적이도록 돕는 아이디어같은.)
("Likelihood function" 역시 파라미터 추정을 위한 컨셉' 느낌.) - 파이토치에서 CrossEntropyLoss는 LogSoftmax를 적용한 후 Negative Log-likelihood(NLL) Loss까지 적용한 식과 동일하다. (여기서 LogSoftmax는Softmax 함수를 적용한 후 Log 함수를 적용하는 것과 동일한 함수.)
- CrossEntropyLoss 안에서 LogSoftmax와 Negative Log-likelihood 가 진행되기 때문에 softmax나 log 함수가 적용되지 않은 모델 output(raw data)을 input으로 주어야 합니다.
- 이와 달리 NLLLoss 안에서는 softmax나 log함수가 이뤄지지 않습니다. 그래서 모델 output(raw data)을 input으로 그대로 사용하는 것이 아니라 LogSoftmax 함수를 적용한 후 input으로 사용해야합니다.
• KL Divergence (예측 분포와 정답 분포 간 차이 기반)
'AI > Data Science' 카테고리의 다른 글
ResNet50 (0) | 2023.07.30 |
---|---|
[Data Science] NN에서 Backpropagation (0) | 2023.07.17 |
[통계] 모수, 확률변수, 확률분포, 이산확률분포, 연속확률분포, 독립항등분포 (0) | 2023.07.16 |
[Numpy] np.random / np.maximum (0) | 2023.07.13 |
[Data Science] 내적 유사도 (0) | 2023.07.12 |