비선형 최소제곱법

비선형 최소제곱법(non-linear least squares)은 최소제곱법 분석의 한 형태로, 알려지지 않은 개의 모수(매개변수)에 대해 비선형인 모델에 개의 관측값 세트를 맞추는 데 사용된다(). 이는 일부 형태의 비선형 회귀에 사용된다. 이 방법의 기본은 모델을 선형 모델로 근사하고 연속적인 반복을 통해 모수를 정제하는 것이다. 선형 최소제곱법과 많은 유사점이 있지만, 몇 가지 중요한 차이점도 있다. 경제 이론에서 비선형 최소제곱법은 (i) 프로빗 회귀, (ii) 임계 회귀, (iii) 평활 회귀, (iv) 로지스틱 링크 회귀, (v) 박스-콕스 변환 회귀변수()에 적용된다.

 이론 
개의 데이터 포인트 와 곡선(모델 함수) 를 고려하자. 이 곡선은 변수  외에도 개의 모수 에 의존하며, 이다. 이 곡선이 최소제곱 의미에서 주어진 데이터에 가장 잘 맞도록 모수 벡터 를 찾는 것이 목표이다. 즉, 제곱합

을 최소화해야 한다. 여기서 잔차(표본 내 예측 오차) 는

()으로 주어진다.

의 최솟값은 기울기가 0일 때 발생한다. 모델에는 개의 모수가 포함되어 있으므로 개의 기울기 방정식이 있다.

비선형 시스템에서 미분 는 독립 변수와 모수 모두의 함수이므로 일반적으로 이 기울기 방정식은 닫힌 해를 가지지 않는다. 대신, 모수에 대한 초기값이 선택되어야 한다. 그런 다음 모수는 반복적으로 정제된다. 즉, 값은 연속적인 근사를 통해 얻어진다.

여기서 는 반복 횟수이고, 증분 벡터 는 이동 벡터(shift vector)로 알려져 있다. 각 반복에서 모델은 에 대한 1차 테일러 다항식 전개로 근사하여 선형화된다.

야코비 행렬 는 상수, 독립 변수 및 모수의 함수이므로 반복마다 변한다. 따라서 선형화된 모델의 관점에서,

이고 잔차는 다음과 같이 주어진다.

이러한 표현을 기울기 방정식에 대입하면 다음과 같이 된다.

이를 재정렬하면 개의 연립 선형 방정식, 즉 정규 방정식이 된다.

정규 방정식은 행렬 표기법으로 다음과 같이 쓰여진다.

이 방정식은 비선형 최소제곱 문제에 대한 가우스-뉴턴 알고리즘의 기초를 형성한다.

야코비 행렬의 미분 정의에서 부호 규칙에 유의하라. 다른 문서나 문헌에서는 에 선형인 공식이  인자와 함께 나타날 수 있다.

 가중치를 이용한 확장 
관측값이 동등하게 신뢰할 수 없을 때, 가중 제곱합이 최소화될 수 있다.

대각 가중치 행렬 의 각 요소는 이상적으로 측정 오차 분산의 역수와 같아야 한다.이것은 관측치가 상관되지 않았음을 의미한다. 만약 관측치들이 상관되어 있다면, 다음 식이 적용된다.  이 경우 가중치 행렬은 이상적으로 관측치의 오차 분산-공분산 행렬의 역수와 같아야 한다.
그러면 정규 방정식은 더 일반적으로 다음과 같다.

 기하학적 해석 
선형 최소제곱법에서 목적 함수 는 모수의 이차 함수이다.

모수가 하나만 있을 때 해당 모수에 대한 의 그래프는 포물선이 된다. 두 개 이상의 모수가 있을 때, 임의의 두 모수에 대한 의 등고선은 동심원의 타원이 된다(정규 방정식 행렬 가 양의 정부호라고 가정). 최소 모수 값은 타원의 중심에서 찾을 수 있다. 일반 목적 함수의 기하학적 구조는 포물면 타원형으로 설명될 수 있다.
비선형 최소제곱법에서 목적 함수는 최소값에 가까운 영역에서만 모수에 대해 이차적이며, 여기서 절단된 테일러 급수는 모델에 대한 좋은 근사이다.

