계량투자 실험실 Quantlab

Affinity와 Convexity

Affinity와 Convexity는 머신러닝에서 최적화 (Optimization)의 논리적인 근거를 제공하는 핵심개념이다. Convexity에서 파생되는 Jensen 부등식도 같이 알아본다.

Affine set과 Convex set
convex_fn

Affinity

Affine combination

유한 개의 벡터들로 선형결합 (Linear combination)을 할 때, 모든 계수(coefficient)들의 합이 1인 경우를 Affine combination이라고 한다. rr개의 벡터 x1,,xrx1,,xr 에 대해서, Affine combination은 다음과 같이 표현된다.

λ1x1++λrxrλ1x1++λrxr

여기서 실수 λiλiλ1++λr=1λ1++λr=1 을 만족한다. 유클리드 공간(Euclidean space)에서 임의의 두 점을 선택했을 때, 두 점을 지나는 직선 상의 모든 점들은 Affine combination으로 표현할 수 있다.


Affine set

Affine combination에 대해서 닫혀있는(closed) 집합을 Affine set 이라고 한다. 만약 집합 AA가 Affine set 이라면, 이 집합에서 rr개의 원소 x1,,xrAx1,,xrA 를 임의로 추출했을 때, 해당 원소들의 Affine combination도 AA에 속하게 된다. 즉 λ1++λr=1λ1++λr=1 에 대해서,

λ1x1++λrxrAλ1x1++λrxrA


Affine map

Affine map1이란 Linear map2Translation3이 결합된 형태의 좌표변환을 말한다.

Affine map = Linear map + Translation

구체적으로 기술하자면, Affine set ARnARn 의 원소 xAxA 와 벡터 bRmbRm 및 행렬 ARn×mARn×m 에 대해서 다음과 같은 형태의 함수 h():ARmh():ARm 를 의미한다.

h(x)=ATx+b

위의 Affine map은 좀더 간편한 형태로 변환할 수 있다.

[h(x)1]=[ATb01]M[x1]

여기서 행렬 MR(m+1)×(n+1)Augmented matrix 라고 한다. 다음은 여러가지 형태의 Augmented matrix M에 따른 Affine map을 보여준다.


convex_fn
(출처: 위키피디아)


Convexity

Convex combination

Affine combination에서 모든 계수들이 0 이상이라는 추가적인 제약조건이 있는 경우를 Convex combination 이라고 한다. r개의 벡터 x1,,xr에 대해서, Convex combination은 다음과 같이 표현된다.

λ1x1++λrxr

여기서 실수 λiλi0λ1++λr=1 을 만족한다. 유클리드 공간에서 임의의 두 점을 선택했을 때, 두 점을 잇는 직선 사이의 모든 점들은 Convex combination으로 표현할 수 있다.


Convex set

Convex combination에 대해서 닫혀있는 집합을 Convex set 이라고 한다. 만약 집합 S가 Convex set 이라면, 이 집합에서 r개의 원소 x1,,xrS 를 임의로 추출했을 때, 해당 원소들의 Convex combination도 S에 속하게 된다. 즉 λi0λ1++λr=1 에 대하여,

λ1x1++λrxrS

정의에 의해, 모든 Affine set은 Convex set 이라고 할 수 있다.


convex_set
(출처: 위키피디아)


Convex function

Convex set S에서 추출된 원소들 x1,x2S 와 실수 λ[0,1]에 대하여, 함수 f():SR가 다음의 부등식을 만족할 때, 이 함수를 Convex function이라고 부른다.

f(λx1+(1λ)x2)λf(x1)+(1λ)f(x2)

쉽게 말해서 Convex function은 아래로 볼록 함수를 일컫는다. 다음 차트를 보면, S=[a,b]R 인 경우에 대해 직관적으로 이해할 수 있을 것이다.

