(AI Math 2강) 행렬이 뭐예요?
210805
행렬이란?
벡터는 숫자를 원소로 가지는 1차원 배열이라면, 행렬은 벡터를 원소로 가지는 2차원 배열이다.
이 때 행벡터를 원소로 가지는 것으로 이해해야 한다.
소문자는 벡터, 대문자는 행렬로 표기한다.
행과 열이라는 인덱스를 가진다
전치행렬은 행과 열의 인덱스가 바뀐 행렬이다.
벡터에 적용하면 열벡터가 행벡터로, 행벡터가 열벡터로 바뀐 벡터이다.
행렬의 특징
벡터가 공간에서 한 점을 의미한다면 행렬은 여러 점들을 나타낸다.
행렬의 행벡터 는 i번째 데이터를 의미한다.
행렬의 덧셈, 뺄셈, 성분곱, 스칼라곱
행렬끼리 같은 모양을 가지면 덧셈, 뺄셈을 계산할 수 있다.
성분곱과 스칼라곱도 벡터와 똑같다
행렬 곱셈
행렬 곱셈은 i번째 행벡터와 j번째 열벡터 사이의 내적을 성분으로 가지는 행렬을 계산하는 것이다
numpy에선
@
연산으로 쉽게 행렬 곱셈을 표현할 수 있다.
행렬 내적
행렬 X와 행렬 Y를 내적할 때 X와 로 계산하게 된다.
np.inner(X, Y)
로 내적을 구할 수 있다.이 때 X의 행의 개수와 Y의 열의 개수가 같아야 한다.
행렬의 특징 2
행렬은 벡터공간에서 사용되는 연산자로 이해한다.
벡터와 행렬의 곱을 통해 곱해지는 벡터를 다른 차원의 공간으로 보낼 수 있다.
행렬곱을 통해 패턴을 추출할 수 있고 데이터를 압축할 수도 있다
모든 선형변환은 행렬곱으로 계산할 수 있다
역행렬
어떤 행렬 A의 연산을 거꾸로 되돌리는 행렬을 역행렬이라 부르고 라 표기한다.
역행렬은 행과 열의 숫자가 같아야 하며 행렬식이 0이 아니어야 한다
A = A = I
I는 항등행렬
np.linalg.inv(A)
로 역행렬을 구할 수 있다.역행렬을 구할 수 없을 때는 유사역행렬 또는 무어-펜로즈 역행렬을 이용한다.
np.linalg.pinv(A)
로 유사역행렬을 구할 수 있다.
Last updated
Was this helpful?