모수 값이 최적 값과 더 많이 다를수록 등고선은 타원형에서 더 많이 벗어난다. 이로 인해 초기 모수 추정치는 (알려지지 않은!) 최적 값에 최대한 가까워야 한다. 또한 가우스-뉴턴 알고리즘이 모수에서 목적 함수가 대략 이차 함수일 때만 수렴하므로 발산이 어떻게 발생할 수 있는지 설명한다.

 계산 

 초기 모수 추정 
조건 불량 및 발산의 일부 문제는 최적 값에 가까운 초기 모수 추정치를 찾아 해결할 수 있다. 이를 위한 좋은 방법은 컴퓨터 시뮬레이션을 사용하는 것이다. 관측된 데이터와 계산된 데이터가 화면에 표시된다. 관측된 데이터와 계산된 데이터 간의 일치가 합리적으로 좋아질 때까지 모델의 모수를 수동으로 조정한다. 비록 이것이 주관적인 판단이겠지만, 비선형 정제를 위한 좋은 시작점을 찾는 데는 충분하다. 변환 또는 선형화를 사용하여 초기 모수 추정치를 만들 수 있다. 더 나은 방법은 확률적 깔때기 알고리즘(Stochastic Funnel Algorithm)과 같은 진화 알고리즘이 최적 모수 추정치를 둘러싸는 볼록한 유인 분지(convex basin of attraction)로 이어질 수 있다는 것이다. 무작위화와 엘리트주의를 사용하고 뉴턴 방법을 따르는 하이브리드 알고리즘은 유용하고 계산적으로 효율적인 것으로 나타났다.

 해법 
아래 설명된 방법 중 하나를 적용하여 해를 찾을 수 있다.

 수렴 기준 
수렴의 상식적인 기준은 제곱합이 한 반복에서 다음 반복으로 증가하지 않는다는 것이다. 그러나 이 기준은 여러 가지 이유로 실제 구현이 어려운 경우가 많다. 유용한 수렴 기준은 다음과 같다.

0.0001이라는 값은 다소 임의적이며 변경해야 할 수도 있다. 특히 실험 오차가 클 때는 증가시켜야 할 수도 있다. 대안적인 기준은 다음과 같다.

마찬가지로, 수치 값은 다소 임의적이다. 0.001은 각 모수가 0.1% 정밀도로 정제되어야 함을 지정하는 것과 같다. 이는 모수에 대한 가장 큰 상대 표준 편차보다 작을 때 합리적이다.

 수치 근사를 통한 야코비 행렬 계산 

야코비 행렬의 요소를 위한 해석적 표현을 도출하기 매우 어렵거나 심지어 불가능한 모델도 있다. 이때, 수치 근사

는 와 에 대해 를 계산하여 얻어진다. 증분 의 크기는 수치 미분이 너무 커서 근사 오차의 영향을 받거나, 너무 작아서 반올림 오차의 영향을 받지 않도록 선택되어야 한다.

 모수 오차, 신뢰 한계, 잔차 등 
일부 정보는 가중 최소제곱법 페이지의 해당 섹션에 나와 있다.

 다중 최소점 
다중 최소점은 여러 상황에서 발생할 수 있으며, 그 중 일부는 다음과 같다.
 모수가 두 제곱 이상으로 거듭제곱된 경우. 예를 들어, 로렌츠 곡선에 데이터를 맞출 때

여기서 는 높이, 는 위치, 는 반치폭(half-width)이며, 목적 함수에 대해 동일한 최적값을 제공하는 반치폭 와 의 두 가지 해가 존재한다.
 두 모수를 교환해도 모델의 값이 변하지 않는 경우. 간단한 예로는 모델에 두 모수의 곱이 포함될 때, 가 와 동일한 값을 제공하기 때문이다.
 모수가 와 같은 삼각 함수에 있을 때, 에서 동일한 값을 가진다. 예시는 레벤베르그-마르쿼트 알고리즘을 참조하라.
