선형 대수학 | Chapter 1. 벡터, 파트1 : 벡터와 벡터의 기본 연산

    728x90

     

    1.1 Numpy로 벡터 생성 및 시각화하기

    벡터 : 수의 나열

    차원 : 벡터가 가진 원소의 수

    방향 : 열 방향(높이 세워진 형태), 행 방향(평평하게 누운 형태)

     

      수학 코드
    차원 벡터가 가진 원소의 수 벡터의 길이(length) 또는 모양(shpae)
    예시   ex) 모든 벡터는 벡터가 가진 원소의 수(수학적 차원)에 상관없이 Numpy에서 '2차원 배열'로 간주됨.
    특정 방향이 없는 수 나열은 원소 수에 상관없이 파이썬에서 1차원 배열임.

     

    보통 벡터에 아무런 표시가 없으면 열 방향이라고 가정함.

    행 벡터의 경우에 $w^T$로 씀. 여기에서 $T$는 전치 연산을 나타냄.

     

    ▶ 벡터의 기하학적 해석

    대수학적 해석 : 순서대로 나열된 수 목록

    기하학적 해석 : 특정 길이(또는 크기)와 방향(또는 각도 : 양의 $x$축을 기준으로 계산)을 가진 직선

    >> 벡터와 좌표는 다르지만 벡터가 원점에서 시작될 때는 일치함. 이를 기준위치라고 함. 

    (기준위치의 벡터는 꼬리가 원점에 있고, 머리는 기하학적 좌표를 가리킴)

     

    1.2 벡터 연산

    (1) 두 벡터의 덧셈, 뺄셈

    두 벡터의 차원과 방향이 같을 때만 더하고 뺄 수 있음.

    (2) 스칼라-벡터 곱셈

    스칼라는 벡터나 행렬에 포함된 숫자가 아닌 수 그 자체임. $\alpha$ 또는 $\gamma$로 나타냄.

    스칼라는 벡터의 방향을 바꾸지 않고, 크기만 조정함.

    * 영벡터는 모든 원소가 0임. 자명한 해(설명하지 않아도 되는 명백한 해)라고도 함.

    두 벡터의 평균을 구하려면, 두 벡터를 더한 뒤 스칼라 1/2을 곱하면 됨.

     

    1.3 벡터 크기와 단위벡터

    벡터의 크기(기하학적 길이 또는 노름 norm)는 벡터의 꼬리부터 머리까지의 거리임.

    $||v||$로 표현. 표준 유클리드 거리 공식으로 구함.

    # 배열의 차원
    v = np.array([1,2,3])
    v_dim = len(v) 
    
    # 기하학적 길이(크기)
    v_mag = np.linalg.norm(v)

     

    단위벡터 : 기하학적인 길이가 1인 벡터, $||v|| = 1$

    $\vec{v} = \frac{1}{||v||} v$

    영벡터를 제외한 모든 비단위벡터는 연관된 단위벡터를 가짐.

     

    1.4 벡터-내적

    내적(또는 점곱, 스칼라곱) : $a^Ta$, $a·b$, $<a, b>$

    내적을 구하는 방법  : 두 벡터의 대응되는 원소끼리 곱한 다음, 모두 더하기.

    즉, 내적은 동일한 차원의 두 벡터 사이에서만 성립함.

    [수학적 정의]

    $\delta = \sum^{n}_{i=1} a_{i}b_{i}$

    [기하학적 정의]

    $\alpha = cos(\theta_{v, w}\,||v||\,||w||)$

    # 내적 함수
    # v와 w는 배열
    np.dot(v, w)

    내적은 두 벡터 사이의 유사성 또는 매핑의 척도임. 

    두 변수가 서로 관련이 있을 때 내적의 크기도 큼.

    두 변수 사이의 정규화된 내적을 피어슨 상관계수라고 함.

     

    벡터 크기는 엄격하게 양수이지만 $cos(\theta)$의 값은 -1과 1사이임.

    내적의 부호가 전적으로 두 벡터 사이의 기하학적 관계로 결정된다는 뜻임.

     

    [ 중요 암기사항  ] 다음 명제들은 동치임.

    1) 두 벡터가 직교한다. 2) 두 벡터는 내적이 0이다. 3) 두 벡터 사이의 각은 90˚다.

     

    1.5 벡터-외적

    외적 행렬의 각 행은 행벡터 스칼라에 대응되는 열벡터 원소를 곱한 것.

    $vw^T$로 나타냄.

    두 벡터는 차원이 달라도 됨.

     

    1.6 직교벡터 분해

    분해를 통해 행렬에 숨겨진 정보를 밝혀내거나 행렬을 사용하기 쉬운 형태로 만들기도 하고, 데이터를 압축하기도 함.

    (예시) 42.01을 42와 0.01로 분해할 수 있음. 이 42를 소수 2, 3, 7의 곱으로 소인수 분해할 수 있음.

    목표 벡터를 두 개의 벡터로 분해.

    두 벡터의 합은 목표벡터가 됨.

    하나의 벡터는 기준벡터와 직교하지만 다른 벡터는 기준벡터와 평행함.

     

    728x90

    댓글