ML basics - Probability Distributions 2

20 minute read

가우시안 분포 (Gaussian Distribution)Permalink

gaussian-dist

a single variable x:

N(x|μ,σ2)=1(2πσ2)1/2exp{12σ2(xμ)2}

a D-dimensional vector x:

N(x|μ,Σ)=1(2π)D/21|Σ|1/2exp{12(xμ)TΣ1(xμ)}
  • x is a D-dimensional mean vector.
  • Σ is a D×D covariance matrix.
  • |Σ| denotes the determinant of Σ.
1(2π)D/21|Σ|1/2exp{12(xμ)TΣ1(xμ)}

이 값은 scalar 값이라는 사실을 볼 수 있다.
이유:

  • Σ가 행렬이지만 여기서 determinant(|Σ|)을 구했기 때문에.
  • 지수부(exp)는 이차형식이기 때문에 역시 scalar.
    따라서 결과 값은 scalar값이다.

단일변수 x 이던지 D차원의 벡터이던지 간에 가우시안 분포가 주어졌을 때 어떤 것이 확률변수이고 확률의 파라미터인지 잘 구분하는 것이 중요하다. x가 확률변수이고 μΣ가 파라미터. 유의할 점은 가우시간 분포가 주어졌을 때, 평균과 분산이 주어진 것이 아니고, 이것들이 파라미터로 주어진 확률밀도 함수의 평균과 공분산이 μΣ(sum)이 된다는 것이다.

유의할 점은 가우시간 분포가 주어졌을 때, 평균과 분산이 주어진 것이 아니고, 이것들이 파라미터로 주어진 확률밀도 함수의 평균과 공분산이 μΣ이 된다는 것이다.

가우시안 분포가 일어나는 여러가지 상황Permalink

1. 정보이론에서 엔트로피를 최대화시키는 확률분포Permalink

영상보고 정리할 것

2. 중심극한정리Permalink

영상보고 정리할 것

가우시안 분포의 기하학적인 형태Permalink

  • x에 대한 함수적 종속성은 지수부에 등장하는 이차형식(quadratic form)에 있다.
Δ2=(xμ)TΣ1(xμ)

(xμ)TΣ1(xμ) 이러한 형태의 이차형식이 가우시안 분포에서 핵심적인 부분이다.

  • Σ가 공분산으로 주어진 것이 아니기 때문에 처음부터 이 행렬이 대칭이라고 생각할 필요는 없다. 하지만 이차형식에 나타나는 행렬은 오직 대칭부분만이 그 값에 기여한다는 사실을 기억하자.
xTAx=(xTAx)T=xTATx=xT(12A+12AT)x

따라서 Σ가 대칭행렬인 것으로 간주할 수 있다.

  • 대칭행렬의 성질에 따라서 Σ를 아래와 같이 나타낼 수 있다.
Σ=UTΛU U=[u1Tu2TuDT],Λ=diag(λ1,,λD) Σ=UTΛU=[| |  |u1 u2  uD| |  |]diag(λ1,,λD)[u1Tu2TuDT]=[| |  |u1λ1 u2λ2  uDλD| |  |][u1Tu2TuDT]=i=1DλiuiuiT
  • Σ1도 쉽게 구할 수 있다.
Σ1=i=1D1λiuiuiT
  • 이차형식은 다음과 같이 표현될 수 있다.
Δ2=i=1Dyi2λi yi=uiT(xμ)

gaussian-quadratic-form

  • 벡터식으로 확장하면
y=U(xμ)

gaussian-quadratic-form-vector

  • y를 벡터들 μi에 의해 정의된 새로운 좌표체계 내의 점으로 해석할 수 있다. 이것을 기저변환(change of basis)이라고 한다.
y=U(xμ)xμ=U1y=UTy=[| |  |u1 u2  uD| |  |]y
  • xμ: standard basis에서의 좌표
  • y: basis {u1,u2,,uD}에서의 좌표

elliptical surface of constant proba-bility density for a Gaussian ina two-dimensional space

y는 coefficient들을 모아논 값.
red circle: x1, x2 좌표내에서 점들의 집합이 동일한 분포를 갖는다.
고유벡터 u1ud까지를 basis로 하는 좌표계에서는 차원을 이루고 그 모양은 고유값들에 의해 결정된다.

가우시안 분포의 Normalization 증명Permalink

  • 확률이론시간에 배운 확률변수의 함수를 복습하라. y의 확률밀도함수를 구하기 위해서 Jacobian J를 구해야 한다.
Jij=xiyi=Uij=(UT)ij

jacobian-x-y

결국 J=UT라는 사실을 알 수 있다.

|J|2=|UT|2=|UT||U|=|UTU|=|I|=1
  • 행렬식 |Σ|는 고유값의 곱으로 나타낼 수 있다.
|Σ|1/2=j=1Dλi1/2
  • 따라서, y의 확률밀도함수는
p(y)=p(x)|J|=j=1D1(2πλj)1/2exp{yj22λj}

gaussian-y-pdf

  • y의 normalization
p(y)dy=j=1D1(2πλj)1/2exp{yj22λj}dyj=1

