아롱이 탐험대

Machine learning: probability (Multivariate Gaissian ~ Transformation of Random Variables) 본문

study/Machine Learning

Machine learning: probability (Multivariate Gaissian ~ Transformation of Random Variables)

ys_cs17 2022. 4. 10. 20:16
반응형

Multivariate Gaussian

Multivariate이란 다차원이라는 말이다. R.V. x가 다차원일 때 Gaussian distribution은 아래 수식과 같이 구한다. 크게 틀은 달라지지 않는다.

μ=E[x]ED is the mean vector. D차원의 x의 평균값

=cov[\text{x}]D×D 크기의 covariance matrix이다.

parameter의 개수는 우리가 어떤 covariance matrix를 사용하냐에 따라 다르다.

(1) Full covariance: 행렬이 대칭적이기 때문에 D(D+1)2개의 parameter가 필요하다.

(2) Diagonal covariance: 0인 부분을 제외한 diagonal covariance의 parameter의 개수는 D이다.

(3) Spherical covariance: Spherical covariance는 diagonal element의 값들이 시그마 제곱과 같다. 따라서 parameter의 개수는 다음과 같다. =σ2ID

 

그림에서 (a)는 Full covariance인데 이를 시각화하면 타원형 등고선의 모습을 볼 수 있다. (b)는 Diagonal covariance인데 축으로 정렬된 타원과 같이 시각화되고, (c)인 spherical covariance matrix는 원형의 모습을 한 것을 볼 수 있다. (d)는 spherical Gaussian의 surface plot이다.

Dirichlet Distribution

Dirichlet distribution은 beta distribution의 multivariate 버전이라고 생각하면 된다.

Dirichlet에 들어가는 K차원의 continous R.V. x에 대한 set에 대한 정의는 다음과 같다.

SK={x:0xk1,KKxk=1}

모든 x의 값은 0과 1사이에 존재하는 실수이고, x들의 합은 1이다. 확률의 정의와 같다.

Dirichlet distribution의 식은 다음과 같다.

Dir(xα)=1β(α)KK=1xαK1K

K=3 인 경우에 Dirichlet distribution을 도식화 한 그림이다. (a)를 보면 K=3이기 때문에 삼각형 모양으로 나타내진 모습을 볼 수 있고, 각 point인 θ 값은 0보다 크고 1보다 작은 값이다. 여기서 α0=k=1Kαk은 peak가 얼마나 높은지를 제어하고, αk는 peak의 위치를 제어한다. 예를 들어 Dir(1,1,1)은 uniform distribution이고, Dir(2,2,2)(13,13,13)을 중심으로 하는 좁은 distribution이다.

모든 K에 대해 αK<1 이면 simplex의 모서리에 spike가 나타난다. 정리하자면 \alpha_{K} 값이 증가하면 var[x]이 감소하는 것을 볼 수 있다.

Dirichlet distribution은 다음과 같은 특성을 같는다.

E[xk]=αkα0,mode[xk]=αk1α0K,var[xk]=αk(α0αk)α20(α0+1)

대부분 symmetric한 경우를 가정하고 확률을 구하는데, symmetric Dirichlet prior는 αK=αK 형태를 갖는다. 이러한 경우 mean=1/K, var[xk]=K1K2(α+1)가 되는데, α 값이 증가할 수록 distribution의 precision이 증가하고, narrow해지며, variance가 줄어들게 된다.

 

Transformation of Random Variables

xp()를 따르는 random variable에 대해 y=f(x)일때 y의 distribution이 무엇인지를 구하는 게 transformation of random variables의 핵심이다.

Linear transformation

만약 f가 선형 함수이면 y=f(x)=Ax+b의 형태를 갖는다. A,b는 어떠한 matrix이다.

f:xRDyRD 이를 general function이라고 한다.

f가 만약 linear function이면 아래의 속성을 갖게 된다.

E[y]=E[Ax+b]=Aμ+bcov[y]=cov[Ax+b]=AΣAT

여기서 μ=E[x]는 linearity of expectation이라고 부르고, =cov[x]이다.

만약 f 가 scalar valued function이면 (1차원인 경우) f(x)=aTx+b 형태로 쓸 수 있는데, a와 b는 각 (1×D),(D×1)이고, 이 때의 mean과 variance는 다음과 같다.

f:xRDyR1

E[y]=E[aTx+b]=aTμ+bvar[y]=var[aTx+b]=aTΣa

