본문 바로가기
2020_1학기_알고리즘응용

Week03 Distance metric

by 매화of사군자 2020. 6. 2.

Distance Metric의 사용이유

지난 포스트에서 우리는 데이터들을 수학으로 바꾸어서 생각한다고 하였다. 데이터를 수학으로 바꾼다는 것은 숫자로 바꾼다는 것을 의미하기도 한다. 이런 상황에서 데이터를 구분하기 위해 Distance Metrics를 사용한다.

 

Distance

거리란 무엇일까? 당연하게도 어떤 지점으로부터 다른 지점까지의 길이이다. 하지만 아래와 같이 사람에 따라 필요한 거리가 다를 수 있다.

  • 서울에서 부산까지의 직선거리
  • 서울에서 부산까지의 자동차 거리
  • 서울에서 부산까지의 자전거 거리

Distance Metric

Manhattan distance

  • Taxicab distance 라고도 불린다.
  • 한 지점에서 다른 지점까지의 x거리의 합과 y거리의 합을 더한 거리

Euclidean Distance

  • 피타고라스의 정리를 생각하면 된다.

Euclidean formula
Manhattan vs Euclidean

- 빨간색, 파란색, 노란색의 거리는 12로 같으며 이 때 Manhattan distance의 가장 짧은 거리는 12가 된다.

- 초록색의 거리는 Euclidean의 최소거리가 된다.

 

Minkowski Distance

  • metric in a normed vector space
  • generalization of both the Euclidean, Manhattan distance

  • p = 1 ---> Taxicab Distance
  • p = 2 ---> Euclidean Distance

Norm

Norm is a function that satisfires three properties.

  1. Zero vector : if f(v) = 0 then v = 0 is the zero vector
  2. Scalar factor : if f(cv) = |c|f(v)
  3. Triangle inequality : f(u + v) <= f(u) + f(v)

For example Taxicab(Manhattan) norm

  1. Zero vector : 어떤 한 자리에서 그 자리로 이동하는 거리는 0이다.
  2. Scalar factor : 한 블럭의 거리가 d이면 두 블럭의 거리는 2d이다.
  3. Triangle Inequality : 어떤 두 지점의 직선거리는 무조건 Taxicab distance보다 작거나 같다.

P - norm

- p >= 1 real number

- p - norm of vector X = (x1, ... , xn)

 

P - norm

  • p = 1 ---> Taxicab Norm, L1 norm
  • p = 2 ---> Euclidean Norm, L2 norm

Cosine Distance

지금까지 지점사이의 거리에 초점을 두었다면 지금은 각도에 초점을 둔 cosine distance에 알아본다.

Dot product definition

  • cos 값은 -1 ~ 1까지의 값으로 나타난다.
  • -1일수록 반대에 있는 값이고 1일수록 같은 방향에 있는 값이다.
  • 우리가 평소에 낮은 값일수록 좁은 거리 큰 값일수록 먼 거리를 나타내기 때문에 cos 값은 주로 1 - cos로 나타낸다.
  • 자연어 처리에 많이 이용된다.

Mahalanobis Distance

그 동안 우리는 점과 점 사이의 거리, 각도에 초점을 두었다. 지금까지의 관점으로 본다면 빨간색 O로부터의 거리는 빨간색 X초록색 X가 같을 것이다. 하지만 데이터의 밀집의 형태로 보았을 때 과연 빨간색 X초록색 X가 같은 거리(유사도)에 있다고 할 수 있을까?

 

위와 같은 질문으로부터 시작되어 a point P 와 a distribution D의 거리를 구하는 Mahalanobis distance가 탄생하게 되었다.

 

- 방법

  • 각 Component들 사이의 상관관계를 없앤다.
  • Scale에 민감하지 않게 정규화를 한다. ---> 같은 값 일지라도 scale에 따라 다른 값으로 인지할 수 있다.
  • Euclidean으로 거리를 계산한다.

실생활에 적용

Mahalanobis distance을 활용하여 주어진 데이터 중 활용에 필요한 진짜 데이터인지 필요없는 가짜 데이터인지 구분을 할 수 있다.

 

Cosine Distance는 각도를 구하는 것이지만 본질은 유사도를 구하는 것이다. 주로 자연어 처리에 사용된다.

'2020_1학기_알고리즘응용' 카테고리의 다른 글

Week08 Viterbi Search  (0) 2020.06.07
Week07 Representation Learning and Deep Learning  (0) 2020.06.07
Week05 Principal Components Analysis  (0) 2020.06.06
Week04 Clustering  (0) 2020.06.05
Week02 Tools for Data Understanding  (0) 2020.06.02

댓글