벡터는 공간에서 한 점을 나타내며, 원점으로부터의 상대적 위치
를 표현한다.
x = [1, 2, 3]
x = np.array([1, 2, 3])
숫자를 원소로 가지는 List
, Array
를 벡터를 사용할 수 있다. 코드에서는 list와 array를 사용하여 표현하기 때문에 보통 행백터로 표현된다.
import numpy as np
x = np.array([1, 2, 3])
y = np.array([4, 5, 6])
print(3 * x) # 스칼라 곱
print(x + y) # 덧셈
print(x - y) # 뺄셈
print(x * y) # 성분 곱
벡터에 스칼라 값을 곱해주면 벡터의 길이를 변화
시킬 수 있다. (스칼라값이 0보다 작으면 벡터의 방향이 반대가 된다.)
벡터가 같은 모양(같은 차원)이면 덧셈
, 뺄셈
, 성분 곱
연산이 가능하다. * 연산자
는 내적이 아닌 성분 곱(element-wise product)임을 주의해야 한다.
벡터의 노름(norm)은 원점에서부터의 거리
를 의미한다. 거리를 정의하는 방식에 따라 l1-norm과 l2-norm으로 나눌 수 있다.
l1-norm : 각 성분의 변화량의 절대값 합 (축을 따라 이동하는 거리)
l2-norm : 피타고라스 정리를 이용한 유클리드 거리
머싱러닝에서는 필요한 성질에 따라 다른 노름을 사용한다.
두 벡터 사이 거리를 사용하여 각도를 구하는 것은 l2-norm만 가능하다.