Optimization Lecture 7
by Yeonjee Jung
Barrier Method
Inequality Constrained Problems
최적화해야 하는 함수 f(x)가 제한된 집합 X에서 정의될 때 projected gradient descent 외의 다른 방법을 소개한다. 이런 constrained optimization 문제를 다르게 말하면, ‘어떤 함수 h,g에 대하여 모든 1≤i≤m인 i들에 대해 hi(x)=0을 만족하고, 모든 1≤j≤r인 j들에 대해 gj(x)≤0을 만족하면서 f(x)를 최소화시켜라’라고 표현할 수 있다. 이것을 Inequality Constrained Problem이라고 한다.
Barrier Method
Barrier Method란, constrained 문제를 unconstrained 문제로 바꾸는 방법을 말한다. 이 때 원래의 최적화해야 하는 함수 뒤에 penalty function을 더하게 된다. 그런데 여기서, 과연 이렇게 찾은 해가 우리가 실제로 원하던 해일까? 라는 의문을 갖게 된다.
Lagrange Multipliers
라그랑지 계수로 이를 해결할 수 있는데, 위에서 소개한 Inequality Constrained Problem을 이용하자. 먼저 Lagrange function을 다음과 같이 정의할 수 있다.
Λ(x,μ,λ):=f(x)+m∑i=1μihi(x)+r∑j=1λjgj(x)여기서 μ1,⋯,μm,λ1,⋯,λr을 Lagrange multiplier라고 한다.
Lagrange Dual
다음은 Lagrange function을 최적화하는 방법이다. 먼저 Lagrange dual function과 Lagrange dual problem을 정의한다.
Lagrange dual function :
L(μ,λ):=minxΛ(x,μ,λ)Lagrange dual problem :
maxμ,λL(μ,λ) s.t. λj≥,∀1≤j≤r먼저 Lagrange dual function 값을 구한 뒤, Lagrange dual problem을 푼다. 그 후 L(μ,λ)를 최대화시키는 λ와 μ를 찾아서 Λ(x,μ,λ)에 넣고 다시 Lagrange dual function을 풀고 ⋯를 반복한다. 최종 나오는 x값이 우리가 원하던 x∗값이다.
Lagrange dual problem을 푸는 과정에서는, L(μ,λ)가 concave function이라는 점을 활용하면 gradient ascent를 이용해서 maximization을 할 수 있다.
(Proof) L(μ,λ) is convex
L(αμ(1)+(1−α)μ(2),αλ(1)+(1−α)λ(2))=minx(f(x)+∑(αμ(1)+(1−α)μ(2))hi(x)+∑(αλ(1)+(1−α)λ(2))gj(x))≥α(min(f(x)+∑μ(1)hi(x))+∑λ(1)gj(x))+(1−α)(min(f(x)+∑μ(2)hi(x))+∑λ(2)gj(x))=αL(μ(1),λ(1))+(1−α)L(μ(2),λ(2))따라서 L(μ,λ)는 concave 함수이다.
Lagrange Dual and Barrier
다시 Barrier로 돌아오면, Lagrange dual에서 penalty function은 ∑μihi(x)+∑λjgj(x)이다. Lagrange dual problem에서 우리는 L(μ,λ)를 최대화시켜야 하므로,
- gj(x)<0이면 λ∗j=0이어야 하고,
- gj(x)>0이면 λ∗j=∞,
- gj(x)=0이면 λ∗j는 아무 숫자나 되어도 상관없으므로 λ∗j>0이게 된다.
barrier의 관점에서 봐도 말이 된다. barrier를 만족하지 못하면 penalty function이 무한대로 가게 되므로, 해가 constrained set 안으로 무조건 들어가도록 하게 된다. 따라서, Lagrange dual로 구한 x∗는 우리가 원하던 최적 해가 맞다.
이렇게 구한 해인 x∗(μ∗,λ∗)에는 몇 가지의 특성이 있다.
- ▽f(x∗(μ∗,λ∗))+∑μ∗i▽hi(x∗(μ∗,λ∗))+∑λ∗j▽gj(x∗(μ∗,λ∗))=0
- hi(x∗(μ∗,λ∗))=0,∀i
- λ∗jgj(x∗(μ∗,λ∗))=0 when λ∗j=0,gj(x∗(μ∗,λ∗))<0
f(x)나 constrained set이 convex가 아니면 진짜 해와 우리가 구한 해가 차이가 나게 되는데, 이것을 Lagrange Gap이라고 한다.
Subscribe via RSS