비용함수를 쓰는 이유

ParkJeongJoon·2022년 9월 10일
0

Machine Learning

목록 보기
9/13

이전 게시글에 비용함수, 손실함수, 목적함수에 대해 다뤘는데, 이번에는 저번 게시글에 언급했듯 비용함수, 그중에서도 MSE에 대해 정리하고자 한다.

  • MSE란 무엇인가
    Mean Squared Error의 약자로, 평균 제곱 오차라는 뜻이다. 그러니까 수식으로 나타내면
    출처:https://wikidocs.net/21670
    cost는 비용함수, w와 b는 우리가 최적의 결과를 내도록 구해야 하는 값(사람이 임의로 수정할 수 없음. 수정 할 수 있는 것은 하이퍼파라미터라고 불리는 학습률, 에포크 등이 해당)값이다. w와 b에 의해 비용함수가 정의되므로 cost(w,b)와 같이 나타낸다
    그리고 그 옆의 수식이 바로 MSE, 평균 제곱 오차인 것이다. 이전 게시글에 언급했듯 Σ 를 쓰기에 손실함수가 아닌 비용함수로 보는 게 적합하다.

  • 왜 회귀에서 MSE를 쓰는가
    MSE등의 비용함수는 단순히 예측값과 실측값의 오차가 아니라 그 오차를 최적화하는 값이 되어야 한다. 세상에는 다양한 문제가 있고, 각 문제의 유형에 따라 가장 적절한 비용 함수를 써야 하는데 회귀 문제에서는 주로 MSE가 쓰인다고 한다. 이 외에 평균 절대 오차 MAE(Mean Absolute Error)도 쓰이는데, 오차들의 제곱이 아닌 오차들의 절댓값의 평균을 의미한다. 이것 또한 나중에 자세히 설명할 때가 올 것이다.

    위 그림에서 화살표에 해당하는 것이 오차라고 보면 되는데, 이 오차값이 보다시피 양수일수도, 음수일수도 있다. 양수일땐 상관 없지만, 음수가 있기 때문에 제곱하거나 절댓값을 씌우는 것이다.

  • 그럼 이런 비용함수는 왜 쓰는가?
    상술했듯이 기계는 완벽하지 않기 때문에 오차가 나기 마련이다. 대표적으로 회귀의 예시를 들어 MSE, MAE를 비용함수로 써서 처음에 기계가 낸 오차의 평균을 구하고, 이 값을 점점 줄여 나가서 모델의 정확도를 높이는 것이 우리의 목표이기 때문이다. 회귀문제가 아니라면 다른 적절한 비용함수를 쓴다. 이것은 아마 딥러닝 파트에서 다시 설명할 듯 하다.

결론적으로, 우리는 평균 오차값을 최소한으로 만드는 적절한 직선, 즉 minimize cost(w,b)를 찾아내야 하는데, 이 w,b값을 찾아내려면 평균 오차의 값을 찾는 것이 선행되어야 한다. 오차가 클수록 평균오차도 당연히 커질 것이고, 적절한 w,b의 값을 찾아내야 비로소 평균오차의 값이 작아져 적합한 모델이 만들어졌음을 수치로 확인할 수 있기 때문이다. 이 때문에 평균오차의 값을 구해주는 손실함수를 쓰는 것이다.

profile
이제부터가 진짜 시작이야

0개의 댓글