손실함수(Loss Function)의 역할
손실함수는 모델의 출력값과 사용자가 원하는 출력값의 오차를 의미한다. 정답 $y$와 예측 $\hat{y}$를 입력으로 받아 실숫값 점수를 만드는데, 점수가 높을수록 모델의 성능이 나쁘다고 판단하면 된다.
손실함수의 값이 최소화 되도록 하는 가중치(weight)와 편향(bias)를 찾는 것이 모델의 학습 목표이다.
그렇다면 오차는 어떤 식으로 정의할까? 오차를 정의하는 방식에는 여러가지가 존재한다.
평균 절대 오차 (Mean Absolute Error)
$$ MAE = \frac{1}{N}\sum\limits_{i=1}^{N}|\hat{y}_i-y_i| $$
예측한 값과 실제값 사이의 오차를 절댓값을 취한 후 평균을 내서 정의한다. 일반적으로 손실 함수로 사용되진 않고, 회귀 지표로 사용된다.
평균 제곱 오차 (Mean Squared Error, MSE)
$$ MSE = \frac{1}{N}\sum\limits_{i=1}^{N}(\hat{y}_i-y_i)^2 $$
예측한 값과 실제 값 사이의 평균 제곱 오차를 정의한다. 공식이 매우 간단하며, 차가 커질수록 제곱 연산으로 인해 값이 더욱 뚜렷해진다. 또한 제곱으로 인해서 오차가 양수던 음수던 누적 값을 증가시킨다.
평균 제곱근 오차 (Root Mean Square Error, RMSE)
$$ RMSE = \sqrt{\sum\limits_{i=1}^{N}\frac{(\hat{y}_i-y_i)^2}{N}} $$
MSE에 루트를 씌운 형태이다. MSE는 오류의 제곱을 구하기 때문에 실제 오류 평균보다 더 커지는 특성이 있어서, MSE에 루트를 씌워 값의 왜곡을 줄여줄 수 있다.
외에도 교차 엔트로피(Cross-Entropy)도 존재하는데, 이 부분에 대한 개념은 나중에 설명하도록 하겠다.
References
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=heygun&logNo=221516529668
https://velog.io/@rcchun/%EB%A8%B8%EC%8B%A0%EB%9F%AC%EB%8B%9D-%EC%86%90%EC%8B%A4%ED%95%A8%EC%88%98%EC%9D%98-%EC%A2%85%EB%A5%98
'AI > Machine Learning' 카테고리의 다른 글
ML: 최적화(Optimization)와 경사하강법 (Gradient Descent) (0) | 2024.01.18 |
---|---|
ML: 활성화 함수 (Activation Function) (0) | 2024.01.16 |
ML: 인공신경망(Artificial Neural Network)과 퍼셉트론(Perceptrons) (0) | 2024.01.16 |
ML: 머신러닝이란? (0) | 2024.01.16 |