수학/최적화 공부

1. convex optimization 란?

공부중인학생 2022. 5. 22. 01:52

 

 

최적화를 공부해야하는 이유는? 

 

- 어떤 변수가 존재하고 그 변수에 따른 비용이 존재할 때, 비용을 최저로 줄이는 변수를 찾을 수 있습니다. (효율적이다!)

 

지금 공부할 convex optimization은 convex 형태의 최적화 문제를 푸는 방법입니다.

 

 

convex optimization에는 inequality와 equality라는 조건이 존재합니다. 이 조건들이 만족하는 범위내에서의 변수 중 가장 낮은 cost를 갖는 변수를 찾아야 합니다.

 

우리가 최적화할 함수를 표현할 때는 min f(x)로 표현하고 object function이라고 부릅니다. 그리고 minimize할 때 제한 조건들(constraints)은 다음과 같습니다.

 

1. subject to h(x)=0  (equality)

2. subject to g(x)0 (inequality)

 

 

조금 간단하게 벽지를 사는 문제로 예시를 들어보겠습니다. 벽지를 살 때 간단하게 2가지 조건이 붙는데

  • 첫 번째는 벽과 벽지의 크기가 같아야합니다. (equality)
  • 두 번째는 예상한 금액 안에서 해결해야합니다. (inequality) 

여기서는 cost는 variable이 되고 variable은 벽지의 종류가 될 것입니다. 우선 벽에 딱 맞는 벽지들 중에서 가격을 비교하여 예산안에 들어오는 벽지들을 찾아야합니다. 조건들을 충족하는 선택지를 feasible solution 이라고 합니다. 이때 조건을 충족하는 선택지가 여러 개가 존재할 수 있습니다. 이 feasible solution들을 모아서 feasible set이라고 부릅니다.

 

조건을 만족하는 선택지 중 가장 적은 비용의 선택지를 optimal solution이라고 합니다.

 

- feasible set에 포함되면서 cost를 최소화 시켜주는 solution이 optimal solution

 

 

 

Convex optimizaiton problem의 정의

 

convex optimizaiton problem이 되기 위해서는 object function f(x)가 convex이고 feasible set이 convex여야 합니다.

feasible set이 convex하다는 건 어떤 걸까요?

 

위키백과 - 볼록집합

 

feasible set이 convex하기 위해서는 사진의 첫 번째 집합과 같아야 합니다. 즉 집합에 존재하는 점과 점을 이었을 때 그 선분도 집합에 포함되어야 합니다. 

 

즉 set에 존재하는 모든 x, y에 대해서 αx+(1α)y도 set에 포함되어야 한다는 것입니다. (x, y는 set에 존재하는 임의의 점)

 

xy 같은 경우

 

 

 

다음과 같은 벡터가 만들어집니다. 그리고 여기다 α를 얼마나 곱하냐에 따라 길이가 달라지게 됩니다. 이렇게 만들어진 벡터의 모든 경우가 set에 들어가야합니다. (α는 0~1 사이 값입니다.)

 

이제 convex function에 대해서 알아보겠습니다.

 

 

 

Convex function

 

convex set은 두 점 사이의 점들이 set안에 존재한다는 조건을 만족시키면 됬었습니다.

그럼 convex function은 어떨까요?

 

마찬가지로 함수위에 임의의 두 점을 고르고 그 사이를 선으로 이었을 때 함수값들이 선보다 아래 존재하면 됩니다. 이 선분은 αf(x1)+(1α)f(x2)가 되어서 이 값보다 작으면 됩니다.

 

f(αx1+(1α)x2αf(x1)+(1α)f(x2) 조건을 만족하면 사진과 같은 함수가 나옵니다.

 

다음과 같이 선분보다 작으면 됩니다.

 

convex한 경우 모든 구간에서 미분이 가능한데 이때 두 번 미분하면 양수가 나오게 됩니다. 만약 두 번 미분했을 때 행렬이 만들어진다면 그 행렬이 positive definite matrix가 됩니다.

 

이렇게 feasible set이 convex하고 object function이 convex할 때 convex optimizaiton problem이라고 합니다. convex optimizaiton problem은 local minimum이 optimal solution이 되기 때문에 간단하게 문제를 해결할 수 있습니다.

 

만약 convex optimization problem에서 local minimum을 찾았는데 이 local minimum보다 작은 것이 있다면 그것은 local minimum이 아닙니다. 주변에 더 작은 값이 존재하는 것이기 때문입니다. 

 

왜 전 구간 convex여야만 convex problem일까?

 

 

 

 

사진 속 함수는 전 구간 convex하지는 않지만 부분적으로 convex합니다. (x1에서는 convex 합니다.)

이렇게 된 경우 initialize 과정에서 convex하지 않은 바깥 부분에서는 초기화 할 때 최적화하기가 어려워집니다.

 

 

'수학 > 최적화 공부' 카테고리의 다른 글

2. 최적화 기법들  (0) 2022.06.06