본문 바로가기
AI 수학/최적화

라그랑지 곱수법의 증명

by 깊은대학 2020. 10. 1.

라그랑지 곱수(Lagrange multiplier)법을 증명해 보자.

먼저 기하학적 직관을 이용해서 증명해 본다. 다음과 같이 변수가 xR2이고 등식 제약조건이 한 개 있는 최적화 문제를 살펴보자.

 

p=minx1,x2f(x1,x2)subject to   h(x1,x2)=0

 

등식 제약조건은 평면상의 곡선의 식을 나타낸다. 먼저 목적함수와 등식 제약조건 식을 x1,x2을 축으로 하는 평면에 그려보자.

 

 

검은색 선은 f(x1,x2)=c의 등고선을 나타낸다. 등고선이란 동일한 함수 값 c를 산출하는 변수 x1,x2 값의 집합이다.

그림에서 c1,c2는 서로 다른 등고선 값을 나타낸다. 빨간색 선은 등식 제약조건을 만족하는 곡선이다. 제약조건을 만족하면서 함수 f(x1,x2)의 최소값을 구하는 문제는 빨간색 곡선과 등고선의 교점 중에서 가장 작은 등고선 값 c를 구하는 문제와 동일하다. 그 교점이 P라고 할 때, 점 P에서는 두 곡선의 접선(tangent)이 동일할 것이다.

 

 

동일한 접선을 갖는 두 곡선의 기울기 벡터(그래디언트)는 동일한 방향을 가지므로, 등식 제약조건을 만족하면서 함수 f(x1,x2)의 최소값을 갖는 교점 P에서 다음 식을 만족해야 한다.

 

f+λh=0h(x1,x2)=0

 

여기서 λ는 두 곡선의 기울기 벡터의 크기 비를 나타내는 어떤 실수 값이다.

다음으로 최적화 변수가 xR3이고 등식 제약조건이 한 개 있는 최적화 문제를 살펴보자. 이번에는 해석적으로 접근해 본다.

 

minx1,x2,x3f(x1,x2,x3)subject to   h(x1,x2,x3)=0

 

등식 제약조건은 공간상의 곡면의 식을 나타낸다. 제약조건을 만족해야 하므로 함수의 최소값 또는 최대값은 곡면위에 있는 어떤 점일 것이다. 제약조건을 만족하는 곡면상의 한 점 P에서 함수의 최소값 또는 최대값을 갖는다고 하자. 그리고 r(t)=[x1(t) x2(t) x3(t)]T을 곡면상에 있는 임의의 곡선을 나타내는 벡터라고 하고, 변수 t=t0일 때 벡터 r(t)이 점 P를 지난다고 가정하자.

그러면 함수 f(x1,x2,x3)는 다음과 같이 t의 함수로 쓸 수 있다.

 

w(t)=f(x1(t),x2(t),x3(t))

 

위 식을 t로 미분하면 다음과 같다.

 

w(t)=(f(x1(t),x2(t),x3(t)))Tr(t)

 

함수 ft=t0에서 최소 또는 최대값을 가지므로,

 

w(t0)=(f(x1(t0),x2(t0),x3(t0)))Tr(t0)=0

 

가 된다. 여기서 r(t0)는 곡면 위에 있는 점 P를 지나는 임의의 곡선의 접선을 나타내므로 그래디언트 f는 점 P에서 곡면에 접한 평면과 직각이 되는 것을 알 수 있다. 이는 또한 점 P에서 f의 방향이 h와 평행하다는 것을 의미하므로 다음과 같이 쓸 수 있다.

 

f+λh=0h(x1,x2,x3)=0

 

여기서 λ는 어떤 실수다.

등식 제약조건이 두 개 있는 경우의 최적화 문제는 어떨지 살펴보자.

 

minx1,x2,x3f(x1,x2,x3)subject to   h1(x1,x2,x3)=0h2(x1,x2,x3)=0

 

두 개의 제약조건을 만족해야 하므로 함수의 최소값 또는 최대값은 두 곡면이 만나는 곡선상에 있을 것이다.

두 개의 제약조건을 만족하는 곡선상의 어떤 점 P에서 함수의 최소값 또는 최대값을 갖는다고 하자. 그리고 r(t)=[x1(t) x2(t) x3(t)]T을 곡선을 나타내는 벡터라고 하고 변수 t=t0일 때 벡터 r(t)이 점 P를 지난다고 가정하자. 그러면 제약조건은 다음과 같이 표현할 수 있다.

 

h1(x1(t),x2(t),x3(t))=0h2(x1(t),x2(t),x3(t))=0

 

위 식을 t로 미분하면 다음과 같다.

 

(h1(x1(t),x2(t),x3(t)))Tr(t)=0(h2(x1(t),x2(t),x3(t)))Tr(t)=0

 

t=t0를 대입하면 r(t0)는 점 P에서 곡선의 접선을 나타내므로 그래디언트 h1h2는 점 P에서 접선과 직각이 되는 것을 알 수 있다.

따라서 그래디언트 h1h2가 만드는 평면에 접선 벡터 r(t0)이 수직이 됨을 알 수 있다.

함수 ft=t0에서 최소 또는 최대값을 가지므로,

 

w(t0)=(f(x1(t0),x2(t0),x3(t0)))Tr(t0)=0

 

이 된다. 따라서 그래디언트 f도 점 P에서 r(t0)와 직각이므로 f도 그래디언트 h1h2가 만드는 평면에 있다는 것을 알 수 있다. 따라서 점 P에서 다음 식이 성립한다.

 

f+λ1h1+λ2h2=0h1(x1,x2,x3)=0h2(x1,x2,x3)=0

 

여기서 λ1,λ2는 어떤 실수다.

 

 

이와 같은 방법으로 다변수 목적함수 f(x)p개의 등식 제약함수 hj(x)에 대해서도 함수의 최소 또는 최대값을 갖는 극점 P에서는 다음 식을 만족해야 하는 것을 보일 수 있다.

 

f(x)+λ1h1(x)+λ2h2(x)++λphp(x)=0h1(x)=0,  h2(x)=0,  ,  hp(x)=0

 

이제 라그랑지안 L을 다음과 같이 도입하고,

 

L(x,λ1,λ2,...,λp)=f(x)+λ1h1(x)+λ2h2(x)++λphp(x)

 

L의 그래디언트를 L=0으로 놓으면,

 

L=[f(x)+λ1h1(x)+λ2h2(x)++λphp(x)h1(x)h2(x)hp(x)]=0

 

위 식이 다음과 같은 제약조건이 없는 최적화 문제를 푸는데 사용되는 수식과 동일한 것임을 알 수 있다.

 

p=minx,λ1,λ2,...,λpf(x,λ1,λ2,...,λp)

 

이로써 라그랑지 곱수법을 증명하였다.

 

 

'AI 수학 > 최적화' 카테고리의 다른 글

SGD에서 데이터를 무작위로 추출해야 하는 이유  (1) 2021.01.04
함수의 최소화 또는 최대화의 조건  (0) 2020.10.20
라그랑지 곱수법  (0) 2020.10.01
경사하강법  (0) 2020.09.30
최적화 문제의 분류  (0) 2020.09.30

댓글