적분을 하게 되면 D개의 y variables이 각각 다른 변수들이기 때문에 D개의 적분의 곱으로 나타낼 수 있다.
따라서단일변수의 가우시안 분포와 같다. 이미 단일 변수일 경우 normalize되었다는 것을 확인했기 때문에 이를 D번 곱해주는 결과와 같게 된다.

가우시안 분포의 기댓값Permalink

μΣ가 정의된 것이 아니라 단순히 함수의 파라미터로 주어져있는데 기댓값과 공분산의 정의를 통해 식을 유도하다 보면 μΣ가 가지는 의미를 찾을 수 있게 될 것이다. 결국 μ가 확률분포의 기댓값이 되고 Σ가 확률분포의 공분산이 될 것임

다변량(multivariate) 확률변수의 기댓값Permalink

  • x=(x1,,xn)T
  • E[x]=(E[x1],,E[xn])T
  • E[x1]=x1p(x1)dx1=x1(p(x1,,xn)dx2,,dxn)dx1=x1p(x1,,xn)dx1,,dxn

x가 벡터일 때 x의 기댓값도 벡터가 된다.
x1의 기댓값을 정의했을 때, x1p(x1)을 곱한 값을 적분한 값이 된다. x1p(x1)dx1
p(x1)이라는 것은 marginalization(주변화)를 통해서 구할 수 있을 것이다.
p(x1,,xn)dx2,,dxn : joint probability의 pdf p(x1,,xn)가 주어졌을 때 x1을 제외한 나머지 모든 값들에 대해 적분을 하게 되면 주변화를 통해 p(x1)의 값이 구해지게 되는 것이다.
정리하면, x1에 joint probability의 pdf( p(x1,,xn) )를 곱하고 x1,,xn까지 모든 변수에 대해 적분을 하면 x1의 기댓값이 된다.

E[x]=p(x)xdx

가우시안 분포의 기댓값Permalink

E[x]=1(2π)D/21|Σ|1/2exp{12(xμ)TΣ1(xμ)}xdx=1(2π)D/21|Σ|1/2exp{12zTΣ1z}(z+μ)dz by z=xμ

