손실함수

yoon·2021년 10월 18일
0

(*이 시리즈의 내용은 모두 '인공지능 100점을 위한 파이썬 수학' 서적의 내용을 정리한 것입니다. 사진과 같은 자료들 또한 출처가 위 책임을 밝힙니다.)

  • 정확도는 결과와 정답의 차이를 보정해주지 못하기 때문에 학습을 진행할 때 큰 의미를 주지 못한다.
  • 정확도는 연속적으로 변화하지 않고 단계적으로 변화하기 때문에 좋은 방향을 찾을 수 없다(불연속성에 의한 미분불가)
  • 미분을 할 수 없기 때문에 기울기를 찾을 수 없어 학습이 어렵다.

매일 공부하고 공부한 것을 매일 시험을 통해 점수를 확인할 수 있다면 내가 잘하는 것과 부족한 부분을 점수를 통해 알 수 있다. 매일 공부할 때 지난날까지 공부한 내용에 이어서 부족한 부분을 보충해가며 공부할 수 있다. 이 예시로 손실함수를 사용하는 이유를 알 수 있다.

(1) 손실함수의 개념

  • 더 좋은 학습을 진행하기 위해 손실함수를 사용한다.
  • 신경망을 통해서 나온 값과 정답을 비교하여 그 정도를 나타내 주는 함수이다.
# y는 신경망을 통해 나온 결과값, t는 정답 레이블에 저장된 값
y = [0.01, 0.02, 0.05, 0.1, 0.12, 0.05, 0.05, 0.5, 0.0, 0.1]
t = [ 0,  0,  0,  0,  0,  0,  0,  1,  0,  0]

이상적인 정답은 y = [0, 0, 0, 0, 0, 0, 0, 1, 0, 0]으로 나오는 것이지만 현실적으로 정확한 답이 나오기는 어렵다. 이 두 값의 차이를 해석할 때 가장 많이 사용되는 것이 평균제곱오차(MSE)와 크로스엔트로피오차(CEE)이다.

(2) 평균, 중간값, 표준편차, 분산의 이해

  • 평균: 자료를 대표하는 값의 하나로 모든 자료값을 더한 후 자료의 개수로 나눈 값.
  • 기댓값: 사건이 일어났을 때의 이득과 그 확률을 곱한 것을 모든 사건에 대해서 한 값으로 평균과 동일한 값이다.

즉, 동일한 점수지만, 75, 85, 80점을 받은 학생이 다음 시험을 볼 때 받아올 점수의 기댓값을 생각한다면 평균 80점을 예상할 수 있을 것이다.

  • 이 80점은 이전 시험 점수의 평균이기도 하지만, 75점xP(75점일 확률)+85xP(85점일 확률)+80xP(80점일 확률)을 계산하면 75x(1/3)+85x(1/3)+80x(1/3)으로 80이 된다.

평균, 즉 기댓값과 함께 이야기 되는 것이 분산과 표준편차이다.

  • 분산: 전체 데이터가 평균과 얼마나 멀리 떨어진 곳에 분포하는지를 나타내는 값(모든 데이터의 값에서 평균을 뺀 다음 제곱한 값의 평균)
  • 표준편차: 분산에 제곱근의 씌워준 값.

분산은 데이터의 양호 정도를 나타낼 때 많이 사용된다. 대표값인 평균이 얼마나 데이터를 제대로 보여주는지 위험도를 설명해야할 때 분산 개념을 사용한다. 즉, 75, 85, 80점을 받았던 학생이 다음 시험을 볼 때 기대되는 점수는 80점이라고 쉽게 추측할 수 있다. 반면 60, 80, 100점을 받은 학생이 다음 받을 점수가 80점이라고 기대하기엔 무리가 있다. 이 경우 분산과 표준편차를 이용해 추측한다.

(3) 평균제곱오차(Mean Square Error)

  • 오차들의 제곱을 평균한 것.
  • 정답과 실제 계산된 결과값이 다르고, 그 정도를 측정할 때 사용할 수 있다.

(4) 크로스엔트로피오차(CEE)

  • MSE와 함께 손실함수에서 자주 사용된다.
  • 물질의 열적 상태를 나타내는 엔트로피는, 정보이론에서 불확실성에 대한 수치를 나타낸다.

정보이론에서 정보는 '놀람의 정도'로 정의한다. 90% 확률로 질 것이 뻔한 경기에 임했다고 가정했을 때 1지역 조기축구회와 축구 명문인 A대학 축구부의 경기를 예로 들어, 이 경기에서 A대 축구부가 이기면 아무도 놀라지 않는다. 반면 1지역 조기축구회가 이기면 놀랄만한 일이 발생한 것이다. 이 때 놀라는 정도는 9:1에 비례하지 않는다. 이 놀람의 정도를 로그(log)로 표현하면 다음과 같다.

A대 축구부가 승리할 경우: -log(0.9) = 0.1054
1지역 조기축구회가 승리할 경우: -log(0.1) = 2.3026

A대 축구부가 승리할 때 놀람의 정도는 0.1이고, 1지역 조기축구회가 승리할 때의 놀람의 정도는 2.3이 된다. 이 수치가 곧 정보의 양이 된다. 조기축구회의 승리가 21.85배(2.3026/0.1054) 놀람을 가진다. 여기서 중요한 것은 10% 확률로 이기는 것이 10%의 정보량이나 놀람을 의미하지 않는다는 것이다.

다른 예시로 5:5 확률인 A대학과 B대학의 축구 경기를 들어보면,

A대가 승리할 경우: -log(0.5) = 0.6931
B대가 승리할 경우: -log(0.5) = 0.6931

위 두가지 예시에 대한 엔트로피를 계산해보면,
조기축구회의 승리는 놀람의 정도가 큰 정보량을 주지만 실제로 승리할 확률이 0.1밖에 되지 않기 때문에 실제 평균은 높아지지 않는다. 즉, 10번 중 9번은 A대학 축구부가 이긴다는 당연한 결과가 나오기 때문이다.

반면 두 대학 축구부의 경기는 승률이 똑같으므로 불확실성이 크다. 케이스2의 엔트로피값은 0.6931로 케이스1의 엔트로피보다 2배 이상 크게 계산된다.

여기서 log 함수의 특성이 반영된다.

  • log 함수의 특징은 0에 가까워질수록 -무한대로 발산하고 (1,0)을 지난다.(207p 참고)
  • 엔트로피를 활용하여 확률로 사용할 때 확률 P의 값은 0에서 1사이의 값이 된다.
profile
공부하자

0개의 댓글