최적화 - previewpolytope.snu.ac.kr/courses/lp15/nlp-preview(최종본).pdf · 2015-06-01 ·...

53
최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향, 개선방향정리 KKT 최적 필요 조건의 원리 볼록성 KKT 필요충분조건 최적화 알고리듬 알고리듬의 원리 - unconstrained, affine set, barrier method 참고 : 알고리듬의 종류

Upload: others

Post on 19-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

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

KKT 최적 필요 조건의 원리

볼록성 KKT 필요충분조건

최적화 알고리듬

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

참고 : 알고리듬의 종류

Page 2: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

체인모양 결정문제

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

Page 3: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

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

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

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

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

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

Page 4: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

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).

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

최적화모형

Page 5: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

(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)

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

최적해

Page 6: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

실험 결과

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

Page 7: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

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

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

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

Page 8: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

비선형계획문제 - 간단한 예방정식 Ax = b는 A의 열벡터를 조합하여 b를 나타내는 계수 x를 구하는 것이다. 만약 가능해가 없는 경우는 오차가 가장 작은 조합을 구하는 문제를 생각할 수 있다: min ‖Ax -b‖ ⇔ min ‖Ax -b‖2 = xTATAx - 2bTA x +bTb. 일반적으로 2차함수는 다음과 같이 표현할 수 있다. xTQx +cTx +d. 이는 벡터 b를 A 열공간에 투영하는 문제가 된다.

유사하게 표준형 선형시스템의 오차가 가장 적은 가능해를 구하는 문제도 생각할 수 있다.

Page 9: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

기울기 벡터 (gradient vector)

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

rf(x̄) =⇣

@f

@x1(x̄), @f

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

@xn(x̄)

⌘T

.

rf(x̄)x = x̄

|rf(x̄)|

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

Page 10: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

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

일차함수의 기울기 벡터

Page 11: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

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

일반함수의 기울기 벡터

Page 12: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

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

f(x) = x

21 + 2x2

2

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

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

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

함수

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

일반함수의 기울기 벡터

Page 13: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

등고선과 기울기 벡터

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

Page 14: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

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

#

Page 15: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

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)

Page 16: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

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)

Page 17: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

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

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

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

Page 18: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

KKT 필요 조건의 원리-등호제약x*가 max{f(x) : g(x) =0}의 국지해이고 ∇g(x*) ≠0 라고 하자. c: ℝ→ℝn를c(0) =x*만족하는, 곡면 g(x)=0에 품기는 임의의 곡선(curve)이라고 하자. u(t):=f(c(t)) 라고 하면 t=0는 maxtu(t)의 국지해가 된다. 따라서, u’(0) = ∇Tf(c(0))c’(0) =∇Tf(x*)c’(0)=0.  x*에서 곡면 g(x)=0의 임의의 접선 벡터는 c’(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�

Page 19: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

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*)이 선형독립조건이 필요.)

Page 20: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

감소방향 정리

감소방향

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

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

Page 21: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

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

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

fx = x̄

rf(x̄) 6= 0

�rf(x̄)

f(x̄)

Page 22: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

감소방향 정리증명

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

Page 23: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

ℝn 의 경우

감소방향 정리증명-참고

증가방향정리를 써보라.

Page 24: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

증가 및 감소방향

증가방향 증가방향

감소방향

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

감소방향

Page 25: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

가능 및 불가능 방향

불가능방향 불가능방향

가능방향

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

g(x)= x12+2x2

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

∇g(1,1)

∇g(1,1)

g(x)=0

g(x)=0

g(x)=6

g(x)=9

g(x)=0

g(x)=12

g(x)=27

2x1+4x2 - 6=0

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

∇g(x)Ty<0

Page 26: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

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

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

선형문제를 먼저 예로 보자.max 4x1+2x2

s.t. x1+2x2 -10 ≤ 0 4x1-x2 -4 ≤ 0 -x1 ≤ 0 -x2 ≤ 0

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

Page 27: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

증가방향

가능방향

증가방향

가능방향

∇g1(x)

∇g2(x)

∇f(x)

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

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

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

Page 28: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

이를 일반화하면 ‘b1Ty<0, b2

