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

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

Upload: others

Post on 24-Feb-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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

KKT 최적 필요 조건의 원리

볼록성 KKT 필요충분조건

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

참고 : 알고리듬의 종류

Page 2: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

체인모양 결정문제

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

Page 3: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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

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

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

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

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

Page 4: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

(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/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

실험 결과

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

Page 7: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

비선형계획문제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/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

기울기 벡터 (gradient vector)

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

rf(x̄) =⇣

@f

@x1(x̄), @f

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

@xn(x̄)

⌘T

.

rf(x̄)x = x̄

|rf(x̄)|

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

Page 9: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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

일차함수의 기울기 벡터

Page 10: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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

일반함수의 기울기 벡터

Page 11: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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

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 12: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

등고선과 기울기 벡터

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

Page 13: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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 14: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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 15: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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 16: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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

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

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

Page 17: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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�

Page 18: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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 19: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

감소방향 정리

감소방향

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

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

Page 20: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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

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

fx = x̄

rf(x̄) 6= 0

�rf(x̄)

f(x̄)

Page 21: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

감소방향 정리 증명

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

Page 22: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

ℝn 의 경우

감소방향 정리 증명-참고

증가방향정리를 써보라.

Page 23: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

증가 및 감소방향

증가방향 증가방향

감소방향

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

감소방향

Page 24: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

가능 및 불가능 방향

불가능방향 불가능방향

가능방향

제약식의 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

Page 25: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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

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

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

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

Page 26: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

증가방향

가능방향

증가방향

가능방향

∇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 27: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

이를 일반화하면 ‘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 필요 조건의 원리-부등호제약 참고

Page 28: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

[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 29: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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

비선형문제의 예를 보자.

λ1

λ2

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

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

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

Page 30: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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 필요 조건-부등호제약

Page 31: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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

Page 32: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

국지해 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 33: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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

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

Page 34: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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

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

Page 35: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

볼록조합과 볼록집합 Convexity

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

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

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

Page 36: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

현(chord)

볼록함수

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

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

Page 37: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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

z

z - x

Page 38: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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

증명 목적함수를 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 39: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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

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

볼록최적화 가능방향 정리

Page 40: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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

충분조건을 보이기 위해 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.

Page 41: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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

기울기벡터를 사용한 하강 알고리듬의 예 : 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 42: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

이차근사를 사용한 해법을 생각할 수 있다. 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

Page 43: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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

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

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 44: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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

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 45: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

비선형 알고리즘:부등호제약조건 예 : 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 46: 최적화 - previewpolytope.snu.ac.kr/courses/Conv15/NLP-preview.pdf · 감소방향 정리 미분가능한 함수 의 의 기울기벡터 일 때, 이와 둔각을 이루는 y는

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