인공지능/Machine & Deep Learning

손실함수(Loss function)

해리누나 2023. 4. 13. 04:34
728x90
반응형

 

위와 같은 데이터가 있다고 해보자.  각 학생의 공부시간과 성적이 적히 데이터인데, 공부시간에 따른 성적을 예측하는 데이터다.  모델을 정의하기 앞서 y 라는 정답지의 유형이 범주형인지 실수형인지를 따져봐야한다. 위의 예시는 실수형태이니 풀어야 하는 문제가 회귀(Regression) 문제라고 인식할 수 있어야 한다.  회귀문제를 푼다고 정의를 했으니 이제 모델을 정의해야한다. 예시 데이터에서는 피처가 하나뿐이니 단순 선형 회귀 모델에 해당한다. $y = wx + b$

 

머신러닝/딥런닝은 가장 정확히 예측할 수 있는, 최적의 매개변숫값을 찾는 작업이다. 모델을 정의했으니 이제 남은 건, 어떻게, 어떤 방법을 이용해 최적의(optimal) 매개변수 값을 찾을지다. (optimal : 데이터를 가장 잘 표현하는 것)

최적의 매개변수는 손실함수(Loss function)의 값을 최소로 만드는 변수다. 손실함수란 예측값$(y ̂) $실제값$(y)$의 관계를 표현한 함수로, 이 둘의 오차가 가장 작은 모델을 찾는 거라 보면 된다. 손실함수도 여러개가 있으니, 모델에 따라 알맞은 손실함수를 사용하는 것이 좋다. 회귀 문제로 시작했으니 먼저 회귀 문제에서 대표적으로 사용되는 손실함수인 평균제곱 오차(Means Squared Error)에 대해서 알아보자.

 

 

 

평균 제곱 오차 (Means Squared Error, MSE)

학생들의 6월과 9월 모의고사 성적으로 수능 성적을 예측하는 문제가 있다고 해보자. 오차값을 구해주기 위해 실제 각 학생들의 수능값과 모델이 예측한 값의 차이를 구하면 위의 파란색 숫자로 적힌 값들이 나온다. 오차값들을 더해 총 오차값을 구하면 55가 나온다.  그럼 이제 컴퓨터에게 이런 총오차값이 나왔으니 이를 최소화 해주는 매개변수 값을 찾으라고 명령할 것이다. 근데 이런식으로 그냥 더한 값으로 총오차값을 구하면 문제가 생긴다.

 

이렇게 위와 같이 오차가 -가 되어 총오차값이 줄어들어버리는 상황이 생기기 때문이다. 차이에 절댓값을 씌우는 방법도 있겠지만, 평균 제곱 오차에서는 그 차이값을 제곱해서 더하는 방식을 사용한다.

 

MSE

 

 

 

 

교차 엔트로피 오차(Cross Entropy Error, CEE)

MSE 함수는 회귀문제에서 보통 쓰이는 손실함수나 교차 엔트로피 오차 함수는 분류문제에 보통 쓰이는 손실함수다.

값이 -가 나오기 때문에 앞에 음수를 붙여준다고 한다.

 

 

 

한 장 요약

출처: https://www.youtube.com/watch?v=CFN5zHzEuGY

 

 

 

 

참고

https://www.youtube.com/watch?v=CFN5zHzEuGY 

https://www.youtube.com/watch?v=_JOjr8tVLSU&list=PLfLgtT94nNq1DrREU_qG2w4yd2ZzJb-FG&index=4

https://www.youtube.com/watch?v=oyzIT1g1Z3U 

728x90
반응형