Linear independent, Span

Jaeyeon Bae·2022년 3월 9일
0
post-thumbnail

머신러닝을 공부한다는 대학원생이 수학을 못해서 쓰나.. 수학이라면 진절머리냈던 나도 이젠 수학을 공부할때가 되었다. (아니, 사실 한참 지났다)

각설하고, 저번 수업 내용을 간략하게 정리해보자.

왜 딥러닝을 하는데 Linear Algebra가 필요해?

A good understanding of linear algebra is essential for understanding and working with many machine learning algorithms, especially deep learning algorithms.
e.g., Vectorized code, Dimensionality reduction

Deep learning을 조금이라도 써봤으면 알겠지만 거의 대부분의 데이터는 텐서 형태로 바뀐 뒤 학습된다.

그리고 이 텐서를 조작하기 위해선.. Linear algebra에 대한 지식이 필요하다. 이에 대한 지식이 없다면 딥러닝 모델을 짜는거야 가능하겠다만 Regularization과 Optimization은 형편없이 되어있을 것이다. (뜨끔) 따라서 Linear regression에 대한 공부가 필요한 것이다.

Span, Linear Independent

자, 그럼 오늘 글을 쓰게 된 원인인 Span과 Linear Independent에 대해 정리해보자. 내가 바보인건 알고있었지만 다시 확인사살해 준 이 두 개념에 대해 정리해보자.

Linear Independent

Linear Independent의 정의를 내 나름대로 간단하게 설명하면

벡터 x, y에 대해 ax + by = 0 의 식을 만족하는 0이 아닌 a, b가 존재한다면 이 두 벡터 x,y는 dependent 한 것이다. 반대로 a=0, b=0 일때만 해당 수식이 성립한다 하면, x와 y 벡터는 서로 independent 한 것이다.

Span

Span은 쉽게 설명하면,

하나 또는 여러개의 벡터의 조합 (linear combination)을 통해 나타낼 수 있는 공간을 이야기 한다. 이는 line이 될수도 있고, 3차원 공간에서의 subspace가 될 수도 있다.

그럼 span을 계산해보자
먼저 아래 수식을 만족하는 Ax = y가 있다고 가정하자.

2𝑥1 + 3𝑥2 + 𝑥3 + 4𝑥4 − 9𝑥5 = 12
𝑥1 + 𝑥2 + 𝑥3 + 𝑥4 − 3𝑥5 = 3
𝑥1 + 𝑥2 + 𝑥3 + 2𝑥4 − 5𝑥5 = 8
2𝑥1 + 2𝑥2 + 2𝑥3 + 3𝑥4 + 8𝑥5 = 14

이를 가지고 계산을 해보려 했지만.. 해당 함수는 차원이 너무 높다. (자그마치 5차원이다) 따라서 차원을 줄이고자 span을 이용하는 것이다!

그럼 span은 어떻게 계산을 하느냐?

Ax = 0 을 만족시키는 x를 계산하면 된다.

계산하는 방법이야... 이 글을 보실 정도면 계산할 수 있으시리라 믿고 결과는 다음과 같이 나온다.

t와 s는 linear independent의 정의에서 말했던 a,b가 되는것이고, 두개의 벡터는 x, y가 되는것이다. 이 과정을 거치면 우리는 모든 t,s에 대해 Ax = 0 은 항상 성립하는 두 벡터를 얻게 된 것이다.
이게 의미하는 바가 무엇이냐.. 함은 x1 ~ x5가 표현할 수 있는 모든 공간을 위에서 계산된 두 벡터만으로 표현이 가능하다는 의미이다.
하지만, 이는 이론적인 값일 뿐이고 사실 우리가 원하는 y값은 해당 차원에 없을 수 있다.
하지만..! 이는 xp를 더해줌으로써 간단하게 해결 될 것이다.

xp를 더해주면 대체 무슨 의미가 있나~ 할 수 있는데, 여기서 중요한것은 x1~x5를 두개의 벡터(x,y)만을 이용하여 계산할 수 있다는 것이다..!

references

unist 유재준 교수님 "딥러닝 원론" 수업
https://www.youtube.com/watch?v=k7RM-ot2NWY&list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab&index=2
https://twlab.tistory.com/24

0개의 댓글