CrossEntropy 2

Weighted Cross Entropy

클래스 불균형이 심한 경우에서 분류 문제를 풀 때 Cross Entropy로 최적화 한다면, weight 인자에 클래스별 가중치를 전달하여 데이터 비율에 맞게 학습되는 정도를 조정해서 좀 더 균형잡힌 학습을 할 수 있다. CrossEntropyLoss — PyTorch 1.8.1 documentation Shortcuts pytorch.org 실제 사용 방법은 아래와 같이 (7개 클래스 가정) 학습 데이터 별 통계를 이용해 weights을 구하고, CrossEntropyLoss의 첫째 인자로 전달해주면 된다. 빈도수가 높을 수록 특정 클래스의 weight은 작아지게 된다. nSamples = [887, 6130, 480, 317, 972, 101, 128] normedWeights = [1 - (x / ..

Cross Entropy, KL-Divergence

두 확률 분포 사이의 다름의 정도를 측정하는 방법에 대해 정리해 본다. Cross Entropy Cross Entropy를 이해하기 앞서서 information에 대해서 정의해야 한다. information(정보량)은 uncertainty(불확실성)을 나타내는 지표이며, 확률에 -log를 취한 것이다. 확률이 낮으면 값이 커지고, 높을 수록 값이 작아짐. information에 대한 기대값(평균)이 바로 Entropy이며, 분포의 평균적인 불확실성을 표현하는 값이다. Entropy가 높다면, 분포가 flat한 것이고 (어떤 지점에서든 헷갈리니까 ; 확률이 비슷비슷) 낮다면, 분포가 sharp한 것이다. (확률이 대부분 낮고, 특정 포인트가 높음 ; 확실하니까) 그러면, Cross Entropy란 뭐냐, ..

DL&ML/concept 2021.03.10