본문 바로가기

Study with me

[Machine Learning #4] Linear Algebra Review(Optional)

* 이 글은 Andrew Ng 교수님의 Coursera 무료 온라인 강의인 'Machine Learning' 강의를 정리하였습니다.

1주차 - (3) 퀴즈 답!

 


1주차 - (4) Linear Algebra Review (선형 대수학 복습)

이번 글은 multivariable regression에 필요한 선형 대수학 개념을 복습하는 내용입니다.

혹시 선형 대수학을 공부하셨거나 충분히 알고 있다고 생각하시는 분들은 다음 글로 넘어가셔도 괜찮습니다. 

이 글은 선형 대수학을 공부한 적이 없거나, 까먹으신 분들을 위한 글이며,  앞으로 나올 개념에 필요한 내용만 간단히 소개하겠습니다. 

 

1. Metrics and Vectors

1) Metrix(행렬)  : 직사각형 형태의 수 배열

- Dimension of matrix : (행(row)의 개수) * (열(column)의 개수)

- Matrix Elements(=entries of matrix, 행렬의 원소) : matrix A(보통 대문자로 표현) 가 있을 때, Aij =i번째 행, j번째 열에 있는  i,j entry 

2) Vector (벡터) : 행렬 중에서 차원이 n x 1 인 행렬

- Vector Elements : vector y(보통 소문자로 표현)가 있을 때, yi = 벡터 y의 i번째 원소

 

2. Addition and Scalar multiplication

1)  Matrix addition : 같은 행, 같은 열에 있는 (동일한 위치에 있는) 원소끼리 계산 

- 더하려는 행렬의 dimension이 동일해야 함

2) Scalar Multiplication : 행렬의 모든 원소에 scalar값 곱하면 됨

3. Matrix-vector multiplication

1) 행렬 A와 벡터 x를 곱할 때

-  A * x  = y 

- (행렬 A의 number of columns )= (벡터 x의 number of rows )일 때만 곱하기 가능

- 행렬 A의 dimension이 m x n, 벡터 x의 dimension이 n x 1이라고 하면, 곱해진 행렬 y의 dimension은 m x 1, 즉 벡터이다. 

- yi = sum (j=0 ~j=n) ((A의 i ,j entry ) * (x의 j번째 원소) (행 곱하기 열)

2) 회귀 문제에서의 활용

predicton = data matrix * parameters

'집의 크기'에 따른 '집의 가격' 예측 문제에서, 집의 크기를 행렬로 만들고, 파라미터 Θ0, Θ1 값을 벡터로 만들어 행렬 * 벡터 곱 계산을 하면 한 번에 여러 개의 집의 크기에 대한 hΘ(x) 계산 값을 구할 수 있다. 

 

* 1로만 이루어진 열을 '집의 크기' 행렬에 추가하는 이유 :

bias라고 불리는 Θ0이 존재하기 때문에 1로만 이루어진 열을 추가해야 원하는 계산이 가능하다.

4. Matrix-Matrix multiplication

1)  행렬 A와 행렬 B를 곱할 때

- 행렬과 벡터 여러개를 곱한다고 생각하면 됨!

- (행렬 A의 열의 개수) = (행렬 B의 행의 개수)일 때만 A*B 계산 가능 

- 행렬 A의 dimension이 m x n 이고, 행렬 B의 dimension이 n x k 일 때, 행렬 A와 행렬 B를 곱한 행렬을 C라 하면 C의 dimension은 m x k이다.

- C의 i 번 째 행(row)  = A * ( B의 i 번째 열(column))

2) 회귀 문제에서의 활용

'집의 크기'에 따른 '집의 가격' 예측 문제에서,

'집의 크기'(입력 데이터)도 여러 개이고 파라미터 값의 후보도 여러 개일 때,

'집의 크기'값을 행렬로 만들고, 파라미터 Θ0, Θ1 값도 행렬로 만들어 행렬 * 벡터 곱 계산을 하면 한 번에 여러 개의 집의 크기와 여러 개의 파라미터 후보들에 따른 hΘ(x)의 계산 값을 구할 수 있다.

 

* 1로만 이루어진 열을 '집의 크기' 행렬에 추가하는 이유 :

bias라고 불리는 Θ0이 존재하기 때문에 1로만 이루어진 열을 추가해야 원하는 계산이 가능하다.

5. Matrix multiplication properties

1) not commutative

A X B != B X A

 

2) A X B X C = (A X B) X C = A X (B X C)

 

3) Identity Matrix

6. Inverse and Transpose

1) Matrix Inverse

- Inverse Matrix : Square Matrix(행 개수 = 열 개수인 행렬) A 가 있을 때, A와 곱했을 때 Identity matrix(I)가 되는 행렬이 존재하면 이를 A의 Inverse Matrix(역행렬)라 하고, A^-1로 표기한다. 

- 모든 행렬이 역행렬을 가지지 않으며, Square Matrix인 경우에만 역행렬을 가질 가능성이 있다. ( square matrix임에도 불구하고 역행렬을 가지지 않는 경우도 존재) 

- A(A-1) = A-1A = I

- 역행렬이 존재하지 않는 행렬을 'singular matrix' 또는 'degenerate matrix'라고 한다.

2) Matrix Transpose

- Demension이 m x n인 행렬 A가 있을 때, 이 행렬의 열과 행을 바꾼 행렬을 Transpose Matrix(전치 행렬)라 한다. 

- A의 Transpose Matrix를 B라 하면, Bij = Aji