기계 학습 : 이진 예측에 범주 형 크로스 엔트로피 또는 이진 크로스 엔트로피 손실을 사용해야합니까?


35

우선, 이진 예측을 수행해야하는 경우 원 핫 인코딩을 수행하여 두 개 이상의 클래스를 만들어야한다는 것을 깨달았습니다. 이 올바른지? 그러나 클래스가 하나 뿐인 예측에 대해서만 이진 교차 엔트로피입니까? TensorFlow와 같은 대부분의 라이브러리에서 일반적으로 발견되는 범주 형 크로스 엔트로피 손실을 사용한다면 큰 차이가 있습니까?

실제로 범주와 이진 교차 엔트로피의 정확한 차이점은 무엇입니까? 나는 TensorFlow에서 이진 교차 엔트로피의 구현을 본 적이 없으므로 아마도 범주 형이 잘 작동한다고 생각했습니다.


1
이진 분류의 예 : machinelearningmastery.com/… 및 다중 클래스 분류 : machinelearningmastery.com/…
user1367204

@ user1367204 : 다중 클래스 분류에 대한 링크는 이진 분류로 리디렉션됩니다. 이것 이어야합니다 .
user3389669

답변:


50

이항 교차 엔트로피 손실은 m=2 대한 다항식 교차 엔트로피 손실의 특별한 경우입니다 .

L(θ)=1ni=1n[yilog(pi)+(1yi)log(1pi)]=1ni=1nj=1myijlog(pij)

여기서 i 는 샘플 / 관측 및 j 인덱스 클래스를 색인화하고 y 는 샘플 레이블 (LSH에 대한 이진, RHS의 pij(0,1):jpij=1i,j 벡터) 및 p_ {ij} \ in (0,1) : \ sum_ {j} p_ { ij} = 1 \ forall i, j 는 표본에 대한 예측입니다.


3
다항식 크로스 엔트로피 손실에서 2 개의 클래스를 사용하는 한 본질적으로 이진 크로스 엔트로피 손실을 사용하고 있습니까?
infomin101

2
@leekwotsin yup
Reinstate Monica

17

이진 교차 엔트로피는 다중 레이블 분류를위한 반면 범주 형 교차 엔트로피는 각 예제가 단일 클래스에 속하는 다중 클래스 분류를위한 것입니다.


3
당신의 진술에 대한 정당성은 무엇입니까? 다중 레이블 분류에 범주 형 교차 엔트로피를 사용하지 않는 이유는 무엇입니까?
michal

각각 여러 클래스를 포함하는 레이블이 여러 개인 경우 어떻게합니까?
slizb

1
이것이 바로 내가 듣고 싶은 것이지만 상사가 듣고 싶어하는 것은 아닙니다. 약간의 설명은 정말 대단했을 것입니다.
Aditya

2

세 가지 종류의 분류 작업이 있다고 생각합니다.

  1. 이진 분류 : 2 개의 독점 클래스
  2. 멀티 클래스 분류 : 2 개 이상의 독점 클래스
  3. 다중 레이블 분류 : 비 독점 클래스

이것들로부터 우리는 말할 수 있습니다

  • (1)의 경우 이진 교차 엔트로피를 사용해야합니다.
  • (2)의 경우 범주 형 교차 엔트로피를 사용해야합니다.
  • (3)의 경우 이진 교차 엔트로피를 사용해야합니다. 다중 레이블 분류기를 다중 별도 이진 분류기로 간주 할 수 있습니다. 여기에 10 개의 클래스가있는 경우 10 개의 이진 분류 기가 별도로 있습니다. 각 이진 분류기는 독립적으로 훈련됩니다. 따라서 각 샘플에 대해 다중 레이블을 생성 할 수 있습니다. 하나 이상의 레이블을 확보해야하는 경우 분류 손실 기능이 가장 낮거나 다른 메트릭을 사용하여 레이블을 선택할 수 있습니다.

다중 클래스 분류는 다중 레이블 분류와 유사하지 않음 을 강조하고 싶습니다 ! 오히려 다중 레이블 분류기는 이진 분류기에서 아이디어를 빌립니다!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.