
Lasso / ISTA / FISTA 같은 L1 최적화 알고리즘의 핵심 연산. 각 원소를 원점 방향으로 λ 만큼 당기되, 부호가 바뀌면 0으로 자릅니다:
이 연산이 L1 페널티가 해를 희소 하게 만드는 메커니즘의 본질입니다.
혹은 np.where 로 분기 처리해도 됨.
함수 soft_threshold(x, lam) 을 완성하세요.
x.np.sign, np.maximum 조합.| # | 이름 | 입력 | 기대 |
|---|---|---|---|
| 1 | 작은 값 → 0 | x=0.3, λ=0.5 | 0 |
| 2 | 양수 임계값 초과 | x=1.2, λ=0.5 | 0.7 |
| 3 | 음수 임계값 초과 | x=-1.5, λ=0.4 | -1.1 |
| 4 | 벡터 | [-2, -0.3, 0, 0.3, 2], λ=0.5 | [-1.5, 0, 0, 0, 1.5] |
| 5 | λ=0 은 항등 | 임의 x | x 그대로 |
코드를 작성하고 Run 을 눌러보세요.