빅데이터 선형대수학

2023. 10. 23. 16:51빅데이터 수학 기초

일단 생소할 수 있는 부분에 대해서만 다루겠다.

 

1. Graph or relation

 

각 점이 있을 때 행렬로 그래프를 나타낼 수 있다.

 

또 각 정점에 대한 간선을 생각해서 결합행렬을 정의할 수 있다.

 

2. incidence matrix

각 정점을 보자. 1번 간선과 2번 간선은 1번 정점에나 나가는 간선이고 4번 간선은 1번 정점으로 들어오는 간선이다.

Aij에서 i가 1일 때 1번 정점으로부터 출발된 간선을 -1, 나간 간선을 1 , 없는 간선을 0을 줘서 1행을 구성할 수 있다.

 

3. inner production

<a,b> 로 표시하고 a^tb 를 시행하는 것이다. (열벡터 가정)

<a,b> = ||a||||b||cosθ

θ = <a,b> / ||a||||b|| cos^-1θ

추후 cosine distance 에 쓰일 수 있다.

 

 

 

4. matrix multiplication

행렬을 행, 열 기준으로 자유롭게 볼 수 있으면 좋다.

2번과 비슷한 방식으로 행 벡터를 기준으로 선형결합하는 방법도 있다.

그러면 [a11 [b11] + a12[b21] ;  a21 [b11] + a22[b21] ] 로도 곱을 구할 수 있다.

 

4. linear combination

[a0, a1 , a2 ,a3]의 선형 결합은 β0 a0 + β1 a1 + β2 a2 +β3 a3 이고 각 β들은 임의의 상수이다.

 

5. span

각 벡터들의 선형 결합으로 나타낼 수 있는 공간을 의미한다.

해당 예제에서는 2차원 공간을 span 한다.

각 벡터들이 2차원 벡터이기 때문에 아무리 선형결합을 해도 상위 차원을 표현할 수 없다.

벡터의 곱도 결국 선형 결합의 경우의 수 중 하나인데 3*4 행렬 A에 대해

A를 이루는 벡터들이 모두 독립일 때 A^tA 의 결과는 non-invertable 하고 AA^t  는 invertable하게 된다.

 

6. linear independence 

A행렬의 선형결합이 0이되도록 하는 βi들(0<=i<= k) 이 0만 있을 때 선형 독립이라고 한다.

선형 결합으로 x를 만들자.

만약 선형 독립이라면 위의 식을 만들수있는 βi 들이 유니크하다. 이 유니크한 계수를 λ로 둔다.

βi = λi 이고 βi - λi  = 0 이다.

0이 되도록 만드는 A의 선형결합이 0 한가지 밖에 없음이 이사실을 통해서도 보여진다.

 

7. rank

행렬이 있을때 독립적인 벡터의 개수를 rank라고 한다.

이를 그림으로 상상해보자. 서로 독립인 3차원 벡터가 2개 있다고 하자. 이를 행렬로 표현하면 3x2행렬이다.

3차원상에 2개의 벡터가 span할 수 있는 공간은 2차원이다. 또 이를 전치시켜 2차원 행렬이 3개있다고 가정하자.

그러면 2차원상에 3개의 벡터가 있는것이고 이 벡터가 span할 수 있는 공간은 2차원이다.

 

8. matrix-vector product fucntion

A행렬에 계수 x 를 선형 결합 시킨 것을 f(x)로 표현한다.

f(ax + by) 는 어떻게 계산하는가 ?

f(ax + by) = A(ax  + by)

                  =  Aax  + Aby

                  = f(ax) + f(by)

                  = af(x) + bf(y)

 

예제

A가 항등행렬일 때 각 x이 누적되면 어떻게 되는가?

x1 는 = [1, 0 ,... ,0] 이여서 항등행렬에 대해 1행1열만 1이 나옴.

x2 는 = [0, 1 , 0,... ,0]  이여서 항등행렬에 대해 2행2열만 1이 나옴.

