Vector

Sangwoo Bae·2021년 8월 13일
0

boostcamp

목록 보기
2/7

Vector

벡터간의 연산은 단순히 숫자 계산으로 끝낼것이 아니라 공간에서 어떤 의미를 가지는지 이해하는 것이 중요합니다.

그 자체로 가지는 기하학적인 성질과 이것이 실제 머신러닝에서 어떻게 사용되는지를 같이 생각해보아야 합니다.

벡터가 뭔가요?

  • 숫자를 원소로 가지는 리스트(list) 또는 배열(array)

  • 벡터끼리 같은 모양을 가지면 덧셈, 뺄셈, 성분곱(Hadamard product)을 계산할 수 있다.

  • 성분곱

Norm

  • 벡터의 노름(norm) : 원점에서부터의 거리
  • 임의의 차원 d에 대해 성립
  • 기호 : xn\left \| x \right \|_{n}

L1-norm

  • 각 성분의 변화량의 절대값의 합

L2-norm

  • 피타고라스 정리를 이용한 유클리드 거리

두 경우 모두 코드로 구현할 수 있지만 np.limalg.norm 으로 사용할 수 있다.

두 벡터 사이의 각도

  • 제2 코사인 법칙을 사용하여 두 벡터 사이의 각도를 계산할 수 있다.

  • 이때 분자를 쉽게 계산하는 방법이 내적

  • np.inner를 사용해 계산할 수 있음

    • 내적은 정사영을 생각 할 수 있다
    • 내적은 두 벡터의 유사도(similarity)를 측정하는데 사용 가능
    • 기호 : <x,y><x, y>

0개의 댓글