본문 바로가기

데이터사이언스/대학원 공부

머신러닝과 딥러닝 기초 - Linear Algebra

*머신러닝의 표현 -> 행렬들의 scalars vector matrics tensor(여백)

 

scalar (스칼라) - 숫자 , 0차원

vector (벡터)-  row scalar  , column scalar 1차원

2차원으로 늘어나면 matrix - 행 벡터와 열 벡터가 합쳐진 것이라고 표현할 수 있다.

: -> 콜론 로케이션 , 행과 열을 분리하는 방법도 있음

 

행렬위 윗첨자 T는 Transpose -> 행렬의 로테이션 (operation)

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

Addition - element들끼리의 합 C = A + B 라면 C(i,j) = A(i,j) + B(i,j)

scalar 가 포함되어도 쉬움

 

* Vector Product 조금복잡

벡터의 내적(inner product) -> 내적의 결과는 Scalar 이다.

 

행렬의 내적(Matrix Product) -> 내적 결과의 demension을 잘 알아두어야 한다

                                                  앞 행렬의 열과 뒤 행렬의 행이 같아야 함

행렬의 곱셈(element-wise / Hadamard product) -> 두 행렬의 demension이 같아야함

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 

element 의 곱으로 생긴 scalar값이므로 교환법칙은 성립할 수 없음

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

연립방정식을 행렬의 형태로 표현 가능 -> 왜 행렬로 표현하는가? 추후 배움

 

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

단위행렬(identity Matrix) - 정방형 행렬, i XOR j 결과 

역행렬(Matrix inverse) - A의 역행렬이 존재한다면 - A와 A역행렬을 곱하면(내적하면) 단위행렬이 나와야함

                                     - 스칼라로 비교하면 역수와 같다(곱해서 1이나와야함)

                                     - 역행렬이 존재하지 않는 조건 -> 정방행렬이 아니다, lowrank행렬이다

                                     - 머신러닝할때 잘 쓰지 않음 ( 존재 보장하기 어렵고, 차원이 높을 수록 구하기 어려움)

                                   

벡터의 span -> 한방향의 단위벡터에 스칼라값을 곱하고, 그 벡터 두개를 더하면 모든 평면을 정의할 수 있다.(18p)

대신 무조건 span을 한다고 평면을 정의할 수는 없다. 두 벡터를 span을 해서 나오는 결과의 demension을 찾아야함

 

행렬에 대한 range-> 행렬끼리의 space / 행렬내부의 요소 벡터에 어떤 스칼라를 곱하면 나오는 값의 치

행렬의 rank -> 행벡터의 조합으로 나오는 차원의 수 / 추후에 많이 쓰이는 개념으로 알아둘

                         벡터사이의 linear dependence가 존재할때마다 rank가 떨어진다.

                         그래야 역행렬이 존재하게된다.

ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ

 

norm의 정의 : 벡터의 사이즈를 정의하는 함수 / output은 scalar (왜냐면 size나 distance를 나타내는 값)

L2 norm -> 유클리드norm ||x|| = (XtX)^1/2

L0 norm은 norm이라고 할 수 없다.

https://youtu.be/6B1dj6L0Xiw?si=0DufgacaCBM-KI2L

 

Diagonal Matrix(대각행렬) - 대각행렬의 모든 값이 1이면 단위행렬 , 대각선에만 값이 있고 나머지는 0

                                             꼭 square일 필요는 없음

 

벡터의 내적을 할 때 cos세타가 중요한데, 직교하면 내적값은 0이다.-> 두벡터의 norm은 상관이 없다.

Eigendecomposition - 고유값 분해 / 수업중 이해못함 ㅜ

https://youtu.be/xDARfmKauuA?si=McQRSDv0xp0b9Zxa

https://youtu.be/PP9VQXKvSCY?si=0gQ3pW0l4-1JlARY