데이터 거리 측정 방법들
저번 시간에 이어 다양한 데이터 거리 측정 방법들을 알아보자.
1. 쿨백-라이블러 발산(KL divergence)
쿨백-라이블러 발산은 두 확률분포간의 차이를 측정할 수 있는 지표이다. 주로 정보이론에서 사용되며 한 확률 분포를 사용하여 다른 확률 분포를 얼마나 잘 표현할 수 있는지를 나타낸다. 두 확률분포 에 대해 쿨백-라이블러 발산은 다음과 같다.
이산 확률변수의 경우,
연속 확변수의 경우, 의 확률밀도함수를 라 하면 다음과 같다.
쿨백-라이블러 발산값은 항상 0보다 크거나 같고, 두 확률분포가 동일하면 0이 됨을 알 수 있다.
2. 해밍 거리(Hamming distance)
해밍거리는 두 문자열 또는 두 숫자 시퀀스 간의 차이를 측정하는 방법이다.
해밍 거리는 두 동일 길이의 문자열에서 서로 다른 위치에 있는 문자의 수를 계산한다. 다시 말해서, 두개의 문자열에서 같은 위치에 있는 문자가 같으면 0, 다르면 1을 더한다.
예를 들어 길이가 인 두 문자열 에 대해, 지시함수 를 이용하여 다음과 같이 나타낼 수 있다.
해밍 거리는 오류 검출 및 수정 코드, DNA 서열 분석, 데이터 암호화등에서 활용된다. 또한, 데이터의 작은 차이를 정량화하는 데 유용하여, 패턴 인식, 데이터 압축, 데이터 전송 분야에서도 사용될 수 있다.
3. 자카드 거리(Jaccard Distance)
자카드 거리는 집합 간의 유사성 및 다양성을 측정하는 방법으로, 자카드 유사도(Jaccard Similarity)를 바탕으로 계산된다. 자카드 유사도는 두 집합 간의 공통 요소의 비율을 측정하는 반면, 자카드 거리는 두 집합 간의 차이를 측정한다.
두 집합 에 대해 자카드 유사도는 두 집합의 교집합의 원소의 개수를 두 집합의 합집합의 원소의 개수로 나눈 값이다. 즉, 두 집합이 완전히 같다면 자카드 유사도는 1, 다르다면 교집합이 없으므로 0이 될 것이다.
자카드 거리는 다음과 같이 나타낸다.
즉, 자카드 거리는 두 집합이 완전히 동일할 경우 0이 되고, 두 집합 사이에 공통 요소가 전혀 없을 경우 1이 된다. 자카드 거리는 텍스트 분석, 유전학 데이터 등에서 두 데이터 집합 간의 유사성 및 차이를 측정하는 데 사용된다.