손실 함수·연습 문제

제곱근 평균 제곱 오차 (RMSE)

문제 설명PROBLEM

preview

RMSE — 제곱근 평균 제곱 오차

3번 MSE 의 응용. MSE 에 를 씌운 값:

RMSE=MSE=1Ni(ypred(i)ytrue(i))2\text{RMSE} = \sqrt{\text{MSE}} = \sqrt{\frac{1}{N} \sum_i (y^{(i)}_\text{pred} - y^{(i)}_\text{true})^2}

왜 RMSE?

MSE 는 "오차 제곱의 평균"이라 단위가 y2y^2 — 결과를 해석할 때 직관과 안 맞습니다. 집값 예측에서 MSE 1600만원² 는 와닿지 않지만, RMSE 4000만원 은 "평균 4000만원 정도 빗나감" 으로 바로 읽히죠.

MSE 와 RMSE는 순서가 같아서 모델 비교·튜닝에선 둘 중 뭘 써도 결과 동일. 그래서 보고용으로는 RMSE 가 표준.

과제

함수 rmse(y_pred, y_true) 를 완성하세요.

  • 반환: Python float.
  • np.sqrt(np.mean((y_pred - y_true) ** 2)) 한 줄이면 끝.

테스트 케이스

#이름y_predy_true기대
1완벽[1,2,3][1,2,3]0
2균일 오차 1[2,3,4][1,2,3]1
3혼합 (MSE=10)[1,2][3,6]√10 ≈ 3.162
4RMSE = sqrt(MSE)무작위 데이터rmse² == mse
5스케일 불변성 아님y 10배 → RMSE 10배성립
개념 노트와 실수 포인트

손실 함수

  • MSE=평균제곱오차, MAE=평균절대오차, CrossEntropy=분류용.
  • ⚠️ CrossEntropy 의 log(0)-inf. 작은 epsilon 을 더해 방지.
  • 평균(mean) vs 합(sum) reduction, 예측·정답 인자 순서 확인.