KL-Divergence (KL 발산)

KL -Divergence(KullBack-Libler Divergence)

KL-Divergence란 두 확률분포간의 정보량 차이를 측정하는데 사용되는 개념이다.

해당 KL발산의 공식은 다음과 같다.

DKL(PQ)=P(x)logP(x)Q(x)D_{KL}(P||Q) = \sum P(x) log{{P(x)}\over{Q(x)}}
=P(x)log(P(x)Q(x))=P(x)log(Q(x)P(x))=\sum P(x)log({P(x)-Q(x))} =-\sum P(x)log({Q(x)-P(x))}

따라서

=P(x)logQ(x)(P(x)logP(x))=- \sum P(x)logQ(x) - ( -\sum P(x)logP(x))

와 같이 정리할 수 있는데, CrossEntropy기준EntropyCross Entropy - 기준Entropy의 식 임을 알 수 있다.

다시 말하면, Cross Entropy와 마찬가지로 두 확률 분포의 차이를 보여주는 척도이지만,
Cross Entropy에서 기준 분포의 Entropy를 제거,

즉, 두 분포 사이에서 기존 분포의 불확실성을 제거함으로서 두 분포가 얼마나 다른 정보를 갖고 있는지를 순수하게 측정하는 방법이다.

성질

1) DKL(PQ)DKL(QP)D_{KL}(P||Q) \neq D_{KL}(Q||P)
2) DKL  (0,)D_{KL} ~~ (0,\infin)

기준분포가 무엇인지에 따라서 DKLD_{KL}값이 달라지므로 어떤 분포를 기준 분포로 설정할지 고려해야 한다.
이에 따라 보완척도 Jensen-Shannon Divergence가 나왔으나... 잘 안쓰이는 듯

수식은 다음과 같다.

DKL(PQ)=P(x)logP(x)Q(x),D_{KL}(P||Q) = \sum P(x) log{{P(x)}\over{Q(x)}},
DKL(QP)=Q(x)logQ(x)P(x),D_{KL}(Q||P) = \sum Q(x) log{{Q(x)}\over{P(x)}},
JSD=DKL(PQ)+DKL(QP)2{JSD} = {D_{KL}(P||Q)+D_{KL}(Q||P)\over{2}}

가우시안 단변량/ 다변량 변환 공식

두 확률분포 P,Q가 각각 가우시안 분포를 따르는 단변량/ 다변량 확률분포로 알려져 있다면 다음과 같은 식으로 변환할 수 있다.
1) 단변량 Gaussian
P=N(μp,σp)P = \mathcal{N}(\mu_p, \sigma_p)Q=N(μq,σq)Q = \mathcal{N}(\mu_q, \sigma_q)

DKL(PQ)=logσqσp+σp2+(μpuq)22σq212D_{KL}(P||Q) = log{{\sigma_q}\over{\sigma_p}} + {\sigma^2_p+(\mu_p-\,u_q)^2\over2\sigma_q^2}-{1\over2}

2) 다변량 Gaussian
P=N(μp,Σp)P = \mathcal{N}(\mu_p, \Sigma_p)Q=N(μq,Σq)Q = \mathcal{N}(\mu_q, \Sigma_q)

DKL(PQ)=pq[logΣqΣpk+tr(Σq1Σp)+(μqμp)TΣq1(μqμp)]D_{KL}(P||Q) = \frac{p}{q} \left[ \log \frac{|\Sigma_q|}{|\Sigma_p|} - k + \text{tr}(\Sigma_q^{-1}\Sigma_p) + (\mu_q - \mu_p)^T \Sigma_q^{-1} (\mu_q - \mu_p) \right]

설명
각 항의 의미

logΣqΣp\log \frac{|\Sigma_q|}{|\Sigma_p|}: 공분산 행렬의 행렬식 비율의 로그

Σ|\Sigma|는 공분산 행렬의 행렬식(determinant)

kk: 차원 수

tr(Σq1Σp)\text{tr}(\Sigma_q^{-1}\Sigma_p): 행렬의 대각합(trace)

tr(A)=i=1dAii\text{tr}(A) = \sum_{i=1}^{d} A_{ii}

(μqμp)TΣq1(μqμp)(\mu_q - \mu_p)^T \Sigma_q^{-1} (\mu_q - \mu_p): 평균 벡터 차이의 마할라노비스 거리 제곱

마할라 노비스 거리란?

각 차원을 동등하게 생각하게 생각하는 유클리드 거리와 다르게 마할라 노비스 거리는 데이터의 분산과 상관관계를 고려하여 다음과 같이 나타낸다

DM(x,y)=(xy)TΣ1(xy)DM​(x,y)=\sqrt{(x−y)^TΣ^{-1}(x−y)}

0개의 댓글