← 문제 목록/Nuclear Norm + Singular Value Thresholding [medium]
문제 해설

Nuclear Norm + Singular Value Thresholding [medium]

선형대수 · medium

preview

Nuclear Norm + SVT [medium]

v1 엔트리별 L1 은 행렬 원소에 적용한 L1. Nuclear norm특이값 (singular value) 에 적용한 L1:

A=iσi=tr ⁣(AA)\|A\|_* = \sum_i \sigma_i = \text{tr}\!\left(\sqrt{A^\top A}\right)

  • 엔트리 L1 → 원소 sparsity (LASSO).
  • Nuclear norm → rank sparsity (low-rank 유도) — 많은 σi\sigma_i 가 0.

SVT (Singular Value Thresholding)

Nuclear norm 의 proximal operator. LASSO 의 soft-thresholding 을 SVD 공간 에서 적용:

U, s, Vt = svd(A)
s_soft = max(s - tau, 0)  # soft threshold
result = U @ diag(s_soft) @ Vt

이 연산은 low-rank matrix completion (Netflix 문제), video/image denoising 등에서 핵심.

용도

  • Matrix completion: 결측치 있는 행렬을 rank 제약으로 복원.
  • Robust PCA: 저랭크 + 희소 분해.
  • Image denoising: 노이즈는 고주파 (작은 σ) → SVT 로 제거.

과제

함수 svt(A, tau) 를 완성하세요 — singular value thresholding. Nuclear norm 의 proximal operator:

SVTτ(A)=Udiag(max(σiτ,0))V\text{SVT}_\tau(A) = U \, \text{diag}(\max(\sigma_i - \tau, 0)) \, V^\top

  • 반환: shape = A.shape.
  • 동시에 반환된 행렬의 nuclear norm 과 원본의 nuclear norm 도 비교 가능.

테스트 케이스

#이름검증
1shape 유지
2tau=0 → 원본 복원(수치 오차 내)
3tau 증가 → rank 감소
4tau > 최대 σ → 영행렬
5nuclear norm(SVT(A)) ≤ ‖A‖_* - τ·rank(output)축소 효과
6대칭성: SVT(A).T == SVT(A.T)
7sklearn 또는 수식과 일치
코드 작성
Loading...
실행 결과

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