모든 다중 최소점이 목적 함수의 값이 동일한 것은 아니다. 거짓 최소점(local minima)은 목적 함수 값이 소위 전역 최소값보다 클 때 발생한다. 찾아낸 최소값이 전역 최소값임을 확실히 하려면 모수의 초기값을 크게 다르게 하여 정제를 시작해야 한다. 시작점에 관계없이 동일한 최소값이 발견되면 전역 최소값일 가능성이 높다.

다중 최소점이 존재할 때 중요한 결과가 있다. 목적 함수는 두 최소점 사이에 정지점(예: 최대값 또는 안장점)을 가질 것이다. 목적 함수에서 정지점에서는 기울기가 사라지고 고유한 하강 방향이 존재하지 않으므로 정규 방정식 행렬은 양의 정부호가 아니다. 정지점 근처의 점(모수 값 집합)에서 정제를 시작하는 것은 조건이 좋지 않아 피해야 한다. 예를 들어, 로렌츠 곡선에 맞출 때 로렌츠 곡선의 반치폭이 0일 때 정규 방정식 행렬은 양의 정부호가 아니다.반올림 오차와 독립 변수의 실험 오차가 없는 경우 정규 방정식 행렬은 특이 행렬이 될 것이다.

 선형 모델로의 변환 

비선형 모델은 때때로 선형 모델로 변환될 수 있다. 이러한 근사는 예를 들어 최적 추정량 근처에서 자주 적용 가능하며, 대부분의 반복 최소화 알고리즘에서 기본 가정 중 하나이다.
선형 근사가 유효할 때, 모델은 선형 템플릿 피팅의 방정식이 적용되는 일반화 최소제곱법을 사용하여 추론에 직접 사용될 수 있다.

선형 근사의 또 다른 예는 모델이 단순한 지수 함수일 때이다.

이는 로그를 취함으로써 선형 모델로 변환될 수 있다.

그래프적으로 이것은 반대수 그래프에서 작업하는 것에 해당한다. 제곱합은 다음과 같이 된다.

이 절차는 오차가 곱셈적이고 로그 정규 분포를 따르지 않는 한 피해야 하는데, 오도하는 결과를 줄 수 있기 때문이다. 이는 에 대한 실험 오차가 무엇이든, 에 대한 오차는 다르다는 사실에서 기인한다. 따라서 변환된 제곱합이 최소화될 때, 모수 값과 계산된 표준 편차 모두에 대해 다른 결과가 얻어질 것이다. 그러나 로그 정규 분포를 따르는 곱셈적 오차가 있는 경우, 이 절차는 편향되지 않고 일관된 모수 추정치를 제공한다.

또 다른 예는 두 모수 와 을 결정하는 데 사용되는 미카엘리스-멘텐 반응속도론에 의해 제공된다.

를 에 대해 그린 라인위버-버크 플롯은 모수 와 에 대해 선형이지만 데이터 오차에 매우 민감하고 독립 변수 의 특정 범위 내에서 데이터를 맞추는 데 강하게 편향되어 있다.

 알고리즘 
 가우스-뉴턴 방법 

정규 방정식

는 선형 최소제곱법에서 설명된 대로 숄레스키 분해를 통해 에 대해 풀 수 있다. 모수는 반복적으로 업데이트된다.

여기서 는 반복 횟수이다. 이 방법은 단순한 모델에는 적합할 수 있지만, 발산이 발생하면 실패한다. 따라서 발산 방지가 필수적이다.

 이동량 절단 
발산이 발생하면, 간단한 해결책은 이동 벡터 의 길이를 일부 분수 만큼 줄이는 것이다.

예를 들어, 이동 벡터의 길이는 다음 반복에서의 목적 함수 값이 이전 반복에서의 값보다 작아질 때까지 계속 절반으로 줄일 수 있다. 분수 는 직선 탐색을 통해 최적화될 수 있다.M.J. Box, D. Davies and W.H. Swann, Non-Linear optimisation Techniques, Oliver & Boyd, 1969 의 각 시험 값은 목적 함수를 다시 계산해야 하므로 그 값을 너무 엄격하게 최적화할 가치는 없다.

