위키득계정 ↗
과학

특이값 임계화

특이값 임계화과학
영문명
Singular value thresholding
약칭
SVT
특이값 변환
σ→max(σ−τ,0)
관련 최적화
프로베니우스 오차와 핵노름의 합
특이값 임계화는 행렬의 특이값에서 일정한 문턱값을 빼고 음수가 되는 값을 0으로 만드는 연산이다. 핵노름 정규화의 근접 연산자로 사용하며, 행렬 완성에서는 이 연산과 관측 오차 갱신을 결합한 반복 알고리즘을 구성할 수 있다.

원소가 아니라 특이값에 적용하기

Y=U diag(σᵢ)V*라면 같은 특이벡터를 사용하고 특이값만 max(σᵢ−τ,0)으로 바꾸어 행렬을 재구성한다. 각 원소를 독립적으로 작게 만드는 연산과는 다르다. 작은 특이값이 0이 되면 결과 행렬의 랭크가 낮아질 수 있다.

대각 행렬의 예제

Y=diag(5,2,0.5)이고 τ=1이면 결과는 diag(4,1,0)이다. 특이값이 문턱보다 큰 두 성분도 각각 1씩 줄어든다. 같은 조건에서 1보다 작은 특이값만 버리는 하드 임계화라면 diag(5,2,0)이므로 결과가 다르다. 랭크가 같아도 남은 성분의 크기는 같지 않다.

어떤 문제의 해인가

이 연산은 minₓ [‖X−Y‖²F/2+τ‖X‖*]의 해다. 핵노름은 특이값의 합이고 프로베니우스 노름은 행렬 원소의 제곱합에 대응한다. τ가 커질수록 특이값 축소가 강해지지만, 이를 원래 행렬의 실제 랭크를 자동으로 알려 주는 값으로 해석하지는 않는다.

행렬 완성의 반복과 구별하기

SVT 행렬 완성 알고리즘은 한 번 임계화한 뒤 끝내는 것이 아니라 관측 위치의 잔차를 보조 변수에 더하고 다시 임계화한다. 임계 연산자와 전체 반복 알고리즘을 구별해야 한다. 적절한 스텝과 종료 조건, 관측 모형이 필요하며 임계화를 한 번 적용했다고 관측 제약까지 모두 만족한 것은 아니다.

관련 문서

특이값 분해 / 행렬 완성 / 근접 연산자 / 소프트 임계화 / 볼록 최적화 / 희소 행렬