VAE 탐구 - 3/6

Tetrapod·2024년 5월 22일

VAE 탐구

목록 보기
3/6

이 글에서는 가능도함수, 엔트로피, 쿨백-라이블러 발산에 대해 정리하고자 한다.


가능도함수

  • 이제부터는 확률분포 X에 대한 확률 밀도함수 또는 확률질량함수를 다음과 같이 대표하여 쓰기로 한다.
p(x;θ)p(x;\theta)
  • 베르누이 확률분포라면, θ=μ\theta=\mu
  • 이항분포라면, ( 베르누이 여러번 ) θ=(N,μ)\theta=(N,\mu)
  • 정규분포 라면, θ=(μ,σ2)\theta=(\mu,\sigma^2)
  • 확률밀도함수에서 모수를 변수로 보는 경우에 이 함수를 가능도 함수(likelihood function)라고 한다.
    확률밀도함수로 보면 우항, 가능도함수로 보면 좌항
L(θ;x)=p(x;θ)L(\theta;x)=p(x;\theta)

예제

  • 정규분포의 확률밀도함수는 단변수 함수다.
  • 모수가 상수라는 것을 강조하기 위해 아래첨자를 붙였다.
  • 가능도함수는 다변수 함수가 된다.
p(x;μ0,σ02)=12πσ02exp((xμ0)22σ02)L(μ,σ2;x0)=12πσ2exp((x0μ)22σ2)\begin{aligned} p(x;\mu_0,\sigma_0^2)&=\frac{1}{\sqrt{2\pi\sigma_0^2}}exp\left(-\frac{(x-\mu_0)^2}{2\sigma_0^2}\right) \\ L(\mu,\sigma^2;x_0)&=\frac{1}{\sqrt{2\pi\sigma^2}}exp\left(-\frac{(x_0-\mu)^2}{2\sigma^2}\right) \end{aligned}

최대가능도 추정법

  • 최대가능도 추정법 ( Maximum Likelihood Estimation, MLE )은 주어진 표본에 대해 가능도를 가장 크게 하는 모수 θ\theta 를 찾는 방법이다.
  • 이 방법으로 찾은 모수는 기호로 θ^MLE\hat{\theta}_{MLE} 와 같이 표시한다.
θ^MLE=argmaxθ  L(θ;x)\hat{\theta}_{MLE}=arg\underset{\theta}{max}\;L(\theta;x)

복수의 표본 데이터가 있는 경우의 가능도함수

  • 일반적으로 추정을 위해 확보하고 있는 확률변수 표본의 수가 하나가 아니라 복수 개 {x1,x2,xN}\{x_1,x_2,\cdots x_N\}이므로 가능도함수도 복수 표본값에 대한 결합확률밀도 pX1,X2,XN(x1,x2,xN;θ)p_{X_1,X_2,\cdots X_N}(x_1,x_2,\cdots x_N;\theta)가 된다.
  • 표본 데이터 x1,x2,xNx_1,x_2,\cdots x_N는 같은 확률분포에서 나온 독립적인 값들이므로 결합확률밀도함수는 다음처럼 곱으로 표현된다.
L(θ;x1,x2,xN)=p(x1,x2,xN;θ)=i=1Np(xi;θ)L(\theta;x_1,x_2,\cdots x_N)=p(x_1,x_2,\cdots x_N;\theta)=\prod_{i=1}^Np(x_i;\theta)

로그가능도함수 (Log-Likelihood)

로그 변환한 로그가능도함수 LL=log  LLL=log\;L를 많이 사용하는 이유

  • 로그 변환에 의해서 최대값의 위치가 변하지 않는다.
  • 함수의 곱이 덧셈이 되어 계산이 단순해진다.
θ^ML=argmaxθ  L(θ;{xi})θ^ML=argmaxθ  log  L(θ;{xi})\begin{aligned} \hat{\theta}_{ML}=arg&\underset{\theta}{max}\;L(\theta;\{x_i\}) \\ &\downarrow \\ \hat{\theta}_{ML}=arg&\underset{\theta}{max}\;log\;L(\theta;\{x_i\}) \end{aligned}

