[프로그래머를 위한 선형대수] Review (2)

Machine Learning|2022. 2. 5. 15:28
반응형

2. 랭크, 역행렬, 일차방정식

2장에서는 결과 y로 원인을 추적하는 내용에 대해 다룬다.

y와 x 공간을 자유자재로 오갈 수 있는지, 정보가 온전히 보전되는지 살펴본다.

 

 

2.1 역문제 - 결과 y를 통해 x를 추정하는 형태의 문제

 

2.2 성질이 좋은 경우

성질이 좋은 경우는 "정칙 행렬"이고, 정보가 온전히 보존된다.

 정칙행렬 : 역행렬이 존재하는 정방행렬 A
 특이행렬 : 정칙행렬이 아닌 행렬

y에 대한 역행렬 x를 구하는 방법에는 두 가지가 있다.
1. 변수 소거로 연립방정식 풀기
2. 블록행렬 표기로 풀기 (가우스 요르단 소거법)  
   (A|y) 에서 (I|X)로 만듦

위의 방법론으로 역행렬이 구하는 것이 중간에 막힐 때, 피보팅 혹은 기본 변형을 사용한다.

피보팅 - 두 행을 바꿈

기본 변형
행을 c배함 - 단위행렬(n, n)이고 성분이 c인 행렬 Q를 곱한다 - det Q = c
a행의 c배를 b행에 더함 - 단위행렬 (b, a) 좌표 성분이 c인 행렬 R를 곱한다. - det R = 1
a행과 b행을 바꿈 - 단위행렬 a행과 b행을 바꾼 S를 곱한다 - det S = -1

  

2.3 성질이 나쁜 경우

이전 차원에는 성질이 좋은 경우 = x, y 차원이 같으므로 사상 A가 정방행렬인 경우였다.

하지만 이제는 성질이 나쁜 경우, 결과 y를 알 때, 원인 x를 구해야 한다.

성질이 나쁘다 함은 y에서 x로의 변환이 불완전함을 의미한다.

 

1. 단서가 부족한 경우

y의 차원이 x보다 작아 x의 정보를 완전히 알 수 없는 경우
(x -> y일 때) 원래보다 차원이 작아지므로 사상 A는 납작하게 누르는 사상이 된다.
이 경우에는 정보가 누락된다

사상 A에 의행 y에 도달하는 Ax = 0을 만족하는 x의 집합을 Ker A
Ex) x1(1,1) x2(3,4) -> y1(0) , y2(0) 이면 Ker A는 x1, x2가 된다.

2. 단서가 많은 경우 

y차원이 x보다 커 y내에 노이즈가 있는 경우 단서끼리 서로 모순되는 문제가 생긴다.
"주어진 A에 대해 x를 여러모로 움직인 경우에 A로 옮기는 y = Ax의 집합을 A의 상이라고 한다"
책의 말 표현을 쉽게 바꿔보자면 사상 A에 의해 y 공간상으로 옮겨진 x집합들을 Im A라고 한다.
라고 하는 게 좀 더 잘 와닿지 않을까 싶다.


3. x, y 차원의 개수가 일치해도 A가 납작하게 만드는 사상이라면 성질이 나빠진다.

 

간단하게 요약하자면

1.은 차원이 x(원인)가 차원이 작은 y(결과)로 이동한 상태에서
y의 단서로 x를 다시 알아내야 하는 상황

2.은 차원이 작은 x(원인)가 차원이 y(결과)로 이동한 상태에서,
y+노이즈의 단서로 x를 다시 알아내야 하는 상황

 

 

 

차원정리

x은 n차원 y는 m차원
m x n 행렬 A에 대해  dim Ker A + dim Im A = n 만족

m<n (가로가 긴 A)이면 단사 불가능 
같은 결과 y가 나오는 원인 x가 단 하나가 될 수 없다.
차원이 줄어들면서 하나로 모여 버리기 때문이다.
위의 1.과 연결

m>n (세로가 긴 A)이면 전사 불가능
존재하는 모든 y에 대응하는 x가 존재할 수 없다.
차원이 증가하면서 x에 대응하는 y 말고, 삐져나온 y'가 추가로 있기 때문
위의 2.과 연결

'납작하게'를 식으로 표현한다면
x1 != x2 인데, Ax1 = Ax2 가 성립하는 x1, x2가 존재한다는 말이다
이러한 경우 A는 선형 종속이라 하고, 아닌 경우를 선형 독립이라고 한다.

사상 A 내 벡터 a3가 a1, a2에 의해 정의가 된다면 이를 선형 종속이라 본다.

 

랭크

Im A가 이동점(y)의 공간 전체를 커버할 수 있는가?

랭크란 Im A의 차원을 의미하고 rank A라고 쓴다.

Ker A가 o 뿐이라면 Ker A는 y로 이동하는 x는 o뿐
= Ker A는 0차원 => rank A = n -> A는 단사 "y에 매칭 되는 x는  둘"

Im A가 m차원 전체를 커버한다면 삐져나온 y'가 없어야 한다
-> Im A는 m차원 -> rank A는 m -> A는 전사 " y에 x가 매칭 됨"

랭크의 기본 성질 

1. rank A <= m, n
2. 정칙행렬을 곱해도 랭크는 변하지 않는다.
3. 전치해도 랭크는 동일하다.
4. 행렬 A가 선형 종속인 경우, 랭크가 m보다 줄어든다.

A가 A = BC로 분해되어 3차원 -> 2차원 -> 3차원 공간으로 이동했을 때,
차원이 한번 줄어들었으므로, 3차원 공간상에서 rank A = 2 가 된다.
이를 "잃어버린 정보는 다시 복원할 수 없다" 라고 표현한다.

Im A를 다시 생각해보면 , n차원 벡터 x를 여러모로 움직이는 경우 y = Ax의 움질 일 수 있는 범위이다.
span{a1 ... an}이라고도 쓰며, 벡터 a가 만드는 '선형 부분 공간'이라고 부른다.

랭크를 계산하는 방법은 연립방정식을 풀 때와 유사하다.
행렬 A의 대각 성분을 1이 되게 하고, 비대각 성분을 0으로 만드는 과정을 반복해나가면 된다.

 

반응형

댓글()