본문 바로가기

부스트캠프 AI Tech 3기/이론 : U-stage

[Day3] AI math 1. 벡터가 뭐예요? (스칼라곱, 연산, 성분곱, norm, L1, L2, 거리, 각도, 내적)

Vector

:숫자를 원소로 가지는 리스트

:공간에서 한 점 : 1차원이든 5차원이든 한 점으로 나타난다.
원점에서부터 그 위치(점)까지 연결된 화살표로 표현한다.

 

  • 열벡터 : 세로벡터
    ex) [1,]
          [2,]
          [3]
  • 행벡터 : 가로벡터
    ex) [1, 2, 3]
    import numpy as np
    x=np.array([1,2,3])

벡터의 차원

각 벡터안의 숫자들의 갯수

ex) [1,2,3] =>3차원

 

스칼라곱

각 구성성분에 스칼라값을 곱해주게 된다.

방향은 그대로이고 길이만 늘어나거나 줄어든다.

x=np.array([1,2,3])
#a*x=[a*1,a*2,a*3]
print(2*x)
>>>[2 4 6]

스칼라를 a라고 생각하면 된다.

 

벡터의 덧셈과 뺄셈

각 구성성분끼리의 덧셈이나 뺄셈

같은 형태(모양)이어야지만 계산이 가능하다

두 벡터의 덧셈은 다른 벡터로부터 상대적 위치이동을 표현한다.

위 그림에서 y벡터가 파랑, x벡터가 빨강이다.

노랑색 화살표가 y+x 벡터라고 할 수 있다

x=np.array([1,2,3])
y=np.array([4,5,6])
#x+y=[1+4,2+5,3+6]
print(x+y)
>>>[5 7 9]

 

뺄셈은 방향을 반대로만 생각하면 된다.

 

성분곱 : Hadamard product : x⊙y

각 구성 성분끼리의 곱셈

x=np.array([1,2,3])
y=np.array([4,5,6])
#x*y=[1*4,2*5,3*6]
print(x*y)
>>>[ 4 10 18]

 

norm

원점에서부터 그 벡터(한 점) 사이의 거리

모든 임의의 차원 d에 대해 성립한다

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

        • L1 norm
          각 성분의 변화량의 절댓값
          각 구성성분의 변화량의 절댓값을 모두 더해주면 된다.
          robust하게 학습할 떄, lasso 회귀에서 사용한다
def l1_norm(x):
    x_norm= np.abs(x)
    x_norm=np.sum(x_norm)
    return x_norm​
  • L2 norm : 유클리드 거리
    원점에서 직접 점으로 연결되는 선의 거리
    라플라스 근사, ridge 회귀에서 사용한다
    def 12_norm(x):
        x_norm=x*x
        x_norm=np.sum(x_norm)
        x_norm=np.sqrt(x_norm)
        return x_norm​

두 벡터 사이의 거리

벡터의 뺄셈을 이용하면 된다. 뺄셈을 거꾸로 해도 거리는 같다.

 

두 벡터 사이의 각도

각도는 L2 norm에서만 가능하다. L1 norm에서는 불가능하다.

 

x, y, x-y로 이루어진 세 삼각형에서 코사인 제 2법칙을 적용한다.

2차원 뿐 아니라 어떠한 n차원에서 가능하다

def angle(x,y):
    v=np.inner(x,y) / (l2_norm(x) * l2_norm(y))
    a=np.arccos(v)
    return a

내적 : inner product

두 벡터의 성분곱을 모두 더해주는 것

import numpy as np
x=np.array([1,2,3])
y=np.array([4,5,6])

# x*y=1*4+2*5+3*6
print(np.inner(x,y))
>>32

 

내적은 정사영된 벡터(orthogonal projuction)의 길이와 관련이 있다.

정사영된 벡터는 x벡터를 y벡터 위로 빛을 비추었을 때 생기는 그림자를 의미한다.

정사영된 벡터의 길이는 x의 벡터의 길이에 cos(x와 y사이의 각도)를 곱하면 된다.

내적은 정사영된 벡터를 y의 길이만큼 조정한 값이다.

그래서 두 벡터사이의 유사도를 측정하는데 사용한다. (similarity)