본문 바로가기

AI/이론

[ML] Softmax regression, Categorical Cross-Entropy Loss, Multi-class Classification

앞서 로지스틱 회귀를 통해 2개의 선택지 중에서 1개를 고르는 이진 분류(Binary Classification)를 풀어봤습니다. 이번 챕터에서는 3개 이상의 선택지 중에서 1개를 고르는 다중 클래스 분류 문제를 위한 소프트맥스 회귀(Softmax Regression)에 대해서 배웁니다.

다중 클래스 분류(Multi-class Classification)

이진 분류가 두 개의 선택지 중 하나를 고르는 문제였다면, 세 개 이상의 선택지 중 하나를 고르는 문제를 다중 클래스 분류라고 합니다. 아래의 문제는 꽃받침 길이, 꽃받침 넓이, 꽃잎 길이, 꽃잎 넓이로부터 setosa, versicolor, virginica라는 3개의 품종 중 어떤 품종인지를 예측하는 문제로 전형적인 다중 클래스 분류 문제입니다.

 

 

 

 

 

 

위키독스

온라인 책을 제작 공유하는 플랫폼 서비스

wikidocs.net

 

 

Categorical Cross-Entropy Loss

Softmax activation 뒤에 Cross-Entropy loss를 붙인 형태로 주로 사용하기 때문에 Softmax loss 라고도 불립니다.

 Multi-class classification에 사용됩니다.

 

우리가 분류문제에서 주로 사용하는 활성화함수와 로스입니다. 분류 문제에서는 MSE(mean square error) loss 보다 CE loss가 더 빨리 수렴한 다는 사실이 알려져있습니다. 따라서 multi class에서 하나의 클래스를 구분할 때 softmax와 CE loss의 조합을 많이 사용합니다.

 

 

널리 쓰이는 프레임워크 3가지에서는 multi-class에서 쓸 수 있는 cross entropy loss를 정의해놓았습니다.
물론 이는 binary class에서도 적용이 가능합니다. 클래스가 2개일 때 sigmoid와 softmax는 같은 식이 됩니다.

  • Caffe: SoftmaxWithLoss Layer
  • Pytorch: torch.nn.CrossEntropyLoss
  • TensorFlow: tf.nn.softmax_cross_entropy (deprecated) → tf.nn.softmax_cross_entropy_v2

 

 

 

[Classification] Cross entropy의 이해, 사용 방법(Categorical, Binary, Focal loss)

이 글에서는 여러 가지 클래스를 분류하는 Classification 문제에서, Cross entropy를 사용하는 방법와 원리를 알아봅니다. 1. Tasks 우선, 두가지 문제를 봅시다. 1-1) Multi-Class Classfication 각 샘플(이미..

wordbe.tistory.com

 

'AI > 이론' 카테고리의 다른 글

[ML] Sigmoid, ReLu  (0) 2021.06.03
[ML] Gradient Descent3  (0) 2021.06.02
[ML] Epoch, iteration, batch size  (0) 2021.06.01
[ML] Transfer learning1  (0) 2021.05.22
[ML] pre-training , fine-tuning, Bottleneck feature  (0) 2021.05.22