유사도 측정
유사도는 두 대상이 얼마나 닮았는지를 숫자로 답하는 척도다. 같은 비슷함이라도 데이터 형태에 따라 쓰는 척도가 달라진다. 집합형은 자카드, 벡터형은 코사인, 군집 결과는 실루엣 계수를 쓴다. 자카드 지수는 두 집합의 교집합 크기를 합집합 크기로 나눈 값이다. 순서와…
주요 장면
대본
유사도란 무엇인가
유사도는 두 대상이 얼마나 닮았는지를 숫자로 답하는 척도다.
같은 비슷함이라도 데이터 형태에 따라 쓰는 척도가 달라진다.
집합형은 자카드, 벡터형은 코사인, 군집 결과는 실루엣 계수를 쓴다.
집합형: 자카드 지수
자카드 지수는 두 집합의 교집합 크기를 합집합 크기로 나눈 값이다.
순서와 중복을 보지 않고 공유 항목의 비율만 본다. 두 집합이 같으면 1이다.
예시에서 교집합은 2개, 합집합은 5개이므로 J는 0.4다.
두 집합이 서로소이면 값은 0이다.
벡터형: 코사인 유사도
코사인 유사도는 두 벡터 사이 각도의 코사인값이다.
벡터의 길이는 무시하고 방향만 비교한다. 같은 방향이면 1, 직교하면 0이다.
예시의 내적 10을 노름의 곱 10으로 나누면 1이 된다.
b의 크기가 a의 2배여도 방향이 같으면 유사도는 같다. 값 범위는 -1에서 1이다.
군집 평가: 실루엣 계수
실루엣 계수는 군집 결과가 얼마나 잘 나뉘었는지 보는 내부 평가 지표다.
샘플마다 같은 군집 내 평균 거리 a(i)와 가장 가까운 다른 군집까지의 평균 거리 b(i)를 구한다.
s(i)가 1에 가까우면 잘 묶인 것이고, 0 근처면 군집 경계, 음수면 잘못 배정된 것이다.
전체 실루엣은 샘플 값의 평균이며, 평균이 가장 큰 K를 최적 군집 수로 고른다.
세 척도 비교와 주의점
세 척도는 데이터 형태에 따라 골라 쓴다. 같은 두 객체라도 척도가 다르면 결론이 달라진다.
자카드와 쇠렌센-다이스 계수는 공통 항목을 세지만, 쇠렌센-다이스는 공유 항목에 더 큰 가중치를 둔다.
코사인 유사도는 벡터 크기를 무시하므로 빈도 차이가 중요한 분석에는 주의해야 한다.
코사인 거리는 정확한 거리 함수가 아니므로, 거리 공리가 필요하면 각거리를 쓴다.
정리와 확인 문제
자카드는 집합의 공통성, 코사인은 벡터의 방향, 실루엣은 군집의 분리와 응집을 본다.
실루엣 값은 -1에서 1 사이이며, 1에 가까울수록 적절한 군집으로 판정한다.
직접 풀어 보자.
0 근처면 군집 경계, 음수면 잘못 배정이다.