하지만 mean과 covarance는 x가 Gaussian인 경우에만 y의 distribution을 완전하게 정의한다는 점에 유의해야한다. 일반적으로 y의 distribution을 도출하기 위해 general transformation을 이용해야 한다.

General Transformation (for Discrete R.V.)

만약 x가 discrete random variable일 때, y에 대한 pmf를 f(x)=y를 만족하는 모든 x에 대해 probability mass를 더하는 방식으로 도출해낼 수 있다.

수식은 아래와 같다.

py(y)=x:f(x)=ypx(x)

px(x)set={1,2,,10}에서 uniform이므로, px(x)=0.1이고, 위 식에 적용하여 py(1),py(0)을 구할 수 있다.

py(1)=x{2,4,6,8,10}px(x)=0.5py(0)=0.5

이 예시에서 f는 many to one function이다.

 

General Transformation (for Continous R.V.)

만약 x가 continuous R.V.라면 px(x)가 pmf가 아니라 density이기 때문에 위에서 정의한 수식을 사용할 수 없다. 그리고 density는 더할 수 없음으로 cdf를 이용해 py(y)를 다음과 같이 정의한다.

Py(y)P(Yy)=P(f(X)y)=p(X{x|f(x)y})

이렇게 구한 cdf를 미분하게 되면 y에 대한 pdf를 구할 수 있다. 이때 f가 monontonic이고, 역함수가 존재한다면 p_{y}(y)를 다음과 같이 쓸 수 있다.

Py(y)=P(f(X)y)=P(Xf1(y))=Px(f1(y))by def. of cdf 

위 식을 미분하게 되면 다음의 식을 얻을 수 있다. 여기서 $x = f^{-1}(y)$이다.
py(y)ddyPy(y)=ddyPx(f1(y))=dxdyddxPx(x)=dxdypx(x)

여기서 dx를 x-space의 volume measure로 생각할 수 있다. 마찬가지로, dy는 y-space의 volume measure이다. 따라서 \frac{dx}{dy}는 volume의 변화를 측정한다. 이때 부호가 바뀌는 것은 중요하지 않으므로 절대값을 취하여 다음의 general expression을 얻게 된다.

py(y)=px(x)|dxdy|

이 식을 change of variable 공식이라고 한다. 이 결과를 다음과 같이 보다 직관적으로 이해할 수 있다.

px(x)δxpy(y)δy에 의해 범위 (x,x+δx)에 속하는 관측값은 (y,y+δy)로 transform 된다. 따라서 py(y)px(x)|δxδy|가 된다.

예를 들어, XU(1,1) 이고 Y=X2 이라고 할 때, py(y)=12y12를 얻을 수 있다.

 

Multivarate change of variables

general transformation의 결과를 multivariate distribution으로 확장해보자.

f:RnRn이고, y=f(X)라고 할 때, 이에 대한 Jacobian matrix J는 아래와 같은 식으로 주어진다.

|det J|f를 적용했을 때, unit cube의 부피 변화량을 측정한다. 만약 mapping f가 invertible mapping이라면 nverse mapping yx의 Jacobian을 이용해 transformed variables의 pdf를 정의할 수 있다.

py(y)=px(x)|det(xy)|=px(x)|det Jyx|

간단한 예시로 Cartesian coordinates x=(x1,x2)에서 polar coordinates y=(r,θ)로의 density transforming을 살펴보자. 여기서 x1=rcosθ이고 x2=rsinθ이다.

그러면 Jacobian matrix는 다음과 같이 쓸 수 있다.

Jyx=(x1rx1θx2rx2θ)=(cosθrsinθsinθrcosθ)|det J|=|rcos2θ+rsin2θ|=|r|

따라서 $p_{y}(y)$를 구하게 되면 다음과 같이 나타낼 수 있다.

py(y)=px(x)|det J|=px(x)|r|pr,θ(r,θ)=px1,x2(x1,x2)r=px1,x2(rcosθ,rsinθ)r

이것을 기하학적으로 보게 되면 아래의 그림처럼 나타낼 수 있다.

그림에서 검정색 부분의 면적은 다음과 같이 주어진다.

P(rRr+dr,θΘθ+dθ)=pr,θ(r,θ)drdθ

극한에서, 이것은 patch의 중심에서의 density인 pr,θ(r,θ)와 patch의 크기 r,dr,dθ를 곱한 것과 같다.

따라서 다음 식을 얻을 수 있다.

pr,θ(r,θ)drdθ=px1,x2(rcosθ,rsinθ)r dr dθ

 

반응형