TIL(24.12.10)

채채·2024년 12월 10일

Today I Learned

목록 보기
28/75

오늘 궁금했던 점

어제 강의에서 벡터에서 두 점 사이의 유사도는 직선거리로 파악할 수 있다고 하셨는데, 오늘은 새로운 유사도 측정법이 나왔음.
바로 코사인 유사도.
코사인 유사도는 두 점 사이의 각을 코사인으로 구해서 코사인값이 1에 가까울 수록 (cos0) 유사하다고 함.

여기서 궁금했던 점은,

세 점 a(1,1) , b(10,10) , c(1,3) 이 있다고 했을 때,
a와 유사한 점은 b일까 c일까?
거리상으로는 a와 c가 가까워서 유사하다고 볼 수 있고, 코사인 유사도 상으로는 a와 b가 유사하다고 볼 수 있는데 뭐가 맞는 걸까?

🤓튜터님 답변

💡유클리디안 거리와 코사인 유사도

  • 이 차이는 두 측정 방식의 특성 때문입니다.
  • 유클리디안 거리는 벡터의 크기와 방향 모두를 고려합니다. 따라서 (10, 10)이 (1, 1)에서 멀리 떨어져 있어 유사도가 낮게 나옵니다.
  • 코사인 유사도는 벡터의 방향만을 고려하고 크기는 무시합니다. (1, 1)과 (10, 10)은 같은 방향을 가리키므로 높은 유사도를 보입니다.
  • 결론적으로, 어떤 값이 더 유사하다고 볼 수 있는지는 사용 목적에 따라 다릅니다.
  • 벡터의 크기가 중요하다면 유클리디안 거리를, 방향만이 중요하다면 코사인 유사도를 사용하는 것이 적절합니다.

    *벡터의 크기는 원점에서 끝점까지의 거리를 말함.

🧮 정리

속성유클리디안 거리코사인 유사도
거리 계산 기준두 벡터 사이의 직선 거리 계산두 벡터 간 각도 기반 계산
크기 반영 여부크기와 방향 관계 반영크기 무시
방향 반영 여부부분적으로 반영 (간접적으로 관계 계산)정확하게 반영
값의 범위0 (같음) ~ 무한대-1 (반대 방향) ~ 0 (무관) ~ 1 (같은 방향)
결과의 의미값이 작을수록 두 점이 가까움값이 클수록(1에 가까울수록) 방향이 유사함
사용 목적절대적 차이 계산유사성(관계성) 측정



⁉️그럼 언제 사용하면 좋을까?


활용 분야유클리디안 거리코사인 유사도
분류 (Classification)KNN에서 사용사용자 선호도 기반 추천에 활용
클러스터링 (Clustering)K-Means 클러스터링문서 군집화나 사용자 그룹 분석
추천 시스템 (Recommendation)사용자-아이템 거리 계산코사인 기반 추천 시스템에서 활용
텍스트 분석문서 간 코사인 유사성 계산
스케일링데이터 스케일 조정 필요



궁금증이 해결이 됐나?

차이점에 대해서는 개념이 잡힌 것 같고, 활용 분야에 대해선 아직 약간 헷갈리는 부분이 있음. 분류, 클러스터링 등의 둘 다 사용할 수 있는 부분에서는 어떤걸 사용해야 더 적절한지 헷갈림. 실제로 여러 데이터를 다뤄보고 사용해봐야 파악할 수 있을 것 같음. 크기가 중요한 데이턴지 방향성이 중요한 데이턴지에 대해 파악하는 연습이 필요한 것 같음.

profile
화이팅

0개의 댓글