선택하고 다시 맞추기
목표 벡터가 (3,1)이고 후보가 (1,0),(0,1)이라고 하자. 초기 잔차는 목표 벡터와 같으며 두 후보와의 내적은 3과 1이다. 첫 후보를 선택하고 최소제곱으로 계수를 구하면 3이 되어 잔차는 (0,1)이다. 다음 후보까지 선택해 두 계수를 다시 구하면 (3,1)이 되고 잔차가 0이다. 이 예제는 절편 없이 단위 길이 후보를 사용하는 경우다.
직교라는 말의 의미
선택된 벡터들의 선형 결합으로 목표를 최소제곱 근사하면 잔차는 그 벡터들이 만드는 공간에 직교한다. 이 때문에 이전에 선택한 벡터들의 계수를 함께 다시 맞춘다. 후보 벡터들이 처음부터 서로 직교해야 한다는 뜻은 아니다. 수치 오차나 선형 종속이 있으면 계산과 종료 조건을 주의해서 처리해야 한다.
희소성의 조절
0이 아닌 계수의 개수를 제한하거나 잔차 제곱합이 충분히 작아지면 종료하는 설정을 사용할 수 있다. 허용 오차가 개별 잔차인지 전체 제곱합인지 확인해야 한다. 선택 개수를 늘리면 학습 자료에 대한 표현은 유연해지지만 잡음까지 맞출 수 있다. 초기 변수의 단위와 벡터 정규화 방식도 선택 결과에 영향을 준다.
최적화와 검증
OMP는 가능한 모든 변수 조합을 전부 비교하는 방식이 아니므로 원하는 개수에서 항상 전역 최적 조합을 찾는다고 단정할 수 없다. 강하게 연관된 후보가 많으면 작은 자료 변화에도 선택이 달라질 수 있다. 라소처럼 L1 벌점을 사용하는 방법과 구분하고, 별도 자료에서 재구성이나 예측 오차와 선택의 안정성을 확인한다. 적은 변수가 남았다는 사실이 인과적인 설명을 보장하지는 않는다.