본문 바로가기
ETC

[머신러닝 앤드류응] (Week1) 5. 선형대수 복습

by bigpicture 2021. 4. 2.
반응형

앤드류 응 교수님의 코세라 머신러닝 강의를 요약하는 글입니다. Week1 의 상세 목차는 아래와 같습니다.

Week1 목차

1. Welcome
2. Introduction
3. Model and Cost Function
4. Parameter Learning
5. Linear Algebra Review


이번 글은 Week1의 5강인 Linear Algebra Review 요약입니다.


Week1 

5. Linear Algebra Review

1) Matrices and Vectors (행렬과 벡터)
2) Addition and Scalar multiplication (행렬의 덧셈과 스칼라와의 곱셈)
3) Matrix Vector Multiplication (행렬과 벡터의 곱셈)
4) Matrix Matrix Multiplication (행렬과 행렬의 곱셈)
5) Matrix Multiplication Properties (행렬 곱셈의 성질)
6) Inverse and Transpose (역행렬, 전치행렬)

 

1) Matrices and Vectors (행렬과 벡터)

 

행렬

행렬은 수들을 직사각형으로 배열한 것입니다. 예를 들면 아래와 같습니다. 

$\begin{bmatrix}
1402 & 191 \\ 
1371 & 821 \\ 
949 & 1437 \\ 
147 & 1448
\end{bmatrix}
\ \ \
\begin{bmatrix}
1 & 2 & 3\\ 
4 & 5 & 6
\end{bmatrix}$

왼쪽 행렬은 4행2열, 오른쪽 행렬은 2행3열입니다. 기호로는 $\mathbb{R}^{4\times 2}, \mathbb{R}^{2\times 3}$ 으로 나타냅니다. 

이번에는 원소를 나타내는 방식을 배워봅시다. 아래 와 같이 행렬 A가 있습니다. 

$A=\begin{bmatrix}
1402 & 191 \\ 
1371 & 821 \\ 
949 & 1437 \\ 
147 & 1448
\end{bmatrix}$

원소는 아래와 같이 나타냅니다. i행의 j번째 원소는 $A_{ij}$라고 나타냅니다. 위 행렬을 예로 들면 아래와 같습니다. 

$A_{11}=1402$
$A_{12}=191$
$A_{32}=1437$

 

벡터

벡터는 $n \times 1$ 행렬입니다. 예를 들면 아래와 같습니다. 

$y=\begin{bmatrix}
460\\ 
232\\ 
315\\ 
178\\
\end{bmatrix}$

위 벡터는 4차원 벡터 라고도 부릅니다. 기호로는 $\mathbb{R}^{4}$로 나타냅니다. 

이번에는 원소를 나타내는 방식을 배워봅시다. 벡터의 i번째 원소는 $\y^{i}$라고 나타냅니다. 위 벡터를 예로 들어봅시다. 

$y^{1}=460$
$y^{3}=315$

 

2) Addition and Scalar multiplication (행렬의 덧셈과 스칼라와의 곱셈)

행렬의 덧셈

행렬의 덧셈은 같은 위치의 원소끼리 더해주면 됩니다. 

$\begin{bmatrix}
1 & 0\\ 
2 & 5\\ 
3 & 1
\end{bmatrix}
+
\begin{bmatrix}
4 & 0.5\\ 
2 & 5\\ 
0 & 1
\end{bmatrix}
=
\begin{bmatrix}
5 & 0.5\\ 
4 & 10\\ 
3 & 2
\end{bmatrix}$

다른 모양의 행렬끼리는 덧셈이 불가능합니다. 

 

행렬과 스칼라의 곱셈

행렬과 스칼라를 곱할 때는, 각 원소에 스칼라를 곱해주면 됩니다. 

$3 \times
\begin{bmatrix}
1 & 0\\ 
2 & 5\\ 
3 & 1
\end{bmatrix}
=
\begin{bmatrix}
3 & 0\\ 
6 & 15\\ 
9 & 3
\end{bmatrix}$

 

3) Matrix Vector Multiplication (행렬과 벡터의 곱셈)

행렬과 벡터는 아래와 같이 곱해집니다. 앞에 있는 행렬의 행과, 뒤 행렬의 열을 곱합니다. 

 

3행2열 행렬과 2행1열 벡터를 곱한 결과는 3행1열 벡터입니다.

 

(3x2)(2x1)=(3x1)

 

일반화 시키면 아래와 같습니다. m행n열 행렬과, n행 벡터를 곱하면 m행 벡터가 됩니다. 

 

(mxn)(nx1)=(mx1)

 

 

행렬을 이용하여 아래 계산을 해봅시다. 

 

집 크기와 가격의 선형회귀모델이 아래와 같이 주어져 있습니다.

 

$h_{\theta}(x)=-40+0.25x$

 

아래와 같이 4개의 집크기가 주어져 있습니다.

 

2104

1416

1534

852

 

행렬을 이용하면 아래와 집 가격을 쉽게 계산할 수 있습니다. 아래와 같이 행렬을 만들어 곱하면 됩니다. 

 

$\begin{bmatrix}
1 & 2104\\ 
1 & 1416\\ 
1 & 1534\\ 
1 & 852
\end{bmatrix}
\times
\begin{bmatrix}
-40\\ 
0.25
\end{bmatrix}$

 

 

4) Matrix Matrix Multiplication (행렬과 행렬의 곱셈)

행렬의 곱셈의 원리는 아래와 같습니다.

 

"두 행렬 A와 B의 곱 AB는 A의 행벡터와 B의 열벡터의 곱이다. A의 차원이 $m \times n$ 이고, B의 차원이 $n \times p$ 라면 AB의 차원은 $m \times p$ 이다. "

 

 

아래는 예시입니다. 

 

주택가격 예시에 적용해봅시다. 네가지 집 사이즈가 주어져 있습니다. 선형회귀모델은 세종류가 있습니다. 총 12가지 결과가 있을 텐데요. 아래와 같이 행렬을 이용하여 한번에 계산할 수 있습니다.

 

 

5) Matrix Multiplication Properties (행렬 곱셈의 성질)

- 교환법칙이 성립하지 않는다. $AB \neq BA$

- 결합법칙은 성립한다. $(AB)C = A(BC)$

 

- 단위행렬은 아래와 같은 성질을 갖는 행렬이다.

 

$$AI=IA=A$$

 

단위행렬은 대각선만 1로 채워져 있다. 

 

 

6) Inverse and Transpose (역행렬, 전치행렬)

역행렬

역행렬은 어떤 행렬과 곱한 결과가 단위행렬이 나오는 행렬입니다. A의 역행렬은 $A^{-1}$로 나타내고 아래 성질을 갖습니다.

$AA^{-1}=A^{-1}A=I$

옥타브(매트랩)에서 역행렬을 구할 때는 pinv 함수를 사용합니다. 

>> A=[1 4;5 6]
A =

   1   4
   5   6

>> pinv(A)
ans =

  -0.428571   0.285714
   0.357143  -0.071429


전치행렬

전치행렬은 행과 열의 인덱스를 바꾼 것입니다. 아래는 예시입니다. 

A의 전치행렬은 $A^{T}$ 로 나타냅니다. 만약 B가 A의 전치행렬이라면 아래 성질을 갖습니다.

$B_{ij}=A_{ji}$

반응형

댓글