Convex function의 형태
convex_fn
(출처: https://am207.github.io)


만약 f가 Convex function이라면, 이 경우의 함수 fConcave function (위로 볼록 함수)이라고 부른다.


Strictly convex function

모든 x1x2Sλ(0,1)에 대하여 다음의 부등식이 성립하는 경우, 이 함수 f():SRStrictly convex function 이라고 한다.

f(λx1+(1λ)x2)<λf(x1)+(1λ)f(x2)

참고로 Affine function은 Strictly convex function에 포함되지 않는다. 만약 f가 affine function 이라면, x1x2 에 대해서 윗식의 등호가 성립하며, 이는 Strictly convex function의 정의에 어긋나게 된다. 따라서 Strictly convex function은, Convex function 중 선형(Linear)인 구간이 전혀 없는 함수로 이해할 수 있다. 만약 f가 Strictly convex function이라면, 이 경우의 함수 fStrictly concave function 이라고 부른다.


비교: Combinations and Sets

유한 개의 벡터 x1,,xrλiR 에 대하여 Affine combination과 Convex combination은 다음과 같이 선형결합(Linear combination)으로 나타낼 수 있다.

λ1x1++λrxr

단 제약조건이 다르다.

Affine combination
Convex combination
ri=1λi=1 ri=1λi=1, λi[0,1]

Affine set과 Convex set은 각각 Affine combination과 Convex combination에 닫혀있는 공간을 의미한다. 임의의 원소 x1,x2가 포함되어 있는 최소한의 Affine set과 Convex set을 구성해보면 다음 그림과 같다. 4


convex_fn

참고로 Linear subspace란, 제약조건이 없는 모든 선형결합에 대해서 닫혀있는 공간을 뜻한다.


Convex + Concave = Affine map

어떤 함수가 아래로 볼록(convex)이면서 동시에 위로 볼록(concave)이라면, 직관적으로 이 함수는 선형함수일 것으로 예상된다. 보다 명확하게 서술하면 다음과 같다.

Affine set ARn에서 정의된 함수 f():AR 에 대하여,

(f:Affine)  (f:Convex & Concave)


Proof.

(1)

함수 f가 Affine map 이라고 하자. 정의에 의해, 벡터 aRn과 상수 bR 에 대하여 f(x)=aTx+b 로 나타낼 수 있다. Affine set A는 Convex set이므로, x1,x2Aλ[0,1] 에 대하여,

f(λx1+(1λ)x2)=aT(λx1+(1λ)x2)+b=λ(aTx1+b)+(1λ)(aTx2+b)=λf(x1)+(1λ)f(x2)

즉 다음 두 개의 부등식,

f(λx1+(1λ)x2)λf(x1)+(1λ)f(x2)f(λx1+(1λ)x2)λf(x1)+(1λ)f(x2)

을 동시에 만족하게 되고, 따라서 함수 f는 Affine set A에서 Convex 및 Concave 하게 된다.


(2)

함수 f가 Convex & Concave 하다고 가정하자. f를 Affine map 의 형태로 유도하면 증명이 완성된다. 그런데 한 가지 문제가 있다. 아래의 증명을 전개하는 과정에서 Affine set A가 반드시 원점을 포함해야 한다는 논리가 필요한데, 그렇다는 보장이 없다. 좌표변환을 통해, 원점을 포함하는 Affine set Ao 를 새롭게 정의해보자.

임의의 αA에 대하여, Affine set A 전체를 α 만큼 좌표변환한 집합 Ao을 다음과 같이 정의하면,

Ao={xαxA}0

Ao는 원점을 포함하게 된다. 과연 Ao는 Affine set 일까? 임의의 ziAoθ1++θr=1 에 대하여,

xizi+αAθ1x1++θrxrlet=yA

라고 하면,

θ1z1++θrzr=ri=1θi(xiα)=ri=1θixiα=yαAo

따라서 Ao원점을 지나는 Affine set 이라고 할 수 있다. 이제 Ao 에서 정의된 함수 g():AoR 를 다음과 같이 새로 정의한다.

g(z)f(z+α)f(α)

여기서 g(0) =0 임을 알 수 있다. 함수 g 은 다음의 세 가지 특성을 가지고 있는데, 이들을 추가적으로 증명해보자.

  1. [Convex & Concave] f와 마찬가지로, g는 Convex & Concave 하다
  2. [Multiplication] 모든 zAo 와 실수 γ0에 대하여, g(γz)=γg(z)
  3. [Additivity] z1,z2Ao에 대하여, g(z1+z2)=g(z1)+g(z2)


1. Convex & Concave

가정에 의해 함수 f가 Convex & Concave 하므로, z1,z2AokR 에 대하여,

g(kz1+(1k)z2)=f(kz1+(1k)z2+α)f(α)=f(k(z1+α)+(1k)(z2+α))f(α)=kf(z1+α)+(1k)f(z2+α)f(α)=k(g(z1)+f(α))+(1k)(g(z2)+f(α))f(α)=kg(z1)+(1k)g(z2)

따라서 g 역시 Convex & Concave 하다.


2. Multiplication

g(γz)=g(γz+(1γ)0)=γg(z)+(1γ)g(0)=γg(z)
g(z)=g(1γγz+(11γ)0)=1γg(γz)+(11γ)g(0)=1γg(γz)
 g(γz)=γg(z)

따라서 모든 γ0 에 대하여 g(γz)=γg(z) 임을 알 수 있다.


3. Additivity

바로 위에서 증명한 Multiplication과, g가 Convex & Concave하다는 사실을 이용한다.

g(z1+z2)=g(122z1+122z2)=12g(2z1)+12g(2z2)=g(z1)+g(z2)


위의 3 가지를 모두 증명하였다. 이제 마지막으로, 함수 g를 Affine map의 형태로 유도해보자. 임의의 원소 zAoRn 는 표준 베이시스5 eiRn의 선형결합으로 기술할 수 있고,

z=z1e1++znen

위에서 증명한 Multiplication과 Additivity을 이용하면,

g(z)=g(z1e1++znen)=z1g(e1)++zng(en)=[g(e1)g(en)]z

따라서 임의의 x=z+αA 에 대하여,

f(x)=g(xα)+f(α)=[g(e1)g(en)](xα)+f(α)=[g(e1)g(en)]x+f(α)[g(e1)g(en)]α

여기서 벡터 a=[ai]Rn 와 상수 bR 을 다음과 같이 정의하면,

ai=g(ei)b=f(α)aTα

함수 f 는 결국 Affine map의 형태가 된다.

f(x)=aTx+b


Jesen 부등식

Jensen 부등식

Convex set S 에서 정의된 Convex function 6 f():SR 가 있다. 임의의 xiSλi(0,1) 에 대하여, λ1++λr=1 라고 할 때, 다음의 부등식이 성립한다. 이를 Jensen 부등식이라고 한다.

f(ri=1λixi)ri=1λif(xi)


Proof.

귀납법 (Induction)으로 쉽게 증명할 수 있다. n=2 인 경우의 Jensen 부등식은 Convex function의 정의에 의해 자명하다. n=k 에 대해서도 다음의 부등식이 성립한다고 가정하자.

f(ki=1λixi)ki=1λif(xi)

이제 n=k+1 에 대해서 식을 전개하면,

f(k+1i=1λixi)=f(ki=1λixi+λk+1xk+1)=f((1λk+1)ki=1λi1λk+1xi+λk+1xk+1)(1λk+1)f(ki=1λi1λk+1xi)+λk+1f(xk+1)

여기서 λi1λk+1let=ηi 로 치환하면,

ki=1ηi=λ1++λk1λk+1=1λk+11λk+1=1

이고, n=k 에 대해서 Jensen 부등식이 성립한다고 했으므로,

(1λk+1)f(ki=1ηixi)(1λk+1)ki=1ηif(xi)=(1λk+1)ki=1λi1λk+1f(xi)=ki=1λif(xi)

따라서 다음과 같이 증명이 완성된다.

f(k+1i=1λixi)ki=1λif(xi)+λk+1f(xk+1)=k+1i=1λif(xi)


Jensen 부등식에서의 등호조건

Jensen 부등식에서 등호가 성립한다면, 다음의 둘 중 하나가 참이다.


Proof.

Jensen 부등식의 등호가 성립한다고 가정하자.

f(ri=1λixi)=ri=1λif(xi)


Strictly convex function의 Jensen 부등식

Jensen 부등식에서 함수 f가 Strictly convex function 이라면,

x1==xr  f(ri=1λixi)=ri=1λif(xi)


Proof.

(1) 자명하다

(2) Jensen 부등식에서 등호가 성립한다면, x1==xr 거나 f가 Affine map 이어야 한다. 그런데 가정에서 f는 Strictly convex 하므로, 따라서 x1==xr 인 경우밖에 없다.


확률변수의 Jensen 부등식

Convex function f():SR 과 확률변수 X에 대하여 다음의 부등식이 성립한다.

f(E[X])E[f(X)]

만약 f가 Strictly convex function 이라면,

f(E[X])=E[f(X)]X=Const


이산확률변수의 Jensen 부등식은 자명하다. 연속확률변수인 경우의 증명은 생략한다. 대신, 확률변수의 Jensen 부등식을 직관적으로 이해해보자. 아래 차트는 Convex function φ 로 인해, 확률변수 X의 분포가 φ(X) 로 어떻게 mapping 되는 지를 보여준다.

jensen_graph
(출처: 위키피디아)

원래의 X의 분포(예시)는 왼쪽으로 꼬리가 길게 늘어져있고, 이에따라 X의 기대값 E[X]은 다소 왼쪽에 위치하게 된다. 하지만 Convex function의 독특한 형태로 인해 X 분포의 오른쪽 부분이 확장(Stretching-out) 변환되면서, 확률변수 Y=φ(X)의 분포 상단이 점차 늘어지는 모양이 되었다. 결과적으로 Y의 기대값 E[Y]을 위로 밀어올리게 되면서, φ(E[X])E[Y]=E[φ(X)] 의 관계를 도출하게 되는데, 이것이 바로 확률변수의 Jensen 부등식인 것이다.

  1. Affine transformation, Affine function 이라고도 한다. 여기를 참고. 

  2. 선형변환, Linear transformation, Linear function 이라고도 한다. 여기를 참고. 

  3. 평행이동 변환을 의미한다. 여기를 참고. 

  4. 이처럼 어떤 집합(그림에서는 {x1,x2})을 포함하고 있는 최소한의 Affine set과 Convex set을 각각 Affine hull, Convex hull 이라고 부른다. 

  5. i 번째 항목만 1 이고 나머지는 0인 벡터를 말한다. 기저 (Standard basis)라고도 한다. 

  6. f가 Concave function 인 경우에는 부등호의 방향이 반대가 된다. f(ni=1λixi)ni=1λif(xi)