적은 벡터로 나타내기
평면의 사전 벡터가 (1,0),(0,1),(1/√2,1/√2)라고 하자. 관측 (2,2)는 첫 두 벡터에 계수 2와 2를 주어 표현할 수 있다. 세 번째 벡터에만 계수 2√2를 주어도 같은 관측이 된다. 뒤의 표현은 0이 아닌 계수가 하나이고, 계수 절댓값 합도 2√2로 앞의 4보다 작다. 어떤 사전이 있느냐에 따라 같은 자료를 더 적은 성분으로 표현할 수 있다.
사전도 자료에서 구하기
사전을 미리 고정하고 코드만 찾는 희소 부호화와 달리, 사전 학습은 사전 자체도 조정한다. 대표적인 목적은 재구성 오차의 제곱합과 코드의 L1 벌점을 함께 줄이는 것이다. 사전 벡터와 코드를 번갈아 갱신하는 구성을 사용할 수 있지만, 전체 문제에서 최적의 해를 언제나 찾는다고 보장되지는 않는다.
벡터 크기의 제약
사전 벡터를 두 배로 하고 해당 코드를 절반으로 바꾸면 재구성은 같지만 코드의 L1 벌점은 줄어든다. 이 조절을 무한히 반복하지 못하도록 사전 벡터의 길이에 제약을 두는 방식이 쓰인다. 사전의 벡터 수가 입력 차원보다 많을 수도 있다. 이때 모든 벡터가 선형 독립일 수는 없지만 각 관측에 적은 벡터만 쓰는 표현을 찾을 수 있다.
희소 주성분 분석과 구분
희소 주성분 분석에서는 성분 벡터 자체의 계수에 희소성을 주는 구성이 대표적이다. 사전 학습에서는 관측별 코드가 희소하도록 하는 목적과 구별해야 한다. 사전의 크기, 벌점과 초기값을 바꾸어 재구성 오차와 안정성을 평가한다. 학습된 벡터가 자동으로 실제 원인이나 사람이 해석하기 쉬운 개념에 대응하는 것은 아니다.