최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리...

Post on 24-Feb-2020

1 views 0 download

Transcript of 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리...

최적화 - preview최적화 구조 기울기 벡터, 감소방향, 가능방향, 개선방향정리

KKT 최적 필요 조건의 원리

볼록성 KKT 필요충분조건

최적화 알고리듬 알고리듬의 원리 - unconstrained, affine set, barrier method

참고 : 알고리듬의 종류

체인모양 결정문제

연결마디가 자유롭게 각을 이루도록, 다섯조각의 철사를 연결한 체인의 양끝을 각각 고리에 걸면 그 모양은 어떻게 될까?

결정변수 : 6개 마디의 좌표, (x1,y1), ..., (x6, y6).

제약 조건: 양끝 마디는 고리의 위치와 일치, 나머지 연속한 마디 사이 거리는 철사의 길이와 일치

목적함수 : 체인의 위치에너지 최소화

길이 26.5, 50.5, 34, 19.5, 41.5 cm 철사조각 연결 체인과 120cm 수평 간격의 고리일 때?

체인모양 결정문제 (계속)

min 26.5⇥ y1 + y2

2

+ 50.5⇥ y2 + y3

2

+ 34⇥ y3 + y4

2

+19.5⇥ y4+y5

2 + 41.5⇥ y5+y6

2sub.to (x1 � x2)

2+ (y1 � y2)

2= 26.5

2,

(x2 � x3)2+ (y2 � y3)

2= 50.5

2,

(x3 � x4)2+ (y3 � y4)

2= 34

2,

(x4 � x5)2+ (y4 � y5)

2= 19.5

2,

(x5 � x6)2+ (y5 � y6)

2= 41.5

2,

(x1, y1) = (0, 0),

(x6, y6) = (120, 0).

체인모양 결정문제 (계속)

최적화모형

(x1, y1) = (0, 0)(x2, y2) = (12.69,�23.27)(x3, y3) = (51.09,�56.06)(x4, y4) = (84.28,�48.72)(x5, y5) = (98.76,�35.65)(x6, y6) = (120, 0)

체인모양 결정문제 (계속)

최적해

실험 결과

체인모양 결정문제 (계속)

비선형계획문제min f(x)

s.t. gi(x) = 0, i = 1, 2, . . . ,m,

hj(x) 0, j = 1, 2, . . . , p

기울기 벡터 (gradient vector)

는 점 에서 함수의 순간 증가율이 가장 큰 방향을, 그리고 그 크기 는 그 증가율이 된다.

rf(x̄) =⇣

@f

@x1(x̄), @f

@x2(x̄), . . . , @f

@xn(x̄)

⌘T

.

rf(x̄)x = x̄

|rf(x̄)|

비선형계획의 이론과 알고리듬은 문제의 선형근사에 기반을 두고 있다. 이러한 원리를 이해하는데 가장 기본적인 것이 기울기 벡터이다.

평면 슬로우프에 스키를 신고 서면, 미끄러지는 반대 방향이, 평면을 그래프로 가지는 1차함수의 기울기벡터의 방향이 되고, 단위 수평거리 당 함수의 감소 크기가 그 크기가 된다.

일차함수의 기울기 벡터

각 점에서 함수 그래프에 접하는 평면을 그래프로 가지는 일차함수의 기울기벡터를, 함수의 기울기 벡터로 정의. (그런 평면이 항상 유일한 것은 아니다. 이 경우 미분 불능 함수라고 한다.)

일반함수의 기울기 벡터

접평면이 나타내는 다음의 일차함수 기울기 벡터와 일치

f(x) = x

21 + 2x2

2

rf(x) = [2x1, 4x2]T

rf(1, 1) = [2, 4]T

g(x) = 2x1 + 4x2 � 3

함수

점 (1,1)에서의 기울기 벡터

일반함수의 기울기 벡터

등고선과 기울기 벡터

각 점에서 함수 그래프에 접하는 1차함수의 등고선은 함수의 그래프에 접한다. 왜냐하면 모두 공통의 기울기 벡터와 수직을 이루기 때문이다.

