잡학사전/머신러닝

[머신러닝] 컨벡스 함수(convex function)

슬기나무 2022. 5. 24. 23:32
반응형

이번 포스팅에서는 컨벡스 함수(convex function)에 대해 알아보겠습니다.

(출처: 선형대수와 통계학으로 배우는 머신러닝 with 파이썬, 장철원 지음)

 

 컨벡스 함수란?

컨벡스 함수란 만약 함수 $f$의 정의역이 컨벡스 셋(convex set)이고,

 

모든 데이터 포인트 $x_1, x_2, 0\le w \le 1$에 대하여

 

$$f(wx_1 + (1-w)x_2)  \le  wf(x_1)+(1-w)f(x_2) \tag{1}$$

 

를 만족하는 함수 $f$를 컨벡스 함수라고 합니다.

 

해석하면 두 점 $(x_1,f(x_1))$, $(x_2,f(x_2))$ 사이의 선분이

 

함수 $f$의 그래프보다 위에 있어야 한다는 의미입니다.

 

위 부등식을 그림으로 표현하면 아래와 같습니다.

 

convex 함수

 

 

만약 식 (1)에서 등호가 없다면 strictly convex 하다고 합니다.

 

그리고 convex에 반대되는 개념으로 concave라는 개념이 있는데요.

 

만약 함수 -$f$가 convex하다면 $f$는 concave하다고 합니다.

 

 컨벡스 함수 예시

컨벡스 함수는 어떤게 있을까요?

 

1) $f(x) = e^{ax}$

위 함수는 모든 실수에 대해 $a$값과 상관없이 컨벡스합니다.

 

2) $f(x) = |x|$

이 역시 좌표평면에서 v자 형태로 그려지며, 어느 두 점을 찍어서 선분을 그어도 함수보다 위에 존재합니다.

 

3) $f(x) = x^a$

$a \geq 1$ 또는 $a \leq 0$이고 $x \geq 0$ 일 때 컨벡스 합니다.

 

이 외에도 몇가지 있지만 이만 줄이겠습니다.

 

 

여기까지 컨벡스 함수에 대해 알아보았습니다.

반응형