더북(TheBook)

크로스 엔트로피 오차

크로스 엔트로피 오차(CEE)는 분류(classification) 문제에서 원-핫 인코딩(one-hot encoding)3했을 때만 사용할 수 있는 오차 계산법입니다.

일반적으로 분류 문제에서는 데이터의 출력을 0과 1로 구분하기 위해 시그모이드 함수를 사용하는데, 시그모이드 함수에 포함된 자연 상수 e 때문에 평균 제곱 오차를 적용하면 매끄럽지 못한 그래프(울퉁불퉁한 그래프)가 출력됩니다. 따라서 크로스 엔트로피 손실 함수를 사용하는데, 이 손실 함수를 적용할 경우 경사 하강법 과정에서 학습이 지역 최소점에서 멈출 수 있습니다. 이것을 방지하고자 자연 상수 e에 반대되는 자연 로그를 모델의 출력 값에 취합니다.

다음은 크로스 엔트로피를 구하는 수식입니다.

텐서플로 2에서는 다음과 같이 사용합니다.

model.compile(optimizer=tf.keras.optimizers.Adam(0.001),
              loss='categorical_crossentropy',
              metrics=['accuracy'])

 

 


  3 단어 집합의 크기를 벡터 차원으로 하고, 표현하고 싶은 단어의 인덱스에 1 값을 부여한 후 다른 인덱스에는 0을 부여하는 단어의 벡터 표현 방식으로 다음과 같이 표현합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.