이런 x들이 누적해서 더해지기 때문에 위와같은 모양이 나옴

 

9. Affine transformation

 

아핀 변환, Affine Transformation [게임수학]

벡터 공간 -> 변환을 배운 것처럼 아핀 공간 -> 변환을 배워보자. 우리가 실제로 게임에서 다룰 모델들은 아핀 공간에 존재한다. 왜 벡터가 아니라 아핀 공간에서 다루느냐? 아핀 공간에는 방향과

luv-n-interest.tistory.com

위의 포스팅이 매우 잘 설명되어있는데 linear fuction에 위치를 변환하는 함수이다.

우리는 중심점을 b만큼 움직이고 싶다.

기존 행렬 A에서 중심점을 b만큼 움직인다. b가 중심점이니 0으로 만들고 A행렬은 중심과 d만큼 벌어진거니 각각 b만큼 빼준다.

10. Systems of linear equations

 

방정식 개수 > 미지수의 개수 (over determined)

높은 확률로 답이 없음.

예외. equation 중 종속인 equation이 많다면? 답이 있을수도 있을수 있고 심지어 많을수도 있다.

 

방정식 개수 < 미지수의 개수 (under determined)

높은 확률로 답이 많음.

 

11. pseudo inverse

행렬이 정방행렬이 아니어도, pull rank 가 아니어도 풀 수 있는 방법.

pseudo inverse는 left inverse , right inverse가 있다.

 

의사역행렬의 기하학적 의미 - 공돌이의 수학정리노트 (Angelo's Math Notes)

 

angeloyeo.github.io

요약 . 이렇게 구한 해를 처음 식에 대해 대입하면 성립하지 않을 수 있다. 이 포스팅의 핵심을 뽑으라면

해가 존재하지 않는 방정식에 대해 pseudo inverse로 구한 해는 a와 b의 선형 공간에 위치한 가장 가까운 위치가 구해진다는 것이다.

projection 에 대한 개념 , 선형 공간에 대한 이해는 추후 포스팅 하겠다. 

 

12. arthonomal vector

1. 각 벡터끼리 수직 , 즉 각 벡터끼리의 내적이 0이다.

2. 모든 벡터의 크기는 1이다. 스스로 내적했을때 1이다.

 

각각의 독립 벡터를 그람 슈미트 과정을 통해  각각 arthonomal vector 를 만들 수 있다.

근데 왜 arthonomal vector를 만들려고 할까?

 

해를 매우 쉽게 구할수있다!

y = x1a1 + x2a2  +x3a3 를 만족하는 식이 있고 각 orthonamal한 기저 ai 들에 대해서

x1과 x2, x3 를 구해야한다고 하자.

 

a1y =  a1(x1a1 + x2a2  +x3a3)

a1y = a1x1x1 = x1

 

a2y =  a2(x1a1 + x2a2  +x3a3)

a2y = a2x2x2 = x2

 

?? 그저 각각의 요소를 곱해주는것만으로 해가됨을 알 수 있다.

 

이를 행렬로 확장해보자.

내적시 identity matrix가 됨을 할 수 있다.

이게 얼마나 무시무시한거냐면

y = Ax 에서

A^ty = AtAx 근데 AtA 가 I ...

x = A^ty 로 계산이 매우매우 간단해진다.

 

내적과 distance에서도 매우 큰 강점을 가지고 있다.

<Ax , Ay> = <x,y>

(Ax)^t(Ay)

= xA^tAy

= x^ty

 

||Ax||^2

= <Ax,Ax>

= (Ax)^tAx

= x^tA^tAx

= x^tx

= <x,x> = ||x||^2

'빅데이터 수학 기초' 카테고리의 다른 글

정보학  (2) 2023.10.24
데이터  (1) 2023.10.23
빅데이터 수학 기초론 문제풀이 week7  (0) 2023.10.22
빅데이터 수학 기초론 문제풀이 week6  (0) 2023.10.22