← 문제 목록/제곱 힌지 손실 (Squared Hinge)
문제 해설

제곱 힌지 손실 (Squared Hinge)

손실 함수 · easy

preview

제곱 힌지 손실 (Squared Hinge)

12번 Hinge 의 응용. 힌지값을 제곱 합니다:

Lsq(s,y)=max(0,1ys)2L_{sq}(s, y) = \max(0, 1 - y s)^2

배치 평균:

sq_hinge(s,y)=1Nimax(0,1yisi)2\text{sq\_hinge}(\mathbf{s}, \mathbf{y}) = \frac{1}{N} \sum_i \max(0, 1 - y_i s_i)^2

왜 제곱?

  • 힌지는 ys=1ys = 1 지점에서 미분 불연속 — 경사하강 시 약간 불안정.
  • 제곱 힌지는 모든 지점에서 매끄럽게 미분 가능: dds=2ymax(0,1ys)\frac{d}{ds} = -2 y \max(0, 1 - ys).
  • 큰 오차(마진 밖으로 많이 벗어난 샘플)에 더 강한 페널티 — MSE와 MAE의 관계처럼.

LinearSVC(loss='squared_hinge') 가 기본으로 쓰는 손실.

과제

함수 squared_hinge(s, y) 를 완성하세요.

  • s: 점수 배열 (N,), y: {-1, +1} 배열 (N,).
  • 반환: Python float (평균).

테스트 케이스

#이름sy기대
1모두 마진 안쪽[2, -3][1, -1]0
2마진 경계 정확히[1, -1][1, -1]0
3마진 부족[0.3][1]0.49
4완전히 틀림[-2, 3][1, -1]12.5 (= (9 + 16) / 2)
5힌지보다 큰 차이큰 오차에 힌지 < 제곱힌지
코드 작성
Loading...
실행 결과

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