ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 행렬은 뭔가요?
    BoostCourse 2023. 1. 7. 19:22

    From BoostCourse 임성빈

    수학기호 쓰려고 LaTex까지 배워왔다.


    1. 행렬은 벡터를 원소로 가지는 2차원 배열이다.

     

    2. 벡터가 공간에서 한 점을 의미한다면 행렬은 여러 점들을 나타낸다.

     

    3. 행렬은 벡터 공간에서 사용되는 연산자로 이해할 수 있다.

    >> $z = Ax$ (벡터 $x$ $\rightarrow$ 벡터 $z$)

    >> 행렬곱을 통해 벡터를 다른 공간으로 보낼 수 있다.

    >> 행렬곱을 통해 패턴을 추출하거나 데이터를 압축할 수 있다.

     

    4. 행렬식이 0이 아니고 $n=m$인 경우 역행렬이 존재한다.

    >> $AA^{-1} = A^{-1}A = I$

    np.linalg.inv(x)

     

    5. 역행렬을 계산할 수 없다면 유사역행렬(pseudo-inverse) 또는 무어-펜로즈(Moore-Penrose) 역행렬 $A^+$을 이용할 수 있다.

    $ n \ge m$인 경우 $A^+ = (A^TA)^{-1}A^T$

    $ n \le m$인 경우 $A^+ = A^T(AA^T)^{-1}$

    np.linalg.pinv(y)

    응용 1: 연립방정식 풀기

    $Ax = b$

    $x = A^+b$

     

    응용2: 선형회귀분석

    $X\beta = \hat{y} \approx y$

    $\beta = X^+y$

    $\Rightarrow$ 벡터 $y$의 $L_2$ 노름을 최소화하는 $\beta$를 찾게 된다.


    # 참고

    np.inner은 $i$번째 행벡터와 $j$번째 행벡터 사이의 내적을 성분으로 가지는 행렬을 계산한다.

    x = np.array([[1, -2, 3],
                  [7, 5, 0],
                  [-2, -1, 2]])
    
    y = np.array([[0, 1, -1],
                  [1, -1, 0]])
    np.inner(x, y)
    array([[-5,  3],
           [ 5,  2],
           [-3, -1]])

     

    'BoostCourse' 카테고리의 다른 글

    선형결합  (0) 2023.01.07
    선형방정식과 선형시스템  (0) 2023.01.07
    벡터가 뭐에요?  (0) 2023.01.05
    Numpy  (1) 2023.01.05
    Exception/File/Log Handling  (0) 2023.01.02

    댓글

Designed by Tistory.