(AI Math 2강) 행렬이 뭐예요?

210805

행렬이란?

  • 벡터는 숫자를 원소로 가지는 1차원 배열이라면, 행렬은 벡터를 원소로 가지는 2차원 배열이다.

    • 이 때 행벡터를 원소로 가지는 것으로 이해해야 한다.

  • 소문자는 벡터, 대문자는 행렬로 표기한다.

  • 행과 열이라는 인덱스를 가진다

  • 전치행렬은 행과 열의 인덱스가 바뀐 행렬이다.

    • 벡터에 적용하면 열벡터가 행벡터로, 행벡터가 열벡터로 바뀐 벡터이다.

행렬의 특징

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

  • 행렬의 행벡터 xi x_i 는 i번째 데이터를 의미한다.

행렬의 덧셈, 뺄셈, 성분곱, 스칼라곱

  • 행렬끼리 같은 모양을 가지면 덧셈, 뺄셈을 계산할 수 있다.

  • 성분곱과 스칼라곱도 벡터와 똑같다

행렬 곱셈

  • 행렬 곱셈은 i번째 행벡터와 j번째 열벡터 사이의 내적을 성분으로 가지는 행렬을 계산하는 것이다

  • numpy에선 @ 연산으로 쉽게 행렬 곱셈을 표현할 수 있다.

행렬 내적

  • 행렬 X와 행렬 Y를 내적할 때 X와 YT Y^T 로 계산하게 된다.

  • np.inner(X, Y) 로 내적을 구할 수 있다.

  • 이 때 X의 행의 개수와 Y의 열의 개수가 같아야 한다.

행렬의 특징 2

  • 행렬은 벡터공간에서 사용되는 연산자로 이해한다.

  • 벡터와 행렬의 곱을 통해 곱해지는 벡터를 다른 차원의 공간으로 보낼 수 있다.

  • 행렬곱을 통해 패턴을 추출할 수 있고 데이터를 압축할 수도 있다

  • 모든 선형변환은 행렬곱으로 계산할 수 있다

역행렬

  • 어떤 행렬 A의 연산을 거꾸로 되돌리는 행렬을 역행렬이라 부르고 A1 A^{-1} 라 표기한다.

  • 역행렬은 행과 열의 숫자가 같아야 하며 행렬식이 0이 아니어야 한다

  • AA1 A^{-1} = A1 A^{-1} A = I

    • I는 항등행렬

  • np.linalg.inv(A) 로 역행렬을 구할 수 있다.

  • 역행렬을 구할 수 없을 때는 유사역행렬 또는 무어-펜로즈 역행렬을 이용한다.

  • np.linalg.pinv(A) 로 유사역행렬을 구할 수 있다.

Last updated

Was this helpful?