Ty<0인 모든 y에 대하여, aTy≤0’라는 것은 max{aTy : b1

Ty≤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 필요 조건의 원리-부등호제약참고

Page 29: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

[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 필요 조건의 원리-부등호제

Page 30: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

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

비선형문제의 예를 보자.

λ1

λ2

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

max x1x2

s.t. x1+2x2 -10 ≤ 0 x1

2-x2 ≤ 0 -x1 ≤ 0, -x2 ≤ 0

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

Page 31: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

 다음을 증명하여 보자:

내부해 기본정리: b1, …,bm이  선형독립이면 b1

Ty<0, …,bmTy<0인 y가 존재 한다.

증명: 아니라고 하면, 어떤 y도 biTy≥0인 i가

존재한다는 의미이다. 이는 다음의 선형계획의 최적 목적함수 값이 0이라는 의미이다. min{t: b1

Ty≤t, …,bmTy≤t}.

강쌍대성에 의해 다음과 같은 π≤0이존재한다: [b1

… bm] π=0, eTπ=-1. 두번째 조건에서 π≠0 이므로 b1, …,bm이  선형독립이라는 것에 모순. ⃞

가능방향

b1

b2

y

KKT 필요 조건-부등호제약

Page 32: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

 x*가 max{f(x): g(x)≤0} 국지해라고 하자. x*가 등호로 만족하는 제약식들을 g1(x)≤0, …,gk(x)≤0이라고 하자.

∇g1(x*) … ∇gk(x*)가 선형독립이면, ‘∇g1(x*)Ty<0, …, ∇gm(x*)Ty<0‘을 만족하는 y가 존재하며, 모두 가능방향이다. x*가 국지해이므로, ∇f(x*)Ty≤0’가 성립하여야 한다.

즉, 선형계획 max {∇f(x*)Ty: ∇g1(x*)Ty≤0, …, ∇gm(x*)Ty≤0}의 최적목적함수 값이 0이다. 강쌍대정리를 min {0Tλ : [∇g1(x*) … ∇gm(x*)]λ= ∇f(x*), λ ≥0}에 적용하면 바로 KKT 조건을 얻는다.

증가방향

가능방향

∇g1T(x*)

∇g2T(x*)

∇fT(x*)

y

KKT 필요 조건-부등호제약

Page 33: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

f와 g=(g1, …, gp)가 미분가능하고 x*가 max{f(x)| g(x) ≤ 0}의 국지 최적해라고 하자. 만약 x*가 ‘regularity’ 가정을 만족하면, 다음의 μ가 존재한다.

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

μ≥0

hj(x*)<0이면, μj=0. 즉, μTh(x)=0.

연습문제: regularity 가정이 없는 경우, KKT 조건이 만족하지 않을 수 있는 것을 보여라.

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

KKT 필요 조건-부등호제약

Page 34: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

KKT 필요 조건-등호및부등호 제약 등호와 부등호 제약식이 같이 존재하는 경우에도 조건을 쉽게 확장할 수 있다.

x*가 max{f(x): g1(x)=0, ..., gm(x)=0, h1(x)≤0, ..., hp(x)≤0}의 국지해라고 하자. x*가 등호로 만족하는 제약식들의 기울기 벡터들이 선형독립이면 다음이 λ∈ℝm와 μ∈ℝp가 존재한다:

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

μ≥0,

μTh(x*) =0.

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

Page 35: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

국지해 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)는 국지해가 된다.

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

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

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

Page 36: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

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

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

Page 37: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

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

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

Page 38: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

볼록조합과 볼록집합 Convexity

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

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

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

Page 39: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

현(chord)

볼록함수

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

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

-f가 볼록함수이면 f를 오목함수라고 한다. 이는 모든 현 보다 대응하는 그래프가 위에 있다는 말과 같다: f((1-λ)x+λy)≥(1-λ)f(x)+λf(y).

Page 40: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

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

z

z - x

Page 41: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

볼록최적화

S = {x: g1(x)=0, ..., gm(x)=0, h1(x)≤0, ..., hp(x)≤0}를 볼록집합이라고 하자. 우선 g는 평면함수가 되어야 한다: g(x) = Ax -b. 그리고 hi(x)는 볼록함수로 가정한다.

볼록집합 위에서 볼록 함수를 최소화하거나, 오목 함수를 최대화 하는 것을 볼록 최적화문제 (convex optimization)라고 한다: max{f(x): x ∈S}, f concave, 또는 min{f(x): x ∈ S}, f convex.

볼록최적화 문제는 매우 좋은 성질을 갖는 최적화 문제이다. 이러한 성질들은 최적해를 효율적으로 계산하는 것을 가능하게 한다.

(약간의 가정을 추가하면) 선형계획과 같은 강쌍대성을 갖는다.

KKT 조건이 단순히 필요조건이 뿐 아니라 충분조건도 된다.

Page 42: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

볼록최적화의 특성볼록최적화문제에서 국지해가 항상 최적해가 된다. 즉, 최적해가 아니면 국지해도 될 수 없다.

증명 목적함수를 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). (두번째 부등호는 가정에의하여 성립) ☐

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

