← 문제 목록/Huber 손실

Huber 손실

손실 함수 · easy

preview

Huber 손실 (Huber Loss)

MSE(3번)MAE(20번)장점만 합친 하이브리드. 임계값 δ\delta 를 기준으로:

Lδ(e)={12e2if eδδ(e12δ)otherwiseL_\delta(e) = \begin{cases} \tfrac{1}{2} e^2 & \text{if } |e| \leq \delta \\ \delta (|e| - \tfrac{1}{2}\delta) & \text{otherwise} \end{cases}

여기서 e=y^ye = \hat{y} - y.

왜 하이브리드?

  • 작은 오차(|e| ≤ δ): MSE처럼 제곱 — 매끄럽고 경사 잘 잡힘.
  • 큰 오차(|e| > δ): MAE처럼 선형 — 이상치가 손실을 지배하지 못하게.

δ 를 키우면 MSE에 가까워지고, 작게 하면 MAE에 가까워집니다.

과제

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

  • 반환: Python float (평균).
  • np.where 로 분기 처리 후 np.mean.

테스트 케이스

#이름y_predy_truedelta기대
1완벽 예측[1, 2][1, 2]1.00
2모두 작은 오차 → MSE/2[0.5][0]1.00.125
3모두 큰 오차 → 선형[5][0]1.04.5
4임계값 정확히[1][0]1.00.5
5delta 크면 ≈ MSE동일 예측, 큰 deltaMSE의 절반에 근접
Loading...

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