Machine Learning/기법

[통계] 행렬(Matrix), 행렬 연산

파송송 2023. 3. 23. 15:31
728x90

Matrix 표기법

행렬(Matrix)

수 또는 다항식을 직사각형 모양으로 배열한 것

$$ \begin{bmatrix}a_{11} & a_{12} & \cdot & \cdot & a_{1n} \\ 
a_{21} & a_{22} & \cdot & \cdot & a_{2n} \\
\cdot & \cdot & \cdot & \cdot & \cdot \\
\cdot & \cdot & \cdot & \cdot & \cdot \\
a_{m1} & a_{m2} & \cdot & \cdot & a_{mn} \\ \end{bmatrix}  $$


벡터(Vector)

행 또는 열의 수가 1인 경우

  • 행이 1인 경우 Row Vector
    • \( \begin{bmatrix}a_{11} & a_{12} & \cdot & \cdot & a_{1n}\ \end{bmatrix}  \)
  • 열이 1인 경우 Column Vector
    • \( \begin{bmatrix}a_{11} \\ a_{21} \\ \cdot \\ \cdot \\ a_{n1}\ \end{bmatrix}  \)

Transpose 

Matrix의 행과 열을 바꾼 것 보통 \( A^{T} \)를 보편적으로 많이 씀

\( A =\begin{bmatrix}a_{11} & a_{12} \\ a_{21} &a_{22} \\ \cdot & \cdot \\ \cdot & \cdot \\ a_{n1} & a_{n2}\ \end{bmatrix}  \), \( A^{'}=A^{T}=A^{t}=\begin{bmatrix}a_{11} & a_{21} &\cdot &\cdot &a_{n1} \\ a_{12} &a_{22}&\cdot &\cdot &a_{n2}  \end{bmatrix}  \)


Symmetric

  • \( A = A^{T} \) 일 때,  A를 Symmetric이라고 부름
  • A를 Transpose했을 때 A가 나올 때 (정방행열(행과 열이 같은 matrix)에서 발생할 수 있음)

Matrix 종류

Scalar

1x1 matrix로 원소 하나의 값 (상수)


단위행렬(Identity matrix)

주대각선의 원소가 모두 1이며 나머지 원소는 0인 정사각행렬

$$ I =  \begin{bmatrix}1 &0 & \cdot & \cdot & 0 \\
0 &1 &   \cdot &\cdot & \cdot \\
\cdot &\cdot & \cdot & \cdot & \cdot \\
\cdot &\cdot & \cdot & \cdot & \cdot \\
0 & 0 & \cdot & \cdot & 1\\  \end{bmatrix}  $$


대각행렬(Diagonal matrix)

주대각 성분이 아닌 모든 성분이 0인 정사각 행렬

$$ diag(a_{1},\cdots,a_{n}) =  \begin{bmatrix}a_{1} &0 & \cdot & \cdot & 0 \\
0 &a_{2} &   \cdot &\cdot & \cdot \\
\cdot &\cdot & \cdot & \cdot & \cdot \\
\cdot &\cdot & \cdot & \cdot & \cdot \\
0 & 0 & \cdot & \cdot & a_{n}\\  \end{bmatrix}  $$


Matrix 연산

Equality

모든 i, j에 대하여 a_{ij} = b_{ij} 이면 A = B라고 할 수 있음


합, 차 연산 성질

  • 교환법칙
    • \( A \pm B = B \pm A \)
  • 결합법칙
    • \( (A \pm B) \pm C = B \pm (A \pm C) \)
  • \( (A \pm B)^{T} = B^{T} \pm A^{T} \) 

곱셈

  • 상수배
    • \( b=kA  \Leftrightarrow  b_{ij}=ka_{ij}\)
  • 행렬곱(@)
    • \( A=(m \times p), B=(p \times n) \)
    • \( C = AB, C=(m \times n) \)
      • \( c_{ij}= \sum_{k=1}^pa_{ik}b_{kj}  \)
        • \( \begin{bmatrix}a_{11}\\ a_{21}\\ a_{31}\end{bmatrix} \cdot \begin{bmatrix}b_{11}& b_{12}& b_{13}\end{bmatrix} =  \begin{bmatrix}a_{11}b_{11} & a_{11}b_{12}& a_{11}b_{13}\\
          a_{21}b_{11} & a_{21}b_{12}& a_{21}b_{13}\\
          a_{31}b_{11} & a_{31}b_{12}& a_{31}b_{13}\\\end{bmatrix} \)

행렬의 곱은 일반적으로 \( AB  \neq  BA \) 하기 때문에 상수의 곱이랑 헷갈리면 안됨


내적(dot)

결괏값이 스칼라가 나오는 계산

Row Vector와 Column vector의 곱

  • 2차원일 때는 행렬곱과 같은 방식으로 계산하지만 3차원부터 텐서곱(외적)을 하게 되어 방식이 달라짐

행렬곱 성질

  • \( A(B+C)=AB+AC \)
  • \( A(BC) = (AB)C \)
  • \( (AB)^{T}=B^{T}A^{T} \)

상수곱에서 AB = 0일 때, A와 B 둘 중 하는 무조건 0이 되는데 행렬곱에서는 A와 B 어느 쪽도 0이 아닐 수 있음

  • \( \begin{bmatrix}1 & 2 \\3 & 6 \end{bmatrix} \begin{bmatrix}2 & -4 \\-1 & 2 \end{bmatrix} = \begin{bmatrix}0 & 0 \\0 & 0 \end{bmatrix} \)

Trace

특정 행렬의 대각 행렬을 모두 더하는 것

$$ tr(A)=a_{11}+a_{22}+\cdots+a_{nn} $$

Trace 성질

  • \( tr(A^{T})= tr(A) \)
  • \( tr(kA)=ktr(A) \)
  • \( tr(I_{n})=n \)

A, B가 정사각 행렬인 경우 성질

  • \( tr(A+B)=tr(A)+tr(B) \)
  • \( tr(AB) = tr(BA) \)
  • \( tr(ABC) = tr(BCA)=tr(CAB) \)
    • 한 칸씩 밀었을 때 결과 값이 같음 \( tr(CBA) \)의 경우 위의 값과 다르게 나옴

역행렬(Inverse)

$$ AB=BA=I_{n} $$

위의 식을 만족할 때, B는 A의 역행렬이고, A는 B의 역행렬임

 

성질

  • \( I^{-1}=I\) (-1은 역행렬이라는 뜻)
  • \( (A^{-1})^{-1}=A \)
  • \( AB=I, BA=I \)

멱등법칙(Idempotent)

연산을 여러 번 적용해도 결과가 달라지지 않는 성질

  • \( AA=A \)
728x90