Barrier Method

Inequality Constrained Problems

최적화해야 하는 함수 f(x)가 제한된 집합 X에서 정의될 때 projected gradient descent 외의 다른 방법을 소개한다. 이런 constrained optimization 문제를 다르게 말하면, ‘어떤 함수 h,g에 대하여 모든 1imi들에 대해 hi(x)=0을 만족하고, 모든 1jrj들에 대해 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)+mi=1μihi(x)+rj=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,1jr

먼저 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(μ,λ)를 최대화시켜야 하므로,

  1. gj(x)<0이면 λj=0이어야 하고,
  2. gj(x)>0이면 λj=,
  3. gj(x)=0이면 λj는 아무 숫자나 되어도 상관없으므로 λj>0이게 된다.

barrier의 관점에서 봐도 말이 된다. barrier를 만족하지 못하면 penalty function이 무한대로 가게 되므로, 해가 constrained set 안으로 무조건 들어가도록 하게 된다. 따라서, Lagrange dual로 구한 x는 우리가 원하던 최적 해가 맞다.

이렇게 구한 해인 x(μ,λ)에는 몇 가지의 특성이 있다.

  1. f(x(μ,λ))+μihi(x(μ,λ))+λjgj(x(μ,λ))=0
  2. hi(x(μ,λ))=0,i
  3. λjgj(x(μ,λ))=0 when λj=0,gj(x(μ,λ))<0

f(x)나 constrained set이 convex가 아니면 진짜 해와 우리가 구한 해가 차이가 나게 되는데, 이것을 Lagrange Gap이라고 한다.