Vector
- N차원 공간에서의 한 점
- 숫자를 원소로 가지는 list로 표현 가능
- 벡터에 스칼라곱을 하면 길이만 변화
- 음수를 곱하면 반대 방향
- 서로 같은 차원의 벡터만 덧셈, 뺄셈, 곱셈 가능
- Hadamard product (element-wise product) - 성분곱
Norm
- N차원에서 원점에서 하나의 벡터까지의 거리
L1 Norm
- 각 성분의 절댓값을 모두 더함
def L1_norm(x):
x_norm = np.abs(x)
x_norm = np.sum(x_norm)
return x_norm
L2 Norm
- 유클리드 거리를 구함 (피타고라스의 정리)
def L2_norm(x): # np.linalg.norm으로 구현 가능
x_norm = x*x
x_norm = np.sum(x_norm)
x_norm = np.sqrt(x_norm)
return x_norm
두 Vector의 거리
- 벡터의 뺄셈
- y - x = x - y
두 Vector의 각도
- L2 Norm에서만 가능
- 제2 코사인 법칙 사용
- 내적(inner product) 연산
def angle(x, y): # 두 벡터 x,y
v = np.inner(x,y) / (L2_norm(x) * L2_norm(y))
theta = np.arccos(v)
return theta
Inner Product (내적)
- 두 vector의 유사도를 측정할 때 사용
- 정사영(orthogonal projection)된 벡터의 길이를 조정한 값
Radian
'부스트캠프 AI Tech > Math' 카테고리의 다른 글
Statistics (0) | 2022.01.19 |
---|---|
Probability (0) | 2022.01.19 |
Neural Network (0) | 2022.01.19 |
Gradient Descent (0) | 2022.01.18 |
Matrix (0) | 2022.01.17 |