← 문제 목록/Hard Thresholding
문제 해설

Hard Thresholding

최적화 · easy

preview

Hard Thresholding

Soft thresholding(66) 의 반대 격. 임계값 이하는 0, 이상은 원래 값 그대로 — 수축(shrinkage) 없음:

Hλ(x)={xif xλ0otherwiseH_\lambda(x) = \begin{cases} x & \text{if } |x| \ge \lambda \\ 0 & \text{otherwise} \end{cases}

Soft vs Hard

특성Soft S_λ(x)Hard H_λ(x)
`x< λ`
`x≥ λ`
연속적?아니요 (점프)
관련 문제L1 (Lasso) proxL0 (count of non-zero) 최적화

Hard 는 IHT(iterative hard thresholding), top-k sparsity, pruning 등에서 사용.

과제

함수 hard_threshold(x, lam) 을 완성하세요.

  • 엘리먼트별 적용.
  • np.where(|x| >= lam, x, 0) 한 줄.

테스트 케이스

#이름입력기대
1작은 값 → 0x=0.3, λ=0.50
2임계값 이상 → 원래x=1.2, λ=0.51.2 (축소 없음!)
3음수도 보존x=-1.5, λ=0.4-1.5
4벡터[-2, -0.3, 0.3, 2], λ=0.5[-2, 0, 0, 2]
5λ=0 → 항등임의 xx
코드 작성
Loading...
실행 결과

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