교차 엔트로피가 무엇인지에 대한 설명이 많이 있다는 것을 알고 있지만 여전히 혼란 스럽습니다.
손실 함수를 설명하는 방법 일 뿐입니 까? 손실 함수를 사용하여 최소값을 찾기 위해 경사 하강 법 알고리즘을 사용할 수 있습니까?
답변
교차 엔트로피는 일반적으로 두 확률 분포의 차이를 정량화하는 데 사용됩니다. 일반적으로 “진정한”분포 (기계 학습 알고리즘이 일치시키려는 분포)는 원-핫 분포로 표현됩니다.
예를 들어 특정 학습 인스턴스의 경우 레이블이 B (가능한 레이블 A, B, C 중)라고 가정합니다. 따라서이 학습 인스턴스의 원-핫 배포는 다음과 같습니다.
Pr(Class A) Pr(Class B) Pr(Class C)
0.0 1.0 0.0
위의 “참”분포를 해석하면 훈련 인스턴스가 클래스 A가 될 확률이 0 %, 클래스 B가 될 확률이 100 %, 클래스 C가 될 확률이 0 %임을 의미합니다.
이제 기계 학습 알고리즘이 다음 확률 분포를 예측한다고 가정합니다.
Pr(Class A) Pr(Class B) Pr(Class C)
0.228 0.619 0.153
예측 분포가 실제 분포에 얼마나 가깝습니까? 이것이 교차 엔트로피 손실이 결정하는 것입니다. 다음 공식을 사용하십시오.
p(x)
원하는 확률과 q(x)
실제 확률 은 어디에 있습니까 ? 합계는 세 클래스 A, B, C를 초과합니다.이 경우 손실은 0.479입니다 .
H = - (0.0*ln(0.228) + 1.0*ln(0.619) + 0.0*ln(0.153)) = 0.479
이것이 당신의 예측이 실제 분포에서 얼마나 “잘못”또는 “멀리”있는지입니다.
교차 엔트로피는 가능한 많은 손실 함수 중 하나입니다 (다른 인기있는 것은 SVM 힌지 손실입니다). 이러한 손실 함수는 일반적으로 J (theta)로 작성되며 매개 변수 (또는 계수)를 최적의 값으로 이동하는 반복 알고리즘 인 경사 하강 법 내에서 사용할 수 있습니다. 아래 방정식 J(theta)
에서 H(p, q)
. 그러나 H(p, q)
먼저 매개 변수에 대한 미분을 계산해야합니다 .
따라서 원래 질문에 직접 답하려면 다음을 수행하십시오.
손실 함수를 설명하는 방법 일 뿐입니 까?
정확하고 교차 엔트로피는 두 확률 분포 간의 손실을 설명합니다. 가능한 많은 손실 함수 중 하나입니다.
그런 다음 예를 들어 기울기 하강 알고리즘을 사용하여 최소값을 찾을 수 있습니다.
예, 교차 엔트로피 손실 함수는 경사 하강 법의 일부로 사용할 수 있습니다.
추가 읽기 : TensorFlow와 관련된 다른 답변 중 하나 .
답변
답변
위의 게시물에 추가하여, 교차 엔트로피 손실의 가장 간단한 형태는 이진 교차 엔트로피 (예 : 로지스틱 회귀와 같은 이진 분류를위한 손실 함수로 사용됨)로 알려진 반면 일반화 된 버전은 범주 교차 엔트로피 (사용됨)입니다. 다중 클래스 분류 문제에 대한 손실 함수 (예 : 신경망 사용).
아이디어는 동일하게 유지됩니다.
-
모델 계산 (softmax) 클래스 확률이 학습 인스턴스의 대상 레이블에 대해 1에 가까워지면 (예 : 원-핫 인코딩으로 표시됨) 해당 CCE 손실이 0으로 감소합니다.
-
그렇지 않으면 대상 클래스에 해당하는 예측 확률이 작아짐에 따라 증가합니다.
다음 그림은 개념을 보여줍니다 (그림에서 y와 p가 모두 높거나 둘 다 동시에 낮을 때 즉, 합의가있을 때 BCE가 낮아짐을 알 수 있음).
교차 엔트로피 는 두 확률 분포 사이의 거리를 계산 하는 상대 엔트로피 또는 KL- 발산 과 밀접한 관련이 있습니다. 예를 들어 두 개의 개별 pmfs 사이에서 이들 간의 관계는 다음 그림에 나와 있습니다.