응용수학에서 K-SVD는 단수 값 분해 접근방식을 통해 희박한 표현을 위한 사전을 만들기 위한 사전 학습 알고리즘이다. K-SVD는 k-평균 군집화 방법을 일반화한 것으로, 현재 사전을 바탕으로 입력 데이터를 희소 코딩하고, 사전에 있는 원자를 업데이트해 데이터를 더 잘 맞히는 방식으로 동작한다. 구조적으로 기대 최대화(EM) 알고리즘과 관련이 있다.[1][2] K-SVD는 영상 처리, 오디오 처리, 생물학, 문서 분석과 같은 애플리케이션에서 광범위하게 사용되고 있는 것을 발견할 수 있다.
사전 학습의 목표는 신호 아톰(이 표기법에서 displaystyle 열)을 포함하는 과완전한 사전 매트릭스 K를 배우는 것이다. 신호 벡터 ^{은는) 이러한 원자의 선형 결합으로 희박하게 나타낼 수 있다. 을(를 나타내려면 표현 x y 대략적인 를 충족해야 한다 약 은는) 일부 작은 값 ε과 L 표준에p 대해y -p을(를) 요구하여 정밀하게 했다. 벡터 K 는 y 의 표현 계수를 포함하고 있으며 일반적으로 p 은 L1, L로2∞ 선택된다.
< 과 D가 전체 순위 매트릭스인 경우 표현 문제에 대해 무한히 많은 해결책을 사용할 수 있다. 따라서 제약을 용액에 설정해야 한다. 또한 첨사성을 보장하기 위해 0이 아닌 계수가 가장 적은 용액을 선호한다. 따라서 첨사성 표현은 다음 중 하나의 해결책이다.
K-SVD는 K-Means의 일종으로 다음과 같다. k-평균 군집화는 또한 희박한 표현 방법으로 간주될 수 있다. 즉, 데이터 샘플{ i i= 을(를) 가장 가까운 이웃에 의해 나타낼 수 있는 최선의 코드북을 찾는 것이다.
에 해당하는
.
F라는 글자는 프로베니우스 규범을 나타낸다. 희소 표현 용어 = 는 사전 D에서 K-평균 알고리즘이 하나의 원자(열)만을 사용하도록 강제하고 있다 이 제약을 완화하기 위해 K-SVD 알고리즘의 대상은 에서 원자의 선형 조합으로 신호를 나타내는 것이다.
K-SVD 알고리즘은 K-평균 알고리즘의 구성 흐름을 따른다. 그러나 K-평균과는 반대로 에서 원자의 선형 결합을 달성하기 위해 각 열 의 0이 아닌 항목 수가 보다 많으나 숫자 T 보다 작을 수 있도록 제약조건의 첨사성 항을 완화한다
그래서 객관적 기능은
또는 다른 목적의 형태로
K-SVD 알고리즘에서는 이(가) 먼저 고정되고 최상의 계수 행렬 X이(가) 발견된다. 진정으로 최적의 을(를) 찾는 것은 불가능하므로 근사추구법을 사용한다. OMP와 같은 알고리즘은 0이 아닌 입력의 고정되고 미리 결정된 수의 비제로 항목으로 솔루션을 공급할 수 있는 한 계수의 계산에 사용할 수 있다
희소 코딩 작업 후 다음이 더 나은 사전 을 검색하는 것이다 다만, 한 번에 전체 사전을 찾는 것은 불가능하기 때문에 을를) 수정하면서 D D}의 열 하나만 업데이트하는 과정이다. -th 열 업데이트는 패널티 용어를 다음과 같이 다시 작성함으로써 이루어진다.
여기서 는 X의 k번째 행을 나타낸다.
곱셈 을(를) 순위 1 행렬의 합으로 분해하면 다른 - 1 항이 고정된 것으로 가정할 수 ,k {\} -th는 알 수 없는 상태로 남아 있다. 이 단계 후에는 단수 값 분해를 사용하여 r - 행렬로 k 항을 근사하게 해결한 후 d를 업데이트하면 된다. 단, 첨사성 제약이 시행되지 않기 때문에 벡터 의 새로운 용액은 채울 가능성이 매우 높다.
이 문제를 해결하려면 를 다음과 같이 정의하십시오.
예제는 k{\k}}}을(를) 사용하는 을(를) 가리킨다( x i {\ x_ nonzero)). 다음를 ( , k() , {\ 크기의행렬로 정의하십시오 그 외의 항목과 0. ~ T= x k 을 곱하면0개의 항목을 삭제하여 행 벡터 x T}}}}}}}}}}}}}}}}}}}}. 마찬가지로 ~ k= k{\{\는 원자를 사용하여 현재에 존재하는 예제의 하위 집합이다. ~ = k 에서도 동일한 효과를 볼 수 있다
따라서 앞에서 언급한 최소화의 문제가
그리고 SVD를 직접 사용함으로써 이루어질 수 있다. SVD decomposes into . The solution for is the first column of U, the coefficient vector as the first column of 1 전체 사전을 업데이트한 후 반복적으로 X를 풀고 D를 반복적으로 해결한다.
제한 사항
데이터 집합에 적합한 "사전"을 선택하는 것은 비구체적인 문제이며, K-SVD는 글로벌 최적화를 보장하지 않는 반복적인 업데이트에 의해 작동된다.[2] 그러나 이러한 목적을 위한 다른 알고리즘에는 흔히 있는 일이며, K-SVD는 실제로 상당히 잘 작동한다.[2][better source needed]