f : ℝ3→ℝ2, x=[x1, x2, x3]T ↦ f(x) = [f1(x1, x2, x3), f2(x1, x2, x3)]T

도함수 Df(x)는 ℝ3→ℝ2 선형변환으로 정의한다. (즉, 2✕3 행렬이 된다.)

!

!

f(x+y) = f(x) + Df(x) y + o(‖y‖)

약간의 해석학 1 - 연쇄법칙 (chain rule)

Df(x) =

"@f1

@x1

@f1

@x2

@f1

@x3@f2

@x1

@f2

@x2

@f2

@x3

#

f : ℝ3→ℝ, x=[x1,x2,x3]T, ∈ ℝ1×3

g : ℝ→ℝ3, t ↦ [g1(t),g2(t),g3(t)]T, Dg(t) = [g1’(t), g2’(t), g3’(t)]T∈ ℝ3×1

h : ℝ→ℝ, t ↦ h(t)=f(g1(t),g2(t),g3(t))=f(g(t)), 즉, h=f∘g

h’(t) = Df(g(t))Dg(t)

!

!

예를 들어, g(t)=x+ty (x,y ∈ ℝ3, 상수 벡터)이면 Dg(t) =y 이므로 h’(t)= ∇Tf(x+ty)y. 이 때 h’(0)= ∇Tf(x)y를, f의 x에서 y로의 방향 도함수 (directional derivative)라고 부른다.

약간의 해석학 1 - 연쇄법칙 (chain rule) -계속

Df(x) =h

@f

@x1

@f

@x2

@f

@x3

i

=h

@f

@x1(g(t)) @f

@x2(g(t)) @f

@x3(g(t))

i2

4g01(t)g02(t)g03(t)

3

5

= rT f(g(t))Dg(t)

g : ℝ→ℝ3, t ↦ [g1(t),g2(t),g3(t)]T, Dg(t) = [g1’(t), g2’(t), g3’(t)]T ∈ ℝ3×1

예를 들어, g(t)=x+ty (x,y ∈ ℝ3, 상수 벡터)이면 Dg(t) =y.

!

!

!

일반적으로 g’(t0)는 점 g(t0)에서 곡선의 접선벡터 (tangent vector)가 된다.

g(0)=x

약간의 해석학 1 - 연쇄법칙 (chain rule) -계속

g(t)g’(0)=y

g(0)=x

g’(0)

KKT 필요 조건의 원리-등호제약

다음 간단한 예에서 볼 수 있듯이, 국지 최적해의 목적함수 기울기 벡터는 등호 제약식 기울기 벡터와 평행해야 한다 : ∃ λ∈ℝ: ∇f(x*)=λ∇g(x*).

충분조건이 아닌 것은 오른쪽 그림에서 최대화문제를 고려하면 된다.

KKT 필요 조건의 원리-등호제약x*가 max{f(x) : g(x) =0}의 국지해이고 ∇g(x*) ≠0 라고 하자. c: ℝ→ℝn을 c(0) =x*인 곡면 g(x)=0에 품기는 곡선(curve)라고 하자. t=0이 u(t):=f(c(t))의 국지해가 된다. 따라서 u’(0) = ∇Tf(c(0))c’(0)=∇Tf(x*)c’(0)=0.  c’(0)이 곡면 g(x)=0의 임의의 접선벡터이므로 ∇Tf(x*)는 x*에서 접평면에 수직이다.

g(c(t))=0에서 (g(c(t)))’|t=0= ∇Tg(c(0))c’(0)=∇Tg(x*)c’(0)=0. ∇Tg(x*) 역시 접평면에 수직. 동일한 평면에 수직하므로 ∃ λ∈ℝ: ∇Tf(x*) = λ ∇Tg(x*)

