티스토리 뷰


[Linear Algebra Review]

1. Matrices and Vectors

 - 4 by 2 matrix를 IR^(4x2)로 표현하기도 함(matrix를 이루는 숫자들의 집합이 IR일 경우, 주로 대문자로 나타냄 => A, B, C, D

 - Vector는 n x 1 matrix, 만약 4 x 1 vector가 있을 때 우리는 이것을 4-dimensional vector라고 부르고, IR^4라고 표기함

 - vector를 y 라고 할 때 vector의 element는 y_i 로 표기

 - 표기방법에는 전통적으로 0과 1로 시작하는, 0-indexed / 1-indexed가 있음. 1-index를 주로사용하지만, 0-indexed를 사용할 필요가 있을 때도 있음


2. Addition and Scalar Multiplication

 - 기본


3. Matrix Vector Multiplication

 -  m by n  X  n by 1(n-dimensional vector) => m by 1(m-dimensional vector)

 - 만약 linear regression에 적용한다고 할 때, h(x) = -40 + 0.25x 라면,  -40의 의미를 살리기 위해, 1로 된 열을 하나 추가한 4 by 2 matrix를 만들어서 계산하는 방법을 생각할 수 있음, 물론 계산결과는 y 즉 vector 값으로 나타나게 됨

 - 데이터가 주어졌을 때, 이와 같은 방법으로 matrix 계산하도록 만들면, 단 한 줄의 코드로 작성이 가능함(Octave)

 - vectorization 기법을 통해서 능률적으로 계산하는 방법이 있지만, 다음에 배우게 됨


4. Matrix Matrix Multiplication

 - graidient descent 처럼 iteration을 여러 번 거쳐서 θ_0, θ_1을 구하는 것이 아니라 한방에 구하기 위한 한 방법

 - m by n matrix X n by o matrix 는 m by o matrix인데, matrix라기 보다는, B를 열 별로 vector라고 생각하면, 해당 vector들을 그대로 output에서 m-dimensional vector로 생각할 수 있음(단순히 matrix 계산이라기보다는)

 - 만약 여러 개의 competing hypotheses에 대해서 값을 가지고 싶다면, 해당 값들을 각 벡터로 생각하고 벡터들이 열 별로 합쳐진 matrix로 생각할 수 있음. 이 경우, 굉장히 빠르게 여러개의 prediction 작업을 할 수 있으므로 efficient함 

 - 기본적으로 요즘은 멀티 코어인데, 한 코어가 여러 데이터를 가지고 병렬 작업을 하는 것을 SIMD(Single instruction - multiple data) parallelism이라함


5. Matrix Multiplication Properties

 - A X B != B X A (not commutative), 값 뿐만 아니라, dimension 까지도 바뀜

 - (A X B) X C = A X (B X C) (associative)

 - Identity Matrix 대각선(diagonal) 값이 모두 1, 나머지가 0인 matrix, 항등 행렬 / 단위 행렬, Identity Matrix에 대해서는 commutative한 성질을 가짐,

즉 A I = I A 인데, 이 때 두 I는 dimension이 서로 다름


6. Inverse and Transpose

 - 모든 수가 inverse를 가지는 것은 아님. matrix도 inverse를 가지지 않을 수 있음(caveat)

 -  singular / degenerate matrces는 inverse를 가지지 않음 

 - Transpose란, row 와 column를 column과 row로 바꾸는 것임






댓글