NLP : Distance Function 개념

정현명·2021년 8월 10일
0

자연어처리

목록 보기
3/4
post-thumbnail

개념

Distance Function

  • 데이터와 풀고자 하는 문제에 맞게 특정 거리함수를 잘 선택해야한다

  • DistanceFunction 하나만 바뀌어도 성능이 크게 달라진다

  • 여러 거리 함수가 존재하고 각 거리함수별 장단점이 무엇인지 파악해야 적절한 거리함수를 사용할 수 있다



1. Euclidean Distance

  • 피타고라스의 정리로 정의되는 유클리드 공간에서 두 점의 직선 거리

  • 저차원 데이터가 있고 벡터의 크기를 측정하는 것이 중요할 때 사용

  • 값을 정규화 하지 않으면 편차가 제곱이 되게 때문에 특정 차원이 거리값에 큰 영향을 끼칠 수 있다

마지막 차원이 다리 개수 인데 악어와 개구리는 차이가 별로 없지만 뱀과 악어는 큰 차이를 보인다

이는 다리개수가 다른 차원보다 큰 영향을 끼치기 때문이다

해결방법

  • 정규화를 해준다
  • 특정 차원이 거리에 큰 영향이 없는 다른 distance function을 사용


2. Manhattan Distance

  • 빨간선, 파란선, 노란선은 Manhattan Distance

  • 초록선은 Euclidean Distance

  • 제곱을 하지 않기 때문에 차원의 영향력을 줄일 수 있다

  • 고차원 벡터 사이의 거리를 구할 때 Euclidean Distance보다 일반적으로 나은 것으로 알려져 있다


L1 은 Manhatten, L2는 Euclidean



3. Cosine Similarity & Distance

  • 벡터의 내적 공식 변형

  • 벡터의 크기는 고려하지 않고 오직 각도만 고려하고 싶은 경우

  • 값이 -1≤ cosinesim ≤ +1 로 정해지기 때문에 다름, 중립, 동일로 해석이 가능하다

  • Cosine Distance = 1 - cosine_similarity



출처

유튜브
위키백과
광주 인공지능사관학교 - 김유빈 강사님

profile
꾸준함, 책임감

0개의 댓글