← 문제 목록/Weighted Multi-output MSE [medium]
문제 해설

Weighted Multi-output MSE [medium]

손실 함수 · medium

preview

Weighted Multi-output MSE [medium]

v1 MSE 는 1D, 균등 가중치. 실제 회귀는 종종:

  • Multi-output: 한 샘플에 DD 개의 target (예: 3D 좌표 예측).
  • Sample weighting: 샘플별로 중요도 다름 (불균형 회귀, importance sampling).

일반화 수식:

MSEw=nwnd(y^n,dyn,d)2Dnwn\text{MSE}_w = \frac{\sum_n w_n \sum_d (\hat y_{n,d} - y_{n,d})^2}{D \sum_n w_n}

중요 포인트

  • wR0Nw \in \mathbb R^N_{\ge 0} 을 sample 축에만 브로드캐스트 (output 축엔 균등).
  • 분모는 총 원소 수 대체값DnwnD \sum_n w_n (w 합이 N 이면 일반 MSE 와 일치).
  • sum(w) = 0 엣지 케이스 (모든 가중치 0) — eps 처리.

과제

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

  • y_pred, y_true shape (N, D), w shape (N,) 양수.
  • 반환: Python float.
  • 힌트: se = ((y_pred - y_true) ** 2).sum(axis=1) # (N,) — 샘플별 SE 합 num = (w * se).sum() den = D * max(w.sum(), 1e-12) return num / den

테스트 케이스

#이름검증
1float 반환
2완벽 예측 → 0
3w=1, D=1 → 일반 MSEv1 과 일치
4가중치 무시 방지한 샘플만 큰 w → 그 샘플 SE가 지배적
52D output다차원 정상 처리
6sum(w)=0 → NaN 없음
7손계산
코드 작성
Loading...
실행 결과

코드를 작성하고 Run 을 눌러보세요.