z와 \(\boldsymbol{\mu\) 부분을 고려하면 된다.

z에 관한 적분:
지수함수를 포함한 부분이 odd function이기 때문에 결국 적분의 결과 값은 0이 된다.

exp{12zTΣ1z}zdz=|J|exp{12i=1Dyi2λi}ydy by z=j=1Dyjuj,yj=UjTz=[exp{12i=1Dyi2λiy1dy1,,dyD}exp{12i=1Dyi2λiyDdy1,,dyD}] exp{12i=1Dyi2λi}y1dy1,,dyD=(0exp{12i=1Dyi2λi}y1dy1+0exp{12i=1Dyi2λi}y1dy1)dy2dyD=(0exp{12i=1Dyi2λi}y1dy1+0exp{12i=1Dyi2λi}(y1)dy1)dy2dyD=0

남은 μ 부분은 z와는 독립적이기 때문에 위의 적분식 바깥으로 나갈 수 있다.

μ가 나가고 남는 부분은 기본적인 가우시안 분포이기 때문에 적분을 하게 되면 1이 된다.

따라서 μ×1이 되기 때문에,

E[x]=μ

가우시안 분포의 공분산Permalink

공분산을 구하기 위해서 먼저 2차 적률(second order moments)을 구한다.

2차 적률: 단일변수일 경우 제곱의 기댓갑을 의미하고, 벡터일 경우 xxT의 기댓값을 의미한다.

예를 들어, x가 2차원일 경우:

x=[x1x2] 이고,

xxT는 외적이 되기 때문에 여전히 행렬이다.

E[xxT]=p(x1,x2)xxTdx1dx2=p(x1,x2)[x1x1x1x2x2x1x2x2]dx1dx2=[p(x1,x2)x1x1dx1dx2p(x1,x2)x1x2dx1dx2p(x1,x2)x2x1dx1dx2p(x1,x2)x2x2dx1dx2]

E[xxT]=1(2π)D/21|Σ|1/2exp{12(xμ)TΣ1(xμ)}xxTdx=1(2π)D/21|Σ|1/2exp{12zTΣ1z}(z+μ)(z+μ)Tdz

E[xxT]D×D 행렬임을 기억하라. zUTy로 치환하면

z=UTy=[| u1 | ]y=Σuiyi zzT=(Σuiyi)(ΣujTyj)=ΣiΣjuujTyiyj

이러한 이차형식을 y에 관한 합의 형태로 나타낼 수 있다.
zΣ1zT=(UTy)TΣ1(UTy)=(yTU)(UTΛ1U)(UTy)=yTΛ1y=Σi=1DΣj=1DΛij1yiyj=Σi=1D1Λiyi2

Σ1=UTΛ1U를 활용.
Λij1이 대각행렬이기 때문에 남는 부분은 대각선 원소이다.

1(2π)D/21|Σ|1/2exp{12zTΣ1z}zzTdz=1(2π)D/21|Σ|1/2i=1Dj=1DuiujTexp{12k=1Dyk2λk}yiyjdy

1(2π)D/21|Σ|1/2exp{12zTΣ1z}zzTdz 이 적분은 하나의 행렬이다. 1(2π)D/21|Σ|1/2i=1Dj=1DuiujTexp{12k=1Dyk2λk}yiyjdy 이 부분은 행렬들을 계속 더한 부분이다. i=1Dj=1DuiujT D×D개의 개수만큼 행렬을 더한 것이다. D×D개의 행렬중에서 ij인 모든 경우에 그 행렬들이 영행렬이 된다는 사실이다.

행렬 1(2π)D/21|Σ|1/2i=1Dj=1DuiujTexp{12k=1Dyk2λk}yiyjdyD2개의 행렬의 합인데 그 중 ij인 모든 경우 영행렬이 된다.

ijexp{12k=1Dyk2λk}yiyjdy=yi[exp{12k=1Dyk2λk}yidyi]dy{yi}
=0

위 식에서 yi에 대해 적분을 하게 되면 yj는 앞으로 나가게 되고, [exp{12k=1Dyk2λk}yidyi] 이 부분은 odd function이 된다. 따라서 0이 되기 때문에 전체가 0이 되는 것이다.

1(2π)D/21|Σ|1/2i=1Dj=1DuiujTexp{12k=1Dyk2λk}yiyjdy 이것은 행렬들의 합이라고 했는데, 그 합들 중에서 살아남는 부분은 i=j 일때만 살아남게 되는 것이다.

따라서,

아래의 식에서 summation이 두개 (i=1Dj=1DuiujT)가 있었지만 i=j일 경우에만 있으면 되기 때문에 i=1DuiujT로 변환한다.

합의 형태로 된 지수부 exp{12k=1Dyk2λk}를 곱의 형태로 바꿔준다.

[k={1,,D}{i}exp{12yk2λk}dyk] 이 부분은 1이 될 것이고, [exp{12yk2λk}yi2dyi] 이 부분도 단일변수의 성질을 이용해서 λi가 된다.

1(2π)D/21|Σ|1/2i=1Dj=1DuiujTexp{12k=1Dyk2λk}yiyjdy=1(2π)D/21|Σ|1/2i=1Di=1DuiuiTexp{12k=1Dyk2λk}yi2dy=i=1DuiuiT[1(2π)D/2j=1D1λj1/2][k={1,,D}{i}exp{12yk2λk}dyk][exp{12yk2λk}yi2dyi]=i=1DuiuiTλi=Σ

k={1,,D}{i}: set - set의 의미이다. 따라서 k가 1부터 D까지 중에서 i가 아닌 모든 경우에 대해서.

E[xxT]=μμT+Σ

E[xxT]=1(2π)D/21|Σ|1/2exp{12(xμ)TΣ1(xμ)}xxTdx=1(2π)D/21|Σ|1/2exp{12zTΣ1z}(z+μ)(z+μ)Tdz 이 식에서,
zzT와 관련된 부분이 Σ가 됨을 보였고, z×μT 부분, μ×zT 부분, μ×μT 부분을 안했지만, z×μT 이것은 기댓값을 할때 odd function을 사용해서 사라지게 되고, μ×μT만 남게 되는데, 앞에 있는 {12zTΣ1z}에 대해서는 별개이기 때문에 적분앞으로 나가서 결과적으로 μμT만 남게 되는 것이다.

결과적으로

E[xxT]=μμT+Σ

이 식이 완성된다.

확률변수의 벡터 x를 위한 공분산은 다음과 같이 정의된다.

cov[x]=E[(xE[x])(xE[x])T]

위의 결과를 이용하면 공분산은

cov[x]=Σ

확률변수 벡터 x가 가우시안 분포를 따를 때, 그 분포의 파라미터로 주어져 있던 μ가 바로 그 분포의 평균이 되고, 파라미터로 주어져 있던 Σ가 공분산이 된다는 사실을 알게 됨.

조건부 가우시안 분포 (Conditional Gaussian Distribution)Permalink

D차원의 확률변수 벡터 x가 가우시안 분포 N(x|μ,σ)를 따른다고 하자. x를 두 그룹의 확률변수들로 나누었을 때, 한 그룹이 주어졌을 때 나머지 그룹의 조건부 확률도 가우시안 분포를 따르고, 각 그룹의 주변확률 또한 가우시안 분포를 따른다는 것을 보이고자 한다.

x가 다음과 같은 형태를 가진다고 하자.

x=[xaxb]

xaM개의 원소를 가진다고 하자. 그리고 평균 벡터와 공분산 행렬은 다음과 같이 주어진다고 하자.

xaM개의 원소를 가진다고 했기 때문에, xbDM개의 원소를 가진다.

μ=[μaμb] Σ=[ΣaaΣabΣbaΣbb]

때로는 공분산의 역행렬, 즉 정확도 행렬(precision matrix)을 사용하는 것이 수식을 간편하게 한다.

Λ=Σ1 Λ=[ΛaaΛabΛbaΛbb]

ΣΛ는 symmetric 이다. 따라서 ΣabT=Σba이고 ΛabT=Λba

Λ=Σ1라고 해서 각각의 작은 행렬들에 대해서는 성립하지 않는다. 따라서, Σaa1Λaa이다.

지수부의 이차형식을 위의 파티션을 사용해서 전개해보자.

z=[xaxb][μaμb]=[zazb] zTΛz=zT[ΛaaΛabΛbaΛbb]=[zT[ΛaaΛba]zT[ΛabΛbb]]z

여기서 사이즈를 먼저 확인하자. zT[ΛaaΛba] 이것은 1×M이고 zT[ΛabΛbb] 이것은 1×(DM)이다.

=[zaTΛaa+zbTΛbazaTΛab+zbTΛbb]z =zaTΛaaza+zbTΛbaza+zaTΛabzb+zbTΛbbzb

따라서 위에서 z에 관해서 정의한 것을 다시 xμ에 대한 관계식으로 넣어준다면, za=(xaμa)가 되기 때문에 이 식을 아래처럼 바꿔줄 수 있는 것이다.

12(xμ)TΣ1(xμ) =12(xaμa)TΛaa(xaμa)12(xaμa)TΛab(xbμb)12(xbμb)TΛba(xaμa)12(xbμb)TΛbb(xbμb)

xa에 대한 조건부 확률을 구할 준비가 되었다.

xb가 주어졌을 때 xa의 조건부확률 (p(xa|xb))을 구하는 것이다.

완전제곱식 (Completing the Square) 방법Permalink

단일 변수일 경우, x2ax+(a2)2(a2)2=(xa2)2(a2)2 이렇게 되는 것이 완전 제곱식이다.

완전제곱식을 사용해서 곱의 형태로 나타내기 위해서 사용한다.

확률밀도함수 p(xa,xb)p(xa,xb)=g(xaα)로 나타낼 수 있다고 하자. 여기서 αxa와 독립적이고 g(xa)dxa=1이다. 따라서

p(xa,xb)dxa=g(xa)αdxa=αg(xa)dxa=α α=p(xb)

α는 위의 식에서 xa에 대해 적분했기 때문에 결과적으로 p(xb)라는 xb의 주변확률이 되는 것이다.

p(xa,xb)=g(xa)p(xb)

이것을 다시 원래의 식에 대입을 해보면 g(xa)p(xb)가 되는 것이다.

g(xa)=p(xa|xb)

따라서 g(xa)는 결국 조건부확률이 되는 것이다.

위 과정을 통해 원래의 결합확률 분포를 변형시켜서 함수 g(xa)를 찾는 것이 목표이다.


이차형식과 완전제곱식의 관계Permalink

τ를 사용해서

12xaTAxa+xaTm=12xaTAxa+xaTmτ+τ
=12(xa?)TA(xa?)+τ
p(xa,xb)=aexp{12(xa?)TΛaa(xa?)}exp{τ}

xa관한 분포함수를 normalize 시키기 위해 상수b를 구하게 되면

=bexp{12(xa?)TΛaa(xa?)}abexp{τ}

bexp{12(xa?)TΛaa(xa?)} 이 부분을 g(xa)라고 볼 수 있고, 나머지 abexp{τ}α라고 볼 수 있다.

이처럼, 주어진 가우시안 분포함수를 변형시켜서 조건부확률을 구할 수 있게 되는 것이다.

알아야 할 것은 조건부확률의 평균과 공분산 값이다. 이 것을 알기 위해서 굳이 bτ값을 계산할 필요는 없다.


가우시안 분포의 지수부는 다음과 같이 전개된다는 것이 중요한 포인트이다.

12(xμ)TΣ1(xμ)=12(xTμT)Σ1(xμ)=12(xTΣ1μTΣ1)(xμ)=12(xTΣ1xμTΣ1xxTΣ1μ+μTΣ1μ)=12xTΣ1x+xTΣ1μ+const

여기서 상수부 constx와 독립된 항들을 모은 것이다. 따라서 어떤 복잡한 함수라도 지수부를 정리했을 때 12xTΣ1x+xTΣ1μ+const의 형태가 된다면 이 함수는 공분산 행렬 Σ와 평균벡터 μ를 가지는 가우시안 분포임을 알 수 있다. x에 관한 이차항과 일차항의 계수를 살피면 된다는 것이다.

12(xaμa)TΛaa(xaμa)12(xaμa)TΛab(xbμb)12(xbμb)TΛba(xaμa)12(xbμb)TΛbb(xbμb)에서 xa의 이차항은

12xaTΛaaxa

이다. 따라서 공분산은

a|b=Λaa1

이다. 이제 평균벡터를 구하기 위해서는 xa의 일차항을 정리하면 된다. xa의 일차항은

12xaTΛaa(ua)+12uaTΛaa(xa)xaTΛaaua 뒤의 항에 Transpose를 시키면 앞뒤가 같은 항이 된다.

12xaTΛab(xbub)12(xbub)TΛbaxaxaTΛab(xbub) 역시 마찬가지로 transpose

위의 결과 2개를 더한 값이 바로 xa의 일차항이 된다.

xaT{ΛaaμaΛab(xbμb)}

xa의 일차항의 계수는 Σa|b1μa|b 이어야 하므로

일차항의 계수는 공분산의 역행렬에 μ가 되어야 하기 때문에, 일차항의 계수 {ΛaaμaΛab(xbμb)}에다가 Σa|b행렬을 곱해주면 된다. 이 때 Σa|b=Λaa1이기 때문에 Λaa1을 곱해준다.

μa|b=Σa|b{ΛaaμaΛab(xbμb)}=μaΛaa1Λab(xbμb)

주변 가우시안 분포 (Marginal Gaussian Distribution)Permalink

다음과 같은 주변분포를 계산하고자 한다.

p(xa)=p(xa,xb)dxb

전략은 다음과 같다.

p(xa)=p(xa,xb)dxb=αexp{12(xμ)TΣ1(xμ)}dxb=αexp{f(xb,xa)+g(xa)+const}dxb=αexp{f(xb,xa)τ+τ+g(xa)+const}dxb=αexp{f(xb,xa)τ}exp{τ+g(xa)+const}dxb=αexp{τ+g(xa)+const}exp{f(xb,xa)τ}dxb=αβexp{τ+g(xa)+const}
  • 위에서 함수 f(xb,xa)는 원래 지수부를 xa,xb파티션을 통해 전개한 식 중에서 xb을 포함한 모든 항들을 모은 식이다. 그리고 g(xa)f(xb,xa)에 포함된 항들을 제외한 항들 중 xa를 포함한 모든 항들을 모은식이다. const는 나머지 항들을 모은 식이다.
  • f(xb,xa)τxb을 위한 완전제곱식이다.
  • αexp{τ+g(xa)+const}xb와 독립적이므로 적분식 밖으로 나갈 수 있다.
  • τ+g(xa)xa의 완전제곱식으로 만들면 xb의 평균벡터와 공분산행렬을 구할 수 있다.

파티션을 위한 이차형식을 다시 살펴본다.

12(xμ)TΣ1(xμ) =12(xaμa)TΛaa(xaμa)12(xaμa)TΛab(xbμb)12(xbμb)TΛba(xaμa)12(xbμb)TΛbb(xbμb)

이 식을 전부 펼치면 총 16개의 항이 있게 된다. 이 중 xb를 포함한 항들의 개수는 7개, 나머지 중에서 x를 가진 항의 개수는 5개이다.

f(xb,xa)=12xbTΛbbxb+12xbTΛbbμb+12μbTΛbbxb12xbTΛbaxa+12xbTΛbaμa12xaTΛabxb+12μaTΛabxb=12xbTΛbbxb+xbT{ΛbbμbΛba(xaμa)} g(xa)=12μbTΛbaxa+12xaTΛabμb12xaTΛaaxa+12xaTΛaaμa+12μaTΛaaxa=12xaTΛaaxa+xaT(Λaaμa+Λabμb)

아래와 같이 f(xb,xa)를 완전제곱식으로 만든다.

12xbTΛbbxb+xbTm=12(xbΛbb1m)TΛbb(xbΛbb1m)+12mTΛbb1m

where m=ΛbbμbΛba(xaμa)

따라서 τ=12mTΛbb1m이고

exp{f(xb,xa)τ}dxb=exp{12(xbΛbb1m)TΛbb(xbΛbb1m)}dxb

이 값은 공분산 Λbb에만 종속되고 xa에 독립적이므로 αβexp{τ+g(xa)+const}의 지수부에만 집중하면 된다.

마지막으로 τ+g(xa)+const를 살펴보자.

τ+g(xa)+const=12mTΛbb1m12xaTΛaaxa+xaT(Λaaμa+Λabμb)+const=12xaT(ΛaaΛabΛbb1Λba)xa+xaT(ΛaaΛabΛbb1Λba)μa+const

따라서 공분산은

Σa=(ΛaaΛabΛbb1Λba)1

이고, 평균 벡터는

Σa(ΛaaΛabΛbb1Λba)μa=μa

공분산의 형태가 복잡하게 보이지만 Schur complement를 사용하면

(ΛaaΛabΛbb1Λba)1=Σaa

임을 알 수 있다. 정리하자면

- E[xa]=μa

- cov[xa]=Σaa

가우시안 분포를 위한 베이즈 정리 (Bayes’ Theorem for Gaussian Variables)Permalink

p(x)p(y|x)가 주어져 있고 p(y|x)의 평균은 x의 선형함수이고 공분산은 x와 독립적이라고 하자. 이제 p(x)p(y|x)를 구할 것이다. 이 결과는 다음 시간에 배울 선형회귀(베이지안) 주요 내용을 유도하는 데 유용하게 쓰일 것이다.

p(x)p(y|x)가 다음과 같이 주어진다고 하자.

p(x)=N(x|μ,Λ1)
p(y|x)=N(y|Ax+b,L1)

p(x|x)의 평균이 x 에 관한 선형함수임을 기억하자.

먼저 z=[xy]를 위한 결합확률분포를 구하자. 이 결합확률분포를 구하고 나면 p(yp(x|y)는 앞에서 얻은 결과에 의해 쉽게 유도할 수 있다. 먼저 로그값을 생각해보자.

lnp(z)=lnp(x)+lnp(y|x)=12(xμ)TΛ(xμ)12(yAxb)TL(yAxb)+const

z의 이차항은 다음과 같다.

위의 식에서 x와 y에 관한 항들을 모은 식이 아래와 같다.
아래의 식을 확인하기 전에 [xy]T[ABCD][xy]의 결과가 어떻게 나오는 지 확인하자.
[xy]T[ABCD][xy]=xTAx+yTCx+xTBy+yTDy이 된다. 이 x, y 사이에 있는 식을 찾아서 행렬을 만들면 아래의 행렬이 됨을 알 수 있다.

12xT(Λ+ATLA)x12yTLy+12yTLAx+12xTATLy

=12[xy]T[Λ+ATLAATLLAL][xy]
=12zTRz

R=[Λ+ATLAATLLAL]

따라서 공분산은

cov[z]=R1=[Λ1Λ1ATAΛ1L1+AΛ1AT]

이다.

평균벡터를 찾기 위해서 z의 1차항을 정리한다.

xTΛμxTATLb+yTLb=[xy]T[ΛμATLbLb]

따라서 평균벡터는

E[z]=R1[ΛμATLbLb]=[μAμ+b]

y를 위한 주변확률분포의 평균과 공분산은 앞의 “주변 가우시안 분포” 결과를 적용하면 쉽게 구할 수 있다.

공분산(cov[y])의 경우는 앞에서 cov[z]=R1=[Λ1Λ1ATAΛ1L1+AΛ1AT]식의 (2,2) 원소이기 때문에 L1+AΛ1AT가 된다.

E[y]=Aμ+b
cov[y]=L1+AΛ1AT

마찬가지로 조건부 확률 p(x|y)의 평균과 공분산은 “조건부 가우시안 분포” 결과를 적용해 유도할 수 있다.

E[x|y]=(Λ+ATLA)1{ATL(yb)+Λμ}
cov[x|y]=(Λ+ATLA)1

조건부 확률의 공분산: Σa|b=Λaa1, 평균 벡터: μa|b=Σa|b{ΛaaμaΛab(xbμb)}

R=[Λ+ATLAATLLAL] 공분산을 먼저보면, 공분산은 Λaa1이라고 했는데, 이것은 R에서 이미 구했다. R이 바로 Λ이기 때문에, R에서 aa에 해당하는 부분은 Λ+ATLA이기 때문에 이것의 역행렬((Λ+ATLA)T)이 된다.

평균 벡터(μa|b=Σa|b{ΛaaμaΛab(xbμb)})의 경우, 공분산 행렬은 앞에서 구했기 때문에 곱하고, ‘{}’ 안의 수식만 해결하면 된다. Λaa=(Λ+ATLA), μax를 의미하고 있기 때문에 E[z]=[μAμ+b]식에서 μ를 의미한다. ΛabR에서 ATL이고, xby이고, μbE[z]=[μAμ+b]에서 아랫부분 이기 때문에 Aμ+b가 된다.

정리하자면, μa|b=Σa|b{ΛaaμaΛab(xbμb)}=(Λ+ATLA)Tμ(ATL)(y(Aμ+b)) 이렇게 된다.
다시 정리하면, Λμ+ATLAμ+ATLyATLAμATLb 이렇게 되고 ATLAμ가 서로 상쇄되고, 나머지는 Λμ+ATLyATLb 이렇게 되고 다시 Λμ+ATL(yb) 이렇게 된다.
이것이 평균 벡터의 {}안을 채우게 되면 위의 식이 나오는 것이다.

여태까지 한 것은 z에 대한 공분산과 평균 벡터를 구한다음에 조건부 확률에 적용한 것이다.

가우시안 분포의 최대우도 (Maximum Likelihood for the Gaussian)Permalink

Why log-likelihood instead of likelihood?
Easier to deal with differentiation, integration, and exponential families. product를 log로 바꿔주면 summation이 되는데 이는 계산량 감소의 이점이 있다. For practical purposes it is more convenient to work with the log-likelihood function in maximum likelihood estimation (wikipedia). In addition to the mathematical convenience from this, the adding process of log-likelihood has an intuitive interpretation, as often expressed as “support” from the data. When the parameters are estimated using the log-likelihood for the maximum likelihood estimation, each data point is used by being added to the total log-likelihood. As the data can be viewed as an evidence that support the estimated parameters, this process can be interpreted as “support from independent evidence adds”, and the log-likelihood is the “weight of evidence”. Interpreting negative log-probability as information content or surprisal, the support (log-likelihood) of a model, given an event, is the negative of the surprisal of the event, given the model: a model is supported by an event to the extent that the event is unsurprising, given the model (wikipedia).

X: 대문자로 표시되어 있을 경우, 데이터가 여러개인 경우를 의미.

가우시안 분포에 의해 생성된 데이터 X=(x1,,xn)T가 주어졌을 때, 우도를 최대화하는 파리미터 값들(평균, 공분산)을 찾는 것이 목표라고 하자. 로그우도 함수는 다음과 같다.

lnp(X|μ,Σ)=ND2ln(2π)N2ln|Σ|12n=1N(xnμ)TΣ1(xnμ)

ML - 평균 벡터Permalink

먼저 우도를 최대화하는 평균벡터 μML을 찾아보자.

y=(xμ)라 하면 다음의 식이 유도된다.

이차형식을 μ 에 대해서 미분한 결과는 아래와 같다.

행렬미분에서 배운 이차형식에서 미분을 하는 과정이 있었다.
ΔxxTAx=2Ax 라는 공식을 yyTΣ1yyμ 이 식에 활용하면, 아래와 같은 결과를 얻을 수 있다.
yμ에 대해 미분한 값이 앞에서 가 있기 때문에 결과적으로 2Ax가 된 것이다.
Σ1이 정확도 행렬이기 때문에 Λ로 바꿔주었다.
https://marquis08.github.io/devcourse2/linearalgebra/mathjax/ML-basics-Linear-Algebra/#%ED%96%89%EB%A0%AC%EB%AF%B8%EB%B6%84-matrix-calculus

μ(xμ)TΣ1(xμ)=yyTΣ1yyμ=2Σ1y2Λy

여기까지는 12n=1N 안에 있는 이차형식((xnμ)TΣ1(xnμ))을 미분한 결과를 도출해 낸 것임.

따라서,

μlnp(X|μ,Σ)=12i=1N2Λ(xiμ)=Λi=1N(xiμ)=0

Λi=1N(xiμ): 각각의 xi에 대해서 μ를 빼준 것을 다 더하고 Λ를 곱해준 것.
최대우도해를 구하기 위해서 이 값을 0으로 놓고 풀었을 때 그 결과는 아래와 같다.

μML=1Ni=1Nxi=x¯

관찰한 각 데이터를 더한 것을 N으로 나눈 것이 된다. 이는 관찰한 데이터의 평균값으로 볼 수 있다. 이것의 μ의 ML이 되는 것임.

ML - 공분산Permalink

정확도 행렬 Λ에 대한 함수로 놓고 풀면 식이 간단해 진다.

다음으로 우도를 최대화하는 공분산행렬 ΣML을 찾아보자.

아래의 식에서 l은 정확도 행렬과 관련있는 부분(종속적인)만 남겨논 것이다. (상수는 최대화와 상관이 없기 때문에)

trace가 나오는데, 원래 12i=1N2Λ(xiμ) 이 값은 scalar 값인데, scalar 값을 원소가 1개인 행렬로 생각할 수 있다. 이 때 이 행렬의 trace 값은 그 행렬 자체라는 성질을 활용함. 아래의 선형대수 결과 리스트의 2번째 성질을 보면 trace를 씌워도 같은 값임을 알 수 있다. 또한 trace를 씌우면 뒤에 있던 x가 앞으로 이동한 것을 알 수 있는데, trace가 여러개의 행렬의 곱일때 순서를 cycle해도 동일한 값이기 때문에 가능하다.
이 성질을 사용해서 tr((xnμ)(xnμ)TΛ) 아래의 이 식에서 (xnμ)가 앞으로 나오게 된 것임.
S를 보면 trace 밖에 있던 summation이 trace안으로 들어온 것을 알 수 있는데, 이것도 역시 아래의 선형대수 성질 중에서 3번째 성질인 tr(A)+tr(A)=tr(A+B) 이것을 활용한 것임.

l(Λ)=N2ln|Λ|12n=1Ntr((xnμ)(xnμ)TΛ)=N2ln|Λ|12tr(SΛ) S=i=1N(xnμ)(xnμ)T

Λ 에 대해 결과적으로 나온 식이 N2ln|Λ|12tr(SΛ) 이고, 이 식을 Λ에 관해서 미분을 하면 되는 것이다.
Λ는 벡터가 아니고 행렬이기 때문에 행렬미분 성질을 활용하면 쉽게 풀 수 있음.
Λ의 판별식의 로그값을 Λ에 대해서 미분을 하는데, 이 것은 아래의 선형대수 성질 중에서 Aln|A|=(A1)T을 활용 함. 따라서 ln|Λ|=(Λ1)T가 된다.
tr(SΛ)Atr(BA)=BT 이 성질을 활용함. 따라서 tr(SΛ)=ST가 되는 것임.

l(Λ)Λ=N2(Λ1)T12ST=0

위의 결과로 나온 N2(Λ1)T12ST을 0으로 놓고 Λ에 관해서 풀면 된다.
결과적으로 (ΛML1)=1NS 이 식이 나오는데 이 때, Λ은 정확도 행렬인데, 이 것의 역행렬이 Σ 이기 때문에 이것이 우리가 찾고자 했던 공분산 행렬이다.

(ΛML1)=ΣML=1NS ΣML=1Ni=1N(xnμ)(xnμ)T

S를 대입해주면 ΣML 이 된다.

위의 식 유도를 위해 아래의 기본적인 선형대수 결과를 사용하였다.

  • |A1|=l/|A|
  • xTAx=tr(xTAx)=tr(xxTA)
  • tr(A)+tr(B)=tr(A+B)
  • Atr(BA)=BT
  • Aln|A|=(A1)T

여기서 한가지 짚고 넘어가야할 부분은, 식을 간단하게 하기 위해 Λ라는 정확도 행렬을 사용해서 공분산 행렬을 유도했는데, Λ에 관해서 푼 최적해를 단순히 역행렬을 시켜주는 것이 원래 찾고자 했던 Σ의 최대값이 맞는가를 생각해볼 필요가 있다.

정확도 행렬의 역행렬의 최적해가 공분산 행렬의 최대값과 일치할까?Permalink

(ΛML)1=ΣML이해하기

일반적으로 다음이 성립한다. 함수 h(X)=Y일대일이고 다음과 같은 최소값들이 존재한다고 하자.

일대일 이기 때문에 역함수(h1)도 존재한다.
f와 h가 composite function(합성함수)로 주어져있다.

X=argminXf(h(X)) Y=argminYf(Y)

Y라는 값을 구했다고 가정하고, X 대신에 Y를 대입하면, f(h(h1(Y))) 이 값이 된다. 이는 h가 항등함수(Identity Function)이 되기 때문에 f(Y) 이 값이 결과적으로 됨. 따라서 h1(Y)를 넣었을 때 최소값이 X이 때문에 아래의 식이 성립함.

만약에 일대일이 아니라면 성립하지 않는다는 사실을 기억하자.

f(h(h1(Y)))=f(Y)이므로 h1(Y)=X이 성립한다. 위의 경우에 적용하자면,

l이라는 Λ에 관한 함수를 최소화 시키는 ΛML을 구했는데, 위에서 Y라고 생각하면 됨.
일대일이기 때문에 역함수연산이 가능하고 결국, h1 를 적용하게 되면, 결국 역행렬 연산이기 때문에, (ΛML)1=ΣML 가 되는 것임.

ΛML=argminΛl(Λ)

역행렬 연산이 일대일함수(h)를 정의하기 때문에, h1(ΛML)=ΣML이 되고, (ΛML)1=ΣML이 성립한다. ㅇ

가우시안 분포를 위한 베이지안 추론 (Bayesian Inference for the Gaussian)Permalink

MLE 방법은 파라미터들 (μ,Σ)의 하나의 값만을 구하게 해준다. 베이지안 방법을 사용하면 파라미터의 확률분포 자체를 구할 수 있게 된다.
단변량 가우시안 확률변수 xμ를 베이지안 추론을 통해 구해보자(분산 σ2는 주어졌다고 가정). 목표는 μ의 사후확률 p(μ|X)을 우도함수 p(X|μ)와 사전확률 p(X|μ)을 통해 구하는 것이다.

  • 우도함수
p(x|μ)=n=1Np(xn|μ)=1(2πσ2)N/2exp{12σ2n=1N(xnμ)2}
  • 사전확률
p(μ)=N(μ|μ0,σ02)
  • 사후확률
p(μ|x)=N(μ|μN,σN2)μN=σ2Nσ02+σ2μ0+Nσ02Nσ02+σ2μML1σN2=1σ02+Nσ2μML=1Nn=1Nxn

AppendixPermalink

Odd & Even FunctionPermalink

f(x)=x2
f(2)=f(2)
f(x)=f(x)

“Reflectional”, “EVEN”

f(x)=x3
f(2)=f(2)
f(x)=f(x)

“Rotational”, “ODD”

odd-even

Integration by Completing the squarePermalink

정확도 행렬??Permalink

Minimal-mistakesPermalink

Video Embedding for youtube:

{% include video id=”XsxDH4HcOWA” provider=”youtube” %}

other video providers: https://mmistakes.github.io/minimal-mistakes/docs/helpers/

MathJaxPermalink

escape unordered list
- cov[xa]=Σaa:

\- $$cov[\boldsymbol{x}_{a}] = \Sigma_{aa}$$ 

\setminus
{A}{B}:

$$\{A\}\setminus\{B\}$$

adjustable parenthesis
(content):

$$\left( content \right)$$

Matrix with parenthesis (11):

$$\begin{pmatrix}1 \cr 1 \end{pmatrix}$$

ReferencesPermalink

Pattern Recognition and Machine Learning: https://www.microsoft.com/en-us/research/uploads/prod/2006/01/Bishop-Pattern-Recognition-and-Machine-Learning-2006.pdf
Odd and Even functions: https://www.shsu.edu/~kws006/Precalculus/1.4_Function_Symmetries_files/1.4%20FunctionSymmetries%20slides%204to1.pdf
why log-likelihood: https://math.stackexchange.com/questions/892832/why-we-consider-log-likelihood-instead-of-likelihood-in-gaussian-distribution
why log-likelihood: https://www.quora.com/What-is-the-advantage-of-using-the-log-likelihood-function-versus-the-likelihood-function-for-maximum-likelihood-estimation
why log-likelihood: https://en.wikipedia.org/wiki/Likelihood_function#Log-likelihood

Leave a comment