NAVER Boostcamp AI Tech/Level 1

[Week 1 / AI Math] Vectors

sdbeans 2022. 1. 24. 14:57

What is vector?

  • list of array containing numeric elements
  • represents a point in n-dimensional space; distance from origin
  • multiplying a number to a vector will only change the length of vector

 

벡터는 숫자를 성분으로 갖고 있는 리스트나 배열이다. n차원에 있는 하나의 점을 나타내며 원점에서부터 그 점까지의 거리를 나타내기도 한다. 벡터에 숫자를 곱하면 벡터의 길이만 바뀌고 방향은 바뀌지 않는다.

With vectors with same shape, you can...

  • add
  • subtract
  • multiply (a.k.a. Hadamard product, 성분곱)
    • multiply i-th element of vector u with i-th element of vector v

 

두 벡터의 모양, 즉 크기가 같다면, 두 벡터끼리 덧셈, 뺄셈, 그리고 성분곱이라고도 하는 곱셈이 가능하다. 두 벡터 모두 성분 개수가 같기 때문에 각 벡터의 i번째 성분끼리 서로 더하고 빼고 곱하는 것이다. 세가지 연산을 코드로 표현했다.

import numpy as np

u = np.array[1, 2, 3]
v = np.array[4, 5, 6]

add = u + v
# =[5, 7, 9]

subtract = u - v
# =[-3, -3, -3]

multiply = u * v
# =[4, 10, 18]

Vector norm

L1-norm

$ \left\| x\right\|_1 = \sum_{i}^{d}\left| x_i \right| $

L2-norm

$ \left\| x\right\|_2 = \sqrt{\sum_{i}^{d} \left| x_i \right| ^2} $

p-norm

$ \left\| x\right\|_p = \left ( \sum_{i}^{} \left| x_i \right| ^p  \right ) ^ \frac{1}{p} $

벡터 노름을 generalize하면 위와 같은 공식으로 표현할 수 있다. L1 노름은 p가 1일 때이며, L2 노름은 p가 2일 때이다.