[AI Math] 벡터

MinI0123·2023년 3월 8일
0

벡터

벡터는 공간에서 한 점을 나타내며, 원점으로부터의 상대적 위치를 표현한다.

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)

벡터의 노름(norm)은 원점에서부터의 거리를 의미한다. 거리를 정의하는 방식에 따라 l1-norm과 l2-norm으로 나눌 수 있다.

l1-norm : 각 성분의 변화량의 절대값 합 (축을 따라 이동하는 거리)
l2-norm : 피타고라스 정리를 이용한 유클리드 거리

머싱러닝에서는 필요한 성질에 따라 다른 노름을 사용한다.

두 벡터 사이 각도

두 벡터 사이 거리를 사용하여 각도를 구하는 것은 l2-norm만 가능하다.

  • 제 2 코사인 법칙

  • 내적
    제 2 코사인 법칙으로 구한 공식의 분자를 내적을 사용하여 쉽게 구할 수 있다.

0개의 댓글