손실 함수·연습 문제

평균 절대 오차 (MAE)

문제 설명PROBLEM

preview

평균 절대 오차 (MAE)

MSE(3번) 의 형제 — 제곱 대신 절댓값 을 씁니다:

MAE(ypred,ytrue)=1Ni=1Nypred(i)ytrue(i)\text{MAE}(\mathbf{y}_\text{pred}, \mathbf{y}_\text{true}) = \frac{1}{N} \sum_{i=1}^{N} |y^{(i)}_\text{pred} - y^{(i)}_\text{true}|

MSE 와의 차이

특성MSEMAE
큰 오차 처벌강함 (제곱)선형
이상치 민감성민감로버스트
미분 가능성매끄러움0 에서 미분 불가
단위yy 의 제곱yy같은 단위

이상치가 섞인 데이터에서 MAE는 MSE 보다 평가값이 왜곡되지 않습니다.

과제

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

  • np.abs, np.mean 벡터 연산.
  • 반환: Python float.

테스트 케이스

#이름y_predy_true기대
1완벽 예측[1, 2, 3][1, 2, 3]0
2균일 오차 1[2, 3, 4][1, 2, 3]1
3부호 상관없음[0, 2][1, 1]1
4이상치[0][100]100
5MSE보다 이상치에 덜 민감같은 데이터에 이상치 주입 시 증가폭
개념 노트와 실수 포인트

손실 함수

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