이동량 절단을 사용할 때 이동 벡터의 방향은 변하지 않는다. 이는 이 방법의 적용 가능성을 모수 에서 목적 함수가 대략 이차 함수일 때 이동 벡터의 방향과 크게 다르지 않은 상황으로 제한한다.

 마르쿼트 모수 

발산이 발생하고 이동 벡터의 방향이 "이상적인" 방향과 너무 달라서 이동량 절단이 매우 효과적이지 않다면, 즉 발산을 피하기 위해 필요한 분수 가 매우 작다면, 방향을 변경해야 한다. 이는 마르쿼트 모수를 사용하여 달성할 수 있다.이 기술은 레벤베르그(1944), 지라르(1958), 윈(1959), 모리슨(1960), 마르쿼트(1963)가 독립적으로 제안했다. 많은 과학 문헌에서는 마르쿼트의 이름만 사용된다. 인용 참조는 본 문서를 참조하라. 이 방법에서는 정규 방정식이 다음과 같이 수정된다.

여기서 는 마르쿼트 모수이고 I는 단위 행렬이다.  값을 증가시키면 이동 벡터의 방향과 길이가 모두 변하는 효과가 있다.

일 때 이동 벡터는 최대 경사 하강 방향으로 회전한다.
는 최대 경사 하강 벡터이다. 따라서 가 매우 커지면 이동 벡터는 최대 경사 하강 벡터의 작은 부분이 된다.

마르쿼트 모수 결정을 위한 다양한 전략이 제안되었다. 이동량 절단과 마찬가지로 이 모수를 너무 엄격하게 최적화하는 것은 낭비이다. 대신, 목적 함수 값의 감소를 가져오는 값이 일단 발견되면 그 모수 값은 다음 반복으로 전달되며, 가능하면 줄이고 필요하면 늘린다. 마르쿼트 모수 값을 줄일 때, 0으로 설정해도 안전한 하한값이 있으며, 즉 수정되지 않은 가우스-뉴턴 방법을 계속 진행한다. 하한값은 야코비 행렬의 가장 작은 특이값과 같게 설정할 수 있다. 이 값의 경계는 로 주어지며, 여기서 은 대각합 함수이다.R. Fletcher, UKAEA Report AERE-R 6799, H.M. Stationery Office, 1971

 QR 분해 
정규 방정식을 구성하지 않는 방법으로 제곱합의 최소값을 찾을 수 있다. 선형화된 모델의 잔차는 다음과 같이 쓸 수 있다.

야코비 행렬은 직교 분해된다. QR 분해는 과정을 설명하는 데 사용된다.

여기서 는 직교행렬인  행렬이고, 은  블록 과  영 블록으로 분할된  행렬이다. 은 상삼각행렬이다.

잔차 벡터는 로 왼쪽에서 곱해진다.

Q가 직교이기 때문에 이므로 이것은 제곱합에 영향을 미치지 않는다.
의 최소값은 상위 블록이 0일 때 달성된다. 따라서 이동 벡터는 다음을 풀어 찾는다.

R이 상삼각행렬이므로 이 방정식은 쉽게 풀린다.

 특잇값 분해 
직교 분해 방법의 한 변형은 특잇값 분해를 포함하며, 이 방법에서는 R이 추가 직교 변환에 의해 대각화된다.

여기서 는 직교 행렬, 는 특이값의 대각 행렬, 는 의 고유 벡터 또는 의 우측 특이 벡터의 직교 행렬이다. 이 경우 이동 벡터는 다음과 같이 주어진다.

이 표현의 상대적인 단순성은 비선형 최소제곱법의 이론적 분석에 매우 유용하다. 특이값 분해의 적용은 Lawson과 Hanson에서 자세히 논의된다.C.L. Lawson and R.J. Hanson, Solving Least Squares Problems, Prentice–Hall, 1974

 기울기 방법 
