위키득계정 ↗
과학

비음수 최소제곱법

비음수 최소제곱법과학
영문명
Nonnegative least squares
약칭
NNLS
목적함수
||Ax-b||² 최소화
계수 제약
각 xi가 0 이상
비음수 최소제곱법은 선형 결합의 계수를 모두 0 이상으로 제한하면서 잔차의 제곱합을 최소화하는 방법이다. 계수가 음수가 될 수 없는 양을 나타낼 때 사용하는 제약 있는 최소제곱 문제다.

비음수 제약의 대상

제약은 미지 계수 x에 적용한다. 행렬 A나 관측 b의 모든 원소도 반드시 0 이상이어야 한다는 뜻은 아니다. 해석상 혼합량이나 구성 요소의 양을 계수로 나타낼 때 음의 값을 허용하지 않는 모형을 생각할 수 있다. 다만 비음수라는 조건만으로 계수 합이 1이 되지는 않는다. 확률이나 비율로 쓰려면 추가 조건을 검토해야 한다.

음수 계수를 자르면 생기는 문제

A의 두 행이 (1,1),(0,1)이고 b=(1,2)라 하자. 제약이 없으면 x=(-1,2)로 잔차를 0으로 만들 수 있다. 음수 계수만 0으로 잘라 x=(0,2)로 바꾸면 예측은 (2,2), 잔차 제곱합은 1이다. 반면 x=(0,1.5)이면 예측은 (1.5,1.5), 제곱합은 0.5다. 따라서 무제약 해를 구한 뒤 음수만 자르는 절차는 일반적으로 NNLS를 푸는 것과 다르다.

볼록성과 유일성

제곱 잔차 목적함수와 비음수 제약 집합은 볼록하다. 하지만 볼록하다는 사실만으로 계수가 하나로 정해지는 것은 아니다. 예를 들어 A의 한 행이 (1,1), b=1이면 x1+x2=1인 모든 비음수 쌍이 잔차 0을 만든다. 서로 중복되는 열이 있을 때 재구성이 같아도 계수 해석은 달라질 수 있다.

계산과 모형 검토

활성 집합 방법 등으로 경계에 놓인 계수와 나머지 계수를 구분하며 계산할 수 있다. 계산된 계수가 제약을 만족하는지와 잔차를 확인하고, 변수 단위와 자료의 잡음도 검토한다. 비음수 제약이 실제 문제에 맞지 않으면 오히려 필요한 관계를 배제할 수 있다. 비음수 행렬 분해처럼 두 인자를 함께 추정하는 문제와, A를 고정한 NNLS도 구분해야 한다.

관련 문서

최소제곱법 / 비음수 행렬 분해 / 볼록 최적화 / 선형 결합 / 잔차 / 정규방정식 / 선형 독립