History
home
BDA 연혁
home

- 데이터 거리 측정 방법(2)

데이터 거리 측정 방법들

저번 시간에 이어 다양한 데이터 거리 측정 방법들을 알아보자.

1. 쿨백-라이블러 발산(KL divergence)

쿨백-라이블러 발산은 두 확률분포간의 차이를 측정할 수 있는 지표이다. 주로 정보이론에서 사용되며 한 확률 분포를 사용하여 다른 확률 분포를 얼마나 잘 표현할 수 있는지를 나타낸다. 두 확률분포 P,QP,Q에 대해 쿨백-라이블러 발산은 다음과 같다.
이산 확률변수의 경우,
DKL(PQ)=iP(i)logP(i)Q(i)D_{KL} (P\|Q) = \sum_i P(i) \log{\frac{P(i)}{Q(i)}}
연속 확변수의 경우, P,QP,Q의 확률밀도함수를 p,qp,q라 하면 다음과 같다.
DKL(PQ)=p(x)logp(x)q(x)dxD_{KL} (P\|Q) = \int_{-\infin}^{\infin} p(x) \log{\frac{p(x)}{q(x)}}dx
쿨백-라이블러 발산값은 항상 0보다 크거나 같고, 두 확률분포가 동일하면 0이 됨을 알 수 있다.

2. 해밍 거리(Hamming distance)

해밍거리는 두 문자열 또는 두 숫자 시퀀스 간의 차이를 측정하는 방법이다.
해밍 거리는 두 동일 길이의 문자열에서 서로 다른 위치에 있는 문자의 수를 계산한다. 다시 말해서, 두개의 문자열에서 같은 위치에 있는 문자가 같으면 0, 다르면 1을 더한다.
예를 들어 길이가 nn인 두 문자열 s,ts,t에 대해, 지시함수 II를 이용하여 다음과 같이 나타낼 수 있다.
dH(s,t)=i=1nI(siti)d_H(s,t) = \sum_{i=1}^n I(s_i \neq t_i)
해밍 거리는 오류 검출 및 수정 코드, DNA 서열 분석, 데이터 암호화등에서 활용된다. 또한, 데이터의 작은 차이를 정량화하는 데 유용하여, 패턴 인식, 데이터 압축, 데이터 전송 분야에서도 사용될 수 있다.

3. 자카드 거리(Jaccard Distance)

자카드 거리는 집합 간의 유사성 및 다양성을 측정하는 방법으로, 자카드 유사도(Jaccard Similarity)를 바탕으로 계산된다. 자카드 유사도는 두 집합 간의 공통 요소의 비율을 측정하는 반면, 자카드 거리는 두 집합 간의 차이를 측정한다.
두 집합 A,BA,B에 대해 자카드 유사도는 두 집합의 교집합의 원소의 개수를 두 집합의 합집합의 원소의 개수로 나눈 값이다. 즉, 두 집합이 완전히 같다면 자카드 유사도는 1, 다르다면 교집합이 없으므로 0이 될 것이다.
J(A,B)=ABABJ(A,B) = \frac{|A \cap B | }{|A \cup B |}
자카드 거리는 다음과 같이 나타낸다.
DJ(A,B)=1J(A,B)D_J(A,B) = 1- J(A,B)
즉, 자카드 거리는 두 집합이 완전히 동일할 경우 0이 되고, 두 집합 사이에 공통 요소가 전혀 없을 경우 1이 된다. 자카드 거리는 텍스트 분석, 유전학 데이터 등에서 두 데이터 집합 간의 유사성 및 차이를 측정하는 데 사용된다.