0)( xg

)(tc

)0('c

)0(* cx

*)(xf�

KKT 필요 조건의 원리-등호제약참고: 엄밀하게는 곡선의 존재성을 보이는 것이 필요. (Implicit Function Theorem을 사용할 수 있다.)

앞의 방법을 확장하면 max{f(x) | g(x) = (g1(x), ..., g2(x))T = 0} 의 국지해 x* 에서 목적함수의 기울기 벡터가 제약식 기울기 벡터 공간에 속해야 한다: ∇f(x*)=λ1∇g1(x*) +…+λm∇gm(x*) , λ∈ℝm. (단, ∇g1(x*) , …, ∇gm(x*)이 선형독립조건이 필요.)

감소방향 정리

감소방향

점 에서 기울기벡터 와 둔각을 이루는 방향, 즉 , 를 만족하는 y 방향의 충분히 가까운 점들은 함수 값이 f( )보다 작은 것을 알 수 있다.

rf(x̄) rTf(x̄)y < 0

감소방향 정리미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는 감소방향이 된다. 즉, 와 내적이 양수가 되는 y가 있을 때, 로 부터 y 방향으로 충분히 가까이 있는 점들은 함수 값이 보다 작다:

9�̄ : 80 < � < �̄, f(x̄+ �y) < f(x̄)

fx = x̄

rf(x̄) 6= 0

�rf(x̄)

f(x̄)

감소방향 정리 증명

1 변수의 경우, 이미 우리가 알고 있다. 도함수가 음수이면, 즉 양의 방향으로 감소하면 9�̄ > 0 : 80 < � < �̄, f(x̄+ �) < f(x̄).

ℝn 의 경우

감소방향 정리 증명-참고

증가방향정리를 써보라.

증가 및 감소방향

증가방향 증가방향

감소방향

이는 함수의 가울기 벡터와 내적이 양인 방향은 증가방향, 음인 방향은 감소방향이 되는 것을 의미한다.

감소방향

가능 및 불가능 방향

불가능방향 불가능방향

가능방향

제약식의 g(x) ≤ 0의 경우, x가 g(x)= 0인 가능해일 때 기울기벡터 ∇g(x)와 내적이 음수인 방향은 함수 값을 감소시키므로, 가능성을 유지하며 움직일 수 이동할 수 있는 가능방향이 된다.

g(x)= x12+2x22- 3≤0g(x)= x1+2x2 - 3≤0

∇g(1,1)∇g(1,1)

g(x)=0

g(x)=0g(x)=6

g(x)=9

g(x)=0g(x)=12

g(x)=27

2x1+4x2 - 6=0

가능방향∇g(x)Ty<0

∇g(x)Ty<0

KKT 필요 조건의 원리-부등호제약

필요조건 - 어떤 점이 국지해이면, 최소화 문제의 경우는 감소, 최대화 경우는 증가 방향이 가능 방향 중에 존재하지 않아야 한다.

선형문제를 먼저 예로 보자.max 4x1+2x2 s.t. x1+2x2 -10 ≤ 0 4x1-x2 -4 ≤ 0 -x1 ≤ 0 -x2 ≤ 0

(2,4)가 최적해이면 이로부터 증가방향과 가능방향의 교집합이 없어야 한다. 이는, 그림에서 목적함수 기울기벡터가, 해가 등호로 만족하는 제약식의 두 기울기 벡터사이에 있어야 한다는 의미이다.

증가방향

가능방향

증가방향

가능방향

∇g1(x)

∇g2(x)

∇f(x)

국지해(최적해)인 경우 국지해(최적해)가 아닌 경우

이는 ∇f(x)가 ∇g1(x)와 ∇g2(x)의 비음조합, 즉 ∇f(x) = λ1∇g1(x) + λ2∇g2(x) 인 λ1,λ2≥0가 존재한다는 것이다.

KKT 필요 조건의 원리-부등호제

이를 일반화하면 ‘b1Ty<0, b2Ty<0인 모든 y에 대하여, aTy≤0’라는 것은 max{aTy : b1Ty≤0, b2Ty≤0} ≤0라는 의미이다. (역도 성립.)

이는 강쌍대정리에 의하여, B를 b1, b2를 행으로 하는 행렬이라고 할때 쌍대문제 min {0Tλ : BTy=a, λ1,λ2≥0}가 가능해를 가진다는 말과 같다. 즉, ‘a= λ1b1+λ2b2 λ1,λ2≥0’인 λ가 존재한다.

a= ∇f(x),bi= ∇gi(x)로 놓고 위의 사실을 적용하면 ‘∇f(x) =λ1∇g1(x)+λ1∇g1(x) 인 λ1,λ2≥0가 존재한다’는 의미이다.

증가방향

가능방향

b1

b2

a

y

KKT 필요 조건의 원리-부등호제약 참고

[4,2]T= λ1[1,2]T + λ2[4,-1]T, λ1≥0, λ2≥0. 실제로 λ1=4/3, λ2=2/3가 이 관계를 만족.

min 10λ1+4λ2 s.t. λ1 +4λ2 ≥ 4 2λ1-λ2 ≥ 2 λ1≥0, λ2≥0

λ를 라그랑지 승수(Lagrangian multiplier)라고 한다.

λ1=4/3

λ2=2/3

참고 : 선형계획의 경우 위 조건을 만족하는 라그랑지 승수는 쌍대문제 최적해와 같다! (확인해 볼것.)

KKT 필요 조건의 원리-부등호제

KKT 필요 조건의 원리-부등호제

비선형문제의 예를 보자.

λ1

λ2

최적해에서 만족해야 하는 조건은 선형문제와 같다. 점 (2,4)에서, 목적함수의 기울기벡터가, 등호로 만족하는 두 제약식의 기울기벡터의 비음조합이 되어야 한다.

max x1x2 s.t. x1+2x2 -10 ≤ 0 x12-x2 ≤ 0 -x1 ≤ 0, -x2 ≤ 0

참고: 점 (2,4)가 자신을 중심으로 선형근사하여 얻은 선형계획문제의 최적해가 되고, 그 쌍대 최적해가 라그랑지 승수가 된다는 의미이다.

f와 h=(h1, …, hp)가 모두 미분가능하고 x*가 max{f(x)| h(x) ≤ 0}의 국지 최적해라고 하면 다음과 같은 μ가 존재한다.

∇f(x*)=μ1∇h1(x*)+…+ μp∇hp(x*)

μ≥0

x*가 hj(x)≤0을 부등호로 만족하면, 즉 hj(x*)<0이면, μj=0: μTh(x)=0.

연습문제: 최소화문제에 대해 다시 써볼것

참고 h=(h1, …, hp)가 선형이 아니면 추가 조건이 필요. x*가 등호로 만족하는 hi

들의 기울기벡터, ∇hi(x*)들이 선형독립이어야 한다.

충분조건은 일반적으로 성립하지 않는다. max{x2 : x2 ≤ x13}

KKT 필요 조건-부등호제약

KKT 필요 조건-일반형x*가 최적화 max{f(x): g1(x)=0, ..., gm(x)=0, h1(x)≤0, ..., hp(x)≤0}의 국지해이면 다음조건을 만족하는 λ∈ℝm와 μ∈ℝp가 존재한다.

∇f(x*)=λ1∇g1(x*) +…+λm∇gm(x*)+μ1∇h1(x*)+…+ μp∇hp(x*)

μ≥0

x*가 hj(x)≤0을 부등호로 만족하면, 즉 hj(x*)<0이면, μj=0.

참고: x*가 등호로 만족하는 제약식들의 기울기 벡터들의 선형독립성 필요 (“regularity assumption”)

연습문제: 문제가 최소화가 되면? min{f(x): g1(x)=0, ..., gm(x)=0, h1(x)≤0, ..., hp(x)≤0.}

국지해 vs 최적해

g3(x) =-3(x1-1)2+x2-2≤0

x1+2x2-10≤0

앞 문제에 제약식 g3(x) = -3(x1-1)2+x2-2≤0을 추가 하면 (0,5)는 국지해가 된다.

가능방향 중 증가방향이 존재하지 않음을 확인하라.

대응하는 선형근사문제와 라그랑지 승수를 구하라.

해집합이 ‘볼록’이 아니어서 국지해로부터 최적해로 가능방향이 존재하지 않는다.

볼록 그리고 비볼록함수의 최적화

국지해 = 최적해 국지해 ≠ 최적해

볼록 그리고 비볼록 집합 위의 최적화

함수가 볼록해도 해집합이 볼록하지 않으면 국지해가 최적해가 되지 않을 수 있다.

볼록조합과 볼록집합 Convexity

두점 x,y∈ℝn를 포함하는 선분 {z≔ (1-λ)x+λy: 0 ≤λ≤1} 의 점을 x,y의 볼록조합(convex combination) 이라고 한다.

자신의 모든 원소 쌍의 볼록조합을 포함하는 집합을 볼록집합(convex set)이라고 한다.

볼록집합과 비볼록집합의 예

현(chord)

볼록함수

정의역(domain), D가 볼록집합이고 (예: D=ℝn), 현이 항상 그래프 위에 있는 함수를 볼록함수(convex function)라고 한다: ∀x,y∈D, ∀0 ≤λ≤1,

f((1-λ)x+λy)≤(1-λ)f(x)+λf(y).

선형근사와 볼록함수(미분가능한) 볼록함수의 모든 점x에서 선형근사는 함수보다 항상 같거나 작다. 그리고 그 역도 성립한다: g(y)≔f(x) + ∇f(x)T(y-x) ≤ f(y) ∀y. 증명: 생략

z

z - x

볼록최적화의 특성가능해 집합과 목적함수가 모두 볼록이면 볼록최적화문제라고 한다. 최소화 볼록최적화문제에서 국지해가 항상 최적해가 된다. 즉, 최적해가 아니면 국지해도 될 수 없다.

증명 목적함수를 f라고 하고 x가 최적해가 아니라고 하자. (그러면 국지해도 될수 없음을 보이자.) 이는 S에 y≠x가 존재하여 f(y) < f(x)라는 의미이다. 그러면 x와 y를 연결하는 선분의 다른 점들이 모두 목적함수가 f(x)보다 작다는 것을 보이면, x가 국지해가 될 수 없음을 증명하게 된다. (왜인가?)

선분의 점 z를 아래그림과 같이 임의로 잡으면, f의 볼록성에 의하여 f(z)≤(1-λ)f(x)+λf(y) <(1-λ)f(x)+λf(x)=f(x). (두번째 부등호는 가정에의하여 성립) ☐

볼록성+국지최적해=최적해

가능해집합 S와 목적함수가 모두 볼록인 최적화문제 min{f(x): x∈S}에서 f:ℝn→ℝ가 미분가능하다고 하자. 그러면 x∈S가 최적해가 될 필요충분조건은, 모든 가능방향 y가 증가방향이 되는 것이다. 즉, ∇f(x)Ty≥0이 되는 것이다.

따라서 최적해가 내부에 있다면 그 때 기울기벡터는 0이 되어야 한다.

볼록최적화 가능방향 정리

볼록최적화 가능방향 정리 증명: 필요조건은 감소방향 정리에 의하여 성립한다.

충분조건을 보이기 위해 x와 다른 임의의 가능해 z∈S를 생각하자. 그러면 선형근사와 볼록함수의 성질에 의하여 다음이 성립한다.

f(z) ≥ f(x) + ∇f(x)T(z-x) (✻)

집합 S의 볼록성에 의하여 y≔z-x는 가능방향이 된다. 따라서 가정에 의하여 ∇f(x) T(z-x)≥0임 되며, (✻)로 부터 f(z) ≥ f(x)가 성립한다. 따라서 x가 최적해이다. ☐

가능방향 정리를 사용하면, 볼록최적화문제의 경우, KKT조건이 x*가 최적해 충분조건이 되는 것을 쉽게 증명할 수 있다.

참고: regularity가 만족하면 필요조건도 된다. 그런데 볼록최적화의 경우 regularity 대신 다음 조건을 사용할 수 있다. “가능해 중에 부등호 제약식을 h(x) <0으로 만족하는 것이 존재한다.” Slater-type condition.

비선형 알고리즘: 제약조건이 없는 경우

기울기벡터를 사용한 하강 알고리듬의 예 : min f(x)=2(x1-2)2+(x2-2)2

변화율이 충분히 작아질 때까지 다음을 반복

초기점: (3,5)

반복단계: xk+1 ← xk + σkdk , 여기서 dk=-∇f(xk), σk는 f(xk + σdk)를 최소로 만드는 σ.

선형근사를 사용하는 해법이라고 생각할 수 있다.

σ0

x0

x1

d0

이차근사를 사용한 해법을 생각할 수 있다. f(x)=2(x1-2)2+(x2-2)2 =2x12 + x22 - 8x1 - 4x2 +12 = =(1/2)xTQx +bTx +c

볼록함수이기 때문에 ∇f(x)=0을 만족하는 점 ‘stationary point’가 최소점.

∇f(x) =

x =-Q-1b = [2,2]T

반복단계: xk+1 ← xk + σkdk , 여기서 dk는 xk

에서 2차근사의 ‘stationary point’로의 방향. 예에서는 원래 함수가 2차함수이기 때문에 최적해를 1회에 도달하게 된다.

Newton 방법이라고 한다.

비선형 알고리즘: 제약조건이 없는 경우

d0

x0

x1

σ0

12

⇥x1 x2

⇤ 4 00 2

� x1

x2

�+

⇥�8 �4

⇤ x1

x2

�+ 12

4 00 2

� x1

x2

�+

�8�4

�= 0

비선형 알고리즘:등호 제약의 경우

등호제약식이 볼록 해집합을 가지려면 선형이 되어야한다.

g(x) = Ax -b =0

A의 열이 모두 선형독립이면, 벡터 를 Ax =0의 공간에 투영한 벡터는 다음의 관계로 주어진다: P= I-AT(AAT)-1A. 최적화 문제 min{‖d-d’‖2:Ax=0}의 KKT 조건을 고려할 것.

다양한 Primal method에 이러한 투영 방향이 원리적으로 사용. (projected gradient, reduced gradient, .... .)

g(x)≤0

비선형 알고리즘:부등호제약조건

Barrier method의 원리: Barrier를 사용하여 제약식 없는 최적화 문제로 변환.

B(h(・))를 x가 h(・) ≤ 0을 만족하면 B(h(x)) =0, 아니면 =∞ 인 함수라고 하자. 그러면 min {f(x):h(x)≤0}와 min {f(x)+B(h(x)): x ∈ℝn}은 동일한 문제가 된다. 하지만 이런 B(h(・))는 미분불능성이 심하여 경계점 부근에서 다루기가 힘들다. B(h(・))를 더 매끄러운 함수로 대신한다.

예: 로그 장벽 x ≥ 0 ≈ min -(1/t) ㏑x, t>0는 조정 파라미터.

로그장벽을 목적함수에 더하여 부등호 제약식에 대신한다: (P) min {f(x) : x ≥ 0} ≈ (BP) min {f(x) -(1/t)㏑x : x ∈ ℝ}.

(BP)의 최적해를 x*(t)라고 할때, t⟶+∞이면 x*(t)⟶x*.

비선형 알고리즘:부등호제약조건 예 : h1(x)=-x ≤ 0, h2(x)=x-10 ≤ 0 ⟷ min B(h1(x))+B(h2(x)) ≈ min -(1/t) (㏑x + ㏑(10-x))로 놓으면 t가 커질 때, 로그 배리어는 다음과 같이 변한다.

로그가 아닌 다른 장벽은?

+∞+∞

0

비선형 알고리즘의 종류Unconstrained method: Gradient method, Newton method, Quasi-Newton method, Conjugate direction method

Primal Methods: Feasible direction method, Projected gradient, Reduced gradient method

Dual Methods: Augmented Lagrangian method, Cutting Plane method,

Primal-Dual method.

Penalty and Barrier method.