엔트로피의 정의

  • 확률 분포가 가지는 정보의 확신도 또는 정보량의 수치
  • 엔트로피는 확률분포함수를 입력으로 받아 숫자를 출력하는 범함수(functional)로 정의한다.
  • 표기는 H[]H[] 로 한다.
  • 확률변수 YY가 카테고리분포와 같은 이산확률변수이면 다음처럼 정의한다.
H[Y]=k=1Kp(yk)  log  p(yk)H[Y]=-\sum_{k=1}^K p(y_k)\;log\;p(y_k)
  • 확률변수 YY가 정규분포와 같은 연속확률변수이면 다음처럼 정의한다.
H[Y]=p(y)  log  p(y)  dyH[Y]=-\int_{-\infty}^{\infty}p(y)\;log\;p(y)\;dy

교차엔트로피

  • 두 확률분포 p,qp,q의 교차엔트로피(cross entropy)
  • 표기는 H[p,q]H[p,q]
  • 이산확률분포의 경우 다음처럼 정의한다.
H[p,q]=k=1Kp(yk)  log  q(yk)H[p,q]=-\sum_{k=1}^{K}p(y_k)\;log\;q(y_k)
  • 연속확률분포의 경우 다음처럼 정의한다.
H[p,q]=yp(y)  log  q(y)  dyH[p,q]=-\int_y p(y)\;log\;q(y)\;dy
  • 로그손실 ( log-loss )
log  loss=1Ni=1N(yi  log  μi  +  (1yi)  log  (1μi))log\;loss = -\frac{1}{N}\sum_{i=1}^{N}(y_i\;log\;\mu_i\;+\;(1-y_i)\;log\;(1-\mu_i))

쿨백-라이블러 발산

쿨백-라이블러 발산 ( Kullback-Leibler divergence )은 두 확률분표 p(y),q(y)p(y), q(y)의 분포모양이 얼마나 다른지를 숫자로 계산한 값이다. KL(pq)KL(p||q)로 표기한다. 또는 DKL(pq)D_{KL}(p||q)

  • 이산확률분포의 경우 다음처럼 정의한다.
KL(pq)=H[p,q]H[p]=i=1Kp(yi)  log(p(yi)q(yi))\begin{aligned} KL(p||q)&=H[p,q]-H[p] \\ &=\sum_{i=1}^{K}p(y_i)\;log\left(\frac{p(y_i)}{q(y_i)}\right) \end{aligned}
  • 연속확률분포의 경우 다음처럼 정의한다.
KL(pq)=H[p,q]H[p]=p(y)  log(p(y)q(y))dy\begin{aligned} KL(p||q)&=H[p,q]-H[p] \\ &=\int p(y)\;log\left(\frac{p(y)}{q(y)}\right)dy \end{aligned}

쿨백-라이블러 발산은 교차엔트로피에서 기준확률분포인 pp분포의 엔트로피 값을 뺀 값으로
상대엔트로피 ( relative entropy )라고도 한다.


DKLD_{KL}의 non-negative proof

a>0이면,  log  aa1.DKL(pq)=xp(x)  logp(x)q(x)=xp(x)  logq(x)p(x)xp(x)(q(x)p(x)1)=xp(x)xq(x)=11=0a > 0 이면,\;log\;a \leq a-1 임.\\ \begin{aligned} D_{KL}(p||q) &= \sum_xp(x)\;log\frac{p(x)}{q(x)} \\&=-\sum_xp(x)\;log\frac{q(x)}{p(x)} \\&\geq-\sum_xp(x)\left(\frac{q(x)}{p(x)}-1\right) \\&=\sum_xp(x)-\sum_xq(x) \\&=1-1=0 \end{aligned}

Jensen-Shannon Divergence

  • DKL(pq)DKL(qp)D_{KL}(p||q) \neq D_{KL}(q||p)이기 때문에 distance의 개념으로 사용할 수 없다.
  • 이를 보완하기 위해 symmetric하게 만들어준 것이 Jensen-Shannon Divergence 이다.
DJS(pq)=12DKL(pM)+12DKL(qM)where  M=12(p+q)D_{JS}(p||q)=\frac{1}{2}D_{KL}(p||M)+\frac{1}{2}D_{KL}(q||M)\\ where\;M=\frac{1}{2}(p+q)

Reference

데이터 사이언스 스쿨

0개의 댓글