비선형 데이터 피팅 문제에 다양한 방법이 사용된 과학 문헌의 많은 예가 있다.

 모델 함수의 테일러 급수 전개에 2차 미분 포함. 이것은 최적화에서 뉴턴의 방법이다.
 행렬 H는 헤세 행렬로 알려져 있다. 이 모델은 최소값 근처에서 더 나은 수렴 속성을 가지지만, 모수가 최적 값에서 멀리 떨어져 있을 때는 훨씬 좋지 않다. 헤세 행렬의 계산은 알고리즘의 복잡성을 증가시킨다. 이 방법은 일반적으로 사용되지 않는다.
 데이비던-플레처-파월 방법. 이 방법은 유사 뉴턴 방법의 한 형태로, 위 방법과 유사하지만 2차 미분에 대한 해석적 표현을 사용하지 않기 위해 연속적인 근사를 통해 헤세 행렬을 계산한다.
 최대 경사 하강. 이동 벡터가 최대 경사 하강 방향을 가리킬 때 제곱합의 감소가 보장되지만, 이 방법은 종종 성능이 좋지 않다. 모수 값이 최적 값에서 멀리 떨어져 있을 때, 목적 함수의 등고선에 수직(수직)인 최대 경사 하강 벡터의 방향은 가우스-뉴턴 벡터의 방향과 매우 다르다. 이로 인해 특히 최대 경사 하강 방향을 따른 최소값이 최대 경사 하강 벡터 길이의 작은 부분에 해당할 수 있으므로 발산이 훨씬 더 흔해진다. 모수 간의 높은 상관관계로 인해 목적 함수의 등고선이 매우 편심일 때, 이동량 절단과 함께 최대 경사 하강 반복은 최소값을 향해 느리고 지그재그 경로를 따른다.
 켤레기울기법. 이는 이론적으로 우수한 수렴 특성을 가진 향상된 최대 경사 하강 기반 방법이지만, 이차 문제에 사용될 때도 유한 정밀도 디지털 컴퓨터에서 실패할 수 있다.M. J. D. Powell, Computer Journal, (1964), 7, 155.

 직접 탐색 방법 
직접 탐색 방법은 다양한 모수 값에서 목적 함수의 평가에 의존하며 미분을 전혀 사용하지 않는다. 이 방법은 가우스-뉴턴 방법 및 기울기 방법에서 수치 미분 사용에 대한 대안을 제공한다.
 교대 변수 탐색. 각 모수는 고정 또는 가변 증분을 더하여 차례로 변경되며, 제곱합의 감소를 가져오는 값이 유지된다. 이 방법은 모수가 크게 상관되어 있지 않을 때 간단하고 효과적이다. 수렴 속성이 매우 좋지 않지만, 초기 모수 추정치를 찾는 데 유용할 수 있다.
 넬더-미드(단순체) 탐색. 이 맥락에서 단순체는 n차원 공간에서 n+1개의 꼭짓점을 가진 다포체이다. 평면의 삼각형, 3차원 공간의 사면체 등이다. 각 꼭짓점은 특정 모수 집합에 대한 목적 함수 값에 해당한다. 단순체의 모양과 크기는 가장 높은 꼭짓점의 목적 함수 값이 항상 감소하도록 모수를 변경하여 조정된다. 제곱합은 처음에는 빠르게 감소할 수 있지만, M. J. D. Powell의 예시처럼 준볼록 문제에서는 정지하지 않는 점으로 수렴할 수 있다.

이러한 방법과 다른 방법에 대한 더 자세한 설명은 수치 조리법에서 다양한 언어로 된 컴퓨터 코드와 함께 제공된다.

 같이 보기 
 최소제곱 서포트 벡터 머신
 곡선 맞춤
 그레이 박스 모델
 비선형 계획법
 비선형 회귀
 최적화 (수학)
 레벤베르그-마르쿼트 알고리즘

 각주 

 더 읽어보기 

분류:최소제곱법