선형변환으로서의 행렬이 가지는 의미

1. 선형변환으로 생각하는 행렬

 

행렬은 벡터공간에서 두 데이터 사이 연결관계를 나타내는 연산자로 생각할 수도 있다. (선형변환)

 

그림1. 선형변환으로서의 행렬

 

벡터 $x$에 행렬 $A$를 곱하여 다른 차원의 벡터 $z$로 변환시킴

 

기계학습의 선형모델들은 위와 같은 선형변환 행렬곱을 이용해서 데이터 $x$의 패턴($z$)을 추출하거나 압축시킨다.

 

행렬 A의 연산을 거꾸로 되돌리는 행렬이 A의 역행렬

 

그림2. 행렬에 의한 차원 변환

 

 

$A$의 역행렬은 $A$의 행과 열의 숫자가 같고 $A$의 행렬식이 0이 아니어야 존재한다

 

그림3. 역행렬에 관한 여러가지 사실들

 

 

2. np.linalg.inv()

 

numpy의 np.linalg.inv()는 역행렬이 존재하는 행렬의 역행렬을 구해준다

 

컴퓨터 연산 오차로 인해 자기 자신과 역행렬을 곱해보면 정확히 항등행렬이 나오진 않고 비슷한 값으로 나온다

 

그림4. 역행렬을 numpy로 구한 예시

 

X와 np.linalg.inv(X)를 곱해보면 컴퓨터 연산 한계로 인해 정확히 항등행렬이 나오는 것은 아니지만 비슷하게 나온다

TAGS.

Comments