(*이 시리즈의 내용은 모두 '인공지능 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점을 예상할 수 있을 것이다.
평균, 즉 기댓값과 함께 이야기 되는 것이 분산과 표준편차이다.
분산은 데이터의 양호 정도를 나타낼 때 많이 사용된다. 대표값인 평균이 얼마나 데이터를 제대로 보여주는지 위험도를 설명해야할 때 분산 개념을 사용한다. 즉, 75, 85, 80점을 받았던 학생이 다음 시험을 볼 때 기대되는 점수는 80점이라고 쉽게 추측할 수 있다. 반면 60, 80, 100점을 받은 학생이 다음 받을 점수가 80점이라고 기대하기엔 무리가 있다. 이 경우 분산과 표준편차를 이용해 추측한다.
(3) 평균제곱오차(Mean Square Error)
(4) 크로스엔트로피오차(CEE)
정보이론에서 정보는 '놀람의 정도'로 정의한다. 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 함수의 특성이 반영된다.