Span / Basis / Rank / Linear Projection

sy_healing·2022년 4월 25일
0

선형대수

목록 보기
3/4

✍️ Span & Basis

  • Span : 주어진 벡터들의 조합(합, 차 등)으로 만들 수 있는 가능한 모든 벡터의 집합. 즉, 공간이다.
    사용하는 벡터에 따라 모든 공간을 채울 수도, 부분적인 공간만 채울 수도 있다.

선형 관계의 벡터(즉, 선형종속)은 조합을 통해 선 외부의 새로운 벡터를 생성할 수 없다.
2차원 평면 상에 존재는 하지만, span은 벡터가 올려져 있는 선으로 제한하는 것이다.

반면에 선형 관계가 없는 벡터(즉, 선형독립)은 주어진 공간의 모든 벡터를 조합을 통해 만들 수 있다.
아래 그림처럼 (0, 0)에 시작을 고정시킨 상태로 두 벡터의 조합을 통한 벡터 생성을 떠올려 보면 된다.


✍️ Basis

  • Basis는 공간을 이룰 수 있는 선형 독립 상태인 벡터들의 모음인데, span의 역개념이다.

Basis에는 특이한 종류가 있다.
Orthogonal Basis : 주어진 공간을 채울 수 있는 서로 수직인 벡터들 (선형독립 + 직교)
(아래 그림에서 분홍색과 파란색 벡터의 관계)
Orthonormal Basis : Orthogonal Basis + Normalized 조건. 길이가 서로 1이면서 수직인 벡터들
(아래 그림에서 노란색과 파란색 벡터의 관계)


정리
span = 주어진 벡터들을 통해 만들어낼 수 있는 공간
basis = 주어진 공간을 통해 만들어낼 수 있는 벡터들의 조합


✍️ Rank(계수)

  • 매트릭스의 Rank란 매트릭스의 열을 이루고 있는 벡터들로 만들 수 있는 공간(span)의 차원이다.

매트릭스의 벡터들 가운데 서로 선형 관계가 있을 수 있기 때문에 매트릭스의 차원과는 다를 수 있다.
예를 들어 3차원 행렬에서 rank 값이 3이 출력될 것이라고 생각 했는데 2가 출력됐다고 한다면, 3개의 벡터 중 2개는 선형 종속 관계를 가진다는 거다.
또, 20*55 shape의 데이터를 가지고 상관 관계를 나타내고자 할 때, Rank 값이 15라고 한다면 전체 데이터를 다 신경 쓸 필요가 없다는 의미이다.

즉, Rank 값을 확인하면 매트릭스가 이루고 있는 벡터들의 선형 관계가 있는지 확인할 수 있다.

📖 Python

# 두 벡터 a=[12, 3], b=[5, 7]의 Rank 확인
df = pd.DataFrame({'a' : [12, 3], 'b' : [5, 7]})

np.linalg.matrix_rank(df)

정리
span = 하나 이상의 벡터로 만들 수 있는 공간(n차원의 공간)
rank = span의 차원의 수(n차원의 공간에서의 n)


✍️ Linear Projection (선형 투영)

  • Projection이란 한 벡터를 다른 벡터의 공간에 표기하는 것이라고 생각할 수 있다.

아래 그림에서 vector b를 vector a 위의 vector p 로 projection 한 것이다.
vector a가 선(1차원) 위에 있는 경우, vector p는 아무리 스케일을 변화시켜도 결국 선 위에 있게 된다.

e = b-p 에서 e는 Error이다. 바로 e를 통해서 직교성을 알 수 있다.

🎈 원래라면 a와 b 두 벡터를 표현하기 위해서는 하나의 면이 필요하다. 그러나 정사영 시킨 후에는 하나의 선으로 벡터를 나타낼 수 있게 된다.
만약 많은 feature를 가진 수많은 벡터가 있는 데이터를 가지고 있다고 해보자. 이 벡터들을 가능한 한 정사영 시켜 최소의 벡터로 표현할 수 있다면, 벡터들을 표현할 수 있는 차원을 축소시켜 저장공간, 즉 메모리를 최소화 할 수 있다는 뜻이 된다. 또한 알고리즘의 cost가 낮아지게 된다.

이것은 여러개의 feature 중에서 의미가 없거나 작은 것들은 제거하면서 원래 데이터가 제공하고자 하는 인사이트는 충분히 살릴 수 있는 차원 축소의 근본이 되는 기술이라고 할 수 있다.
빅데이터에서 이를 활용한다면, 물리적 메모리, 딥러닝을 적용하기 위한 컴퓨터 파워 등이 절약되는 장점이 있다. 또한, 데이터 loss가 있음에도 불구하고 충분히 유의미한 결론을 도출할 수 있다는 데에 의미가 있다.

0개의 댓글