상세 컨텐츠

본문 제목

손실함수

연구실

by myeongjaechoi 2024. 1. 27. 19:33

본문

Rule-based와 Data-driven의 차이를 먼저 알고 넘어가겠다.

Rule-based는 이름 그대로 규칙을 기반으로 학습을 시키는 것이다. 하지만, 규칙에서 벗어나는 경우가 많아서 어려움을 겪을 수 있다.

저번에 공부했던 예를 들어, 스팸 문제가 대출, 대.출, 대&&출 이렇듯, 대출이라는 단어만으로는 규칙을 정하기에 어려움을 겪는다.

Data-driven은 머신이 스스로 학습하는 것이기에, 이러한 문제가 줄어든다.

 

인공신경망에 손실함수라는 벌점을 준다. 인공신경망의 성능이 좋을수록 손심하수 값이 낮고, 성능이 나쁠수록 손실함수 값이 높다. 

머신러닝은 데이터를 통해 손힐함수 값을 낮추는 과정이다.

예를 들어, A 기상대는 내일 비올 확률을 90%, B 기상대는 60%, C기상대는 30%로 예상했다고 하자. 실제로 비가 왔을 경우 점 (1,0)과 점(0.9,0.1), (0.6,0.4), (0.3,0.7) 까지의 거리로 벌점을 줄 수 있다. A 기상대, B 기상대는 모두 맞췄지만 A 기상대의 정확도가 더 높고 따라서 벌점은 낮다. C 기상대는 틀렸으므로 벌점이 가장 높다.

그림으로 확인해보겠다.

기상청 예시 그래프

손실함수를 계산하기 위해, one-hot encoding을 하는데, 각 라벨마다 인덱스를 다르게 하는 것이다. MNIST를 예로 들어보겠다.

one-hot encoding

평균 제곱 오차(mean squared error) 즉 MSE를 사용하여 구하기도 하는데, 데이터가 신경망을 거쳐 나온 확률 벡터와 라벨을 원핫 인코딩하여 나온 확률 벡터를 고차원 공간의 점으로 이해한 후 피타고라스 정리로 거리를 측정한다. 나중에 미분 계산의 편의를 위해 제곱근은 없애고 앞에 1/2을 곱한다.

MSE 식

위 식을 이용하여, MSE를 구해보겠다.

MSE 식을 이용한 결과이다. A의 값이 가장 작으므로 A가 옳게 된 신경망임을 확인할 수 있다.

또한, 교차 엔트로피 오차(cross entropy error)도 있다. 교차 엔트로피는 정보이론에서 확률분포사이의 거리를 측정하는 방법이다.

데이터가 신경망을 거쳐 나온 확률 벡터와 라벨을 원핫 인코딩하여 나온 확률 벡터의 교차 엔트로피를 보겠다.

교차 엔트로피 오차 식

이 식을 이용하여 예시를 보이겠다.

교차 엔트로피 식을 대입한 것으로, A 신경망이 가장 1에 가까움으로, 옳은 것을 알 수 있다.

마지막으로 코드를 확인해보겠다.

MSE는 코드를 이해하기 쉬운데, 교차 엔트로피 오류는 처음 공부하는 입장에서 복잡하여, 그림으로 나타냈다.

교차 엔트로피 코드를 그림으로 나타낸 것이다.

 

'연구실' 카테고리의 다른 글

KCC 한국 정보과학회  (0) 2024.07.02
엔트로피  (1) 2024.01.28
신경망 구현  (0) 2024.01.26
MNIST  (0) 2024.01.25
인공신경망  (0) 2024.01.24

관련글 더보기