벡터의 유사도(Vector Similarity)

‍hiamzwon·2024년 5월 10일

NLP

목록 보기
6/6

코사인 유사도(Coshine Similarity)


두 벡터 간의 코사인 각도

similarity=cos(Θ)=ABA B=i=1nAi×Bii=1n(Ai)2×i=1n(Bi)2similarity=cos(Θ)=\frac{A⋅B}{||A||\ ||B||}=\frac{\sum_{i=1}^{n}{A_{i}×B_{i}}}{\sqrt{\sum_{i=1}^{n}(A_{i})^2}×\sqrt{\sum_{i=1}^{n}(B_{i})^2}}

  • 두 벡터가 가리키는 방향이 얼마나 유사한가
  • -1 이상 1 이하의 값 (1에 가까울수록 유사도가 높다고 판단)



유클리드 거리(Euclidean Distance)


  • 자카드나 코사인 유사도 만큼 유용하진 않음

(q1p1)2+(q2p2)2+ ... +(qnpn)2=i=1n(qipi)2\sqrt{(q_{1}-p_{1})^{2}+(q_{2}-p_{2})^{2}+\ ...\ +(q_{n}-p_{n})^{2}}=\sqrt{\sum_{i=1}^{n}(q_{i}-p_{i})^{2}}

→ 위 값이 작을 수록 가까이 있기에 유사함



자카드 유사도(Jaccard Similarity)


합집합에서 교집합의 비율

J(A,B)=ABAB=ABA+BABJ(A,B)=\frac{|A∩B|}{|A∪B|}=\frac{|A∩B|}{|A|+|B|-|A∩B|}

  • 0과 1사이의 값을 가짐
    • 만약 두 집합이 동일하다면 1의 값을 가지고, 두 집합의 공통 원소가 없다면 0의 값
profile
꿈은 없고요 놀고 싶습니다

0개의 댓글