728x90

 지난 글에서 우리는 convex set이 무엇인지에 대해 알아보았다. 이번 글에서는 convex optimization의 핵심이 되는 convex function과 더불어 strictly convex function, concave function이 무엇인지와 함께 그것의 다양한 예시들에 대해 알아보겠다.

정의

Convex function

 우선, convex function은 어떤 함수 $f$의 정의역이 convex set이고, 다음과 같은 식을 만족하는 함수를 말한다.

convex function의 정의

 즉, convex function은 아래 그림과 같이 정의역이 convex set이고, 이 함수 위의 두 점을 선분으로 이었을 때 해당 선분 위의 모든 점들이 함수의 점보다 위에 있거나 같은 위치에 있는 함수인 것이다. 아래 그림에서 $tf(x_1)+(1-t)f(x_2)$는 선분에서의 y 값을 나타내고, $tx_1+(1-t)x_2$는 함수에서의 y값을 나타낸다.  아래 그림에서 두 점 $x_1$과 $x_2$를 잇는 선분 위의 점은 모두 함수의 점보다 위에 있기 때문에 이 함수는 convex function이다.

convex function

Strictly convex function

 Strictly convex function은 convex function의 정의에서 부등호의 =을 빼면 된다. 이는 아래와 같이 정의된다.

strictly convex function의 정의

 즉, strictly convex function은 아래 그림과 같이 정의역이 convex set이고, 이 함수 위의 두 점을 선분으로 이었을 때 해당 선분 위의 모든 점들이 함수의 점보다 위에 있는 함수이다. 예를 들어, 아래 그림과 같은 함수가 있다고 하자.

convex function이지만 non strictly convex function

위 그림의 함수는 -4에서 4 사이에 있는 두 점을 이으면, 함수의 값과 선분의 값이 일치한다. 그러므로 이는 convex function이지만, strictly convex function은 아닌 함수이다.

Concave function

  Concave function은 $-f$가 convex function인 함수이다. 이를 수식으로 나타내면 아래와 같다.

$$f(tx_1+(1-t)x_2) >= tf(x_1)+(1-t)f(x_2)$$

concave functino의 예시

예시

 Convex function의 대표적인 예시로는 exponential이 있다. $e^{ax}$는 다음과 같은 형태를 가진다.

exponential function

위 그림을 살펴보면, exponential 함수는 항상 두 점을 잇는 선분 위의 점이 함수보다 위에 있거나 같다. 또다른 예시로, max function이 있다. Max function이 convex function임은 다음과 같이 증명할 수 있다. 우선, 어떠한 $x_k$도 $max_{i}x_i$보다 더 클 수 없고, $y$의 경우에도 같기 때문에 다음 식이 만족된다.

 그러므로 우리는, 아래 식이 만족됨을 알 수 있고, max function이 convex function임을 증명할 수 있다.

max function의 convexity

이외에도 negative entropy ($xlogx$)는 $x$가 양수일 때 convex function이고, 모든 norm도 convex function이다. 

 이에 반해 대표적인 convex function으로는 log function이 있다. $log$는 다음과 같은 형태를 지닌다.

log function

 이러한 그림에서 알 수 있듯이, log 함수는 정의역이 양수일 때, 항상 두 점을 잇는 선분 위의 점이 함수보다 아래에 있거나 같다. 

 이번 글에서는 convex function이 무엇인지와 함께 strictly convex function, concave function에 대해 알아보았다. 이것에서 소개된 적절한 convex function을 loss로 정의하고, 이를 gradient descent 등의 방법으로 minimize하는 방법으로 딥러닝 모델들이 학습된다.

References

1. https://math.stackexchange.com/questions/2780443/difference-of-convexity-and-strict-convexity

2. https://en.wikipedia.org/wiki/Convex_function

3. https://math.stackexchange.com/questions/2435464/show-that-max-function-on-mathbb-rn-is-convex

300x250
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기