벡터가 뭐예요

벡터

  • 벡터는 공간에서 한 점을 나타낸다. 1차원은 숫자, 스칼라로 표현한다.
  • 백터는 원점으로부터 상대적인 위치를 표현한다.
  • 벡터에서 숫자를 곱해주면 길이만 변한다.
  • 같은 모양을 가진다면 각 구성성분에의 덧셈과 뺄셈으로 계산할 수 있다. (모양이 다르면 불가능)
  • 같은 모야을 가진다면 성분곱(Hadamard Product)을 계산할 수 있다.

2차원 공간이라면 수직 상의 표현되는 값이 아니라 x, y축 위의 점으로 표현할 수 있음. (x, y)일 때, 좌표평면 상의 한 점을 나타낸다. 3차원 공간이라면, x, y, z로 표현된다.

덧셈 & 뺄셈

  1. 두 벡터의 덧셈은 다른 벡터로부터 상대적 위치이동을 표현한다
  2. 뺄셈은 방향을 뒤집은 덧셈이다.
    1. -(x) 를 더하는 것 !

노름 (Norm)

임의의 차원 d에 대해 성립한다. 벡터 구성성분 원소 개수에 상관 없이 계산할 수 있음.

  • 원점에서부터 한 점 사이의 거리
  • 주어진 벡터 x의 노름이 두 가지로 표현할 수 있음
    1. 각 성분의 변화량의 절댓값을 모두 더한다. ( 좌표 평면에서 각 좌표축을 따라 움직이는 거리 )
    2. 피타고라스 정리를 이용해 유클리드 거리를 계산한다. ( 임의의 차원에서도 계산이 가능 )

image-20210201215617312

노름의 종류

노름의 종류에 따라 기하학적 성질이 달라진다.

$L_1$ 은 마름모꼴 형태이다. 서로 다른 노름은 거리 개념이 달라지기 때문에 원이라는 정의가 원점에서부터 거리로 정의되기 때문에 거리 개념을 다르게 정의하면 모양 또한 달라지게 된다.

기계학습 목적에 따라 종류를 선택한다.

image-20210201222001903

두 벡터 사이의 거리

$L_1$, $L_2$ 노름을 이용해 두 벡터 사이의 거리를 뺄셈으로 계산한다.

image-20210201230627050

두 벡터 사이의 각도

d차원에서 계산할 수 있도록 $L_2$ 노름으로만 가능하다.

image-20210201230736002

image-20210201230827775

1
2
3
4
5
6
7
8
9
def 12_norm(x):
    return 



def angle(x, y):
    v = np.inner(x, y) / (12_norm(x) * 12_norm(y))
    theta = np.arccos(v)
    return theta

내적 해석

내적은 정사영(orthogonal projection)된 벡터의 길이와. 관련 있다.
proj(x)는 벡터 y로 정사영된 벡터 x의 그림자를 의미한다.

  • 스칼라 : 벡터 길이를 조정해주는 개념 ( 늘이거나 줄이거나 반대방향으로 조정 )
  • 내적 : 정사영된 벡터의 길이를 벡터y의 길이만큼 스칼라 곱을 취해줌으로써 정사영된 벡터 길이를 y벡터의 크기에 맞추어 조정 - 두 벡터 사이의 유사도를 조정하는데 사용됨

image-20210201231334944