Page 43: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

가능해집합 S와 목적함수가 모두 볼록인 최적화문제 min{f(x): x∈S}에서

f:ℝn→ℝ� 미분가능하다고 하자. 그러면 x∈S가 최적해가 될 필요충분조건은, 모든 가능방향 y가 증가방향이 되는 것이다. 즉, ∇f(x)Ty≥0이 되는 것이다.

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

볼록최적화 가능방향 정리

Page 44: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

볼록최적화 가능방향 정리

증명: 필요조건은 감소방향 정리에 의하여 성립한다.

충분조건을 보이기 위해 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가 최적해이다. ☐

Page 45: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

예: 볼록함수 f:ℝn→ℝ 의 최적화 문제 min{f(x) : x ≥ 0}의 최적조건은 x≥0, ∇f(x) ≥0, xT ∇f(x)=0임을 보이자.

예: 볼록함수 f(x)를 Ax =b위에서 최소화하는 문제의 최적해의 필요충분조건은 ATy = ∇f(x)가 되는 y가 존재하는 것이다.

볼록최적화 KKT 조건

Page 46: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

볼록최적화 KKT 조건

가능방향 정리를 사용하면, 볼록최적화문제의 경우, KKT조건이 충분조건이 되는 것을 보일 수 있다.

문제 (P) : max{f(x): g(x)≡Ax-b=0, h(x) ≡ (h1(x), …, hm(x)) ≤0}의 가능해 z가 어떤 λ∈ℝm, μ∈ℝp와 KKT조건을 만족하면 최적해가 된다: ∇f(z)=λT∇g(z) +μT∇h(z)(=λTA+μ1∇h1(z)+…+ μp∇hp(z)); μ≥0; μTh(z) =0.

증명: L(x;λ,μ)≡f(x) - λTg(x) -μT∇h(x)라고 정의하자. (P)가 볼록최적화이므로 고정된 λ,μ 에 대해 L(x;λ,μ) 오목함수가 된다. 따라서 가능방향정리에 의하여 ∇xL(x;λ,μ)=0일 때 최대값이 되며, KKT조건의 첫번째에서 z가 그러한 점이다.

Page 47: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

증명 (계속): 따라서 (P)의 임의의 가능해를 x라고 할 때,

L(z;λ,μ) =f(z) - λTg(z) -μTh(z) ≥ f(x) - λTg(x) -μTh(x) ≥ f(x). (✻)

마지막 부등호에서 μ≥0를 사용하였다. 또한 z는 가능해이고, KKT세번째 조건 μTh(z) =0 을 사용하면

L(z;λ,μ) =f(z). (✻ ✻)

(✻)과 (✻ ✻)를 결합하면, z는 (P)의 최적해. ⃞

regularity가 충족되면 이미 보인 것처럼 KKT 조건은 충분조건과 동시에 필요조건이 된다. 볼록최적화의 경우 regularity 대신 다음을 사용할 수 있다. “가능해 중에 h(x) <0를 만족하는 것이 존재한다.” Slater 조건.

볼록최적화 KKT 조건

Page 48: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

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

기울기벡터를 사용한 하강 알고리듬의 예 : 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

Page 49: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

이차근사를 사용한 해법을 생각할 수 있다. f(x)=2(x1-2)2+(x2-2)2 =2x1

2 + 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

Page 50: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

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

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

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

Page 51: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

비선형 알고리즘:부등호제약 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*.

Page 52: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

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

로그가 아닌 다른 장벽은?

+∞+∞

0

Page 53: 최적화 - previewpolytope.snu.ac.kr/courses/LP15/NLP-preview(최종본).pdf · 2015-06-01 · 최적화 - preview 최적화 구조 기울기 벡터, 감소방향, 가능방향,

비선형 알고리즘의 종류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.