본문 바로가기

데이터분석/머신러닝

[머신러닝] 선형대수학 기본 개념

728x90
반응형

선형대수학

선형 대수학 : 일차식이나 일차 함수를 공부하는 학문

  • 일차식 : 가장 높은 차수가 1인 다항식

$$6x+4y-7=3$$

  • 일차 함수 : 일반식이 아니라 "함수" 
    • y의 값은 x에 따라 결정됨

$$y=3x+5$$


행렬과 벡터

 행렬 (Matrix) 

  • 수를 직사각형 형태로 나열 한 것

$$A = \begin{pmatrix}
1 & 1 & 0 & 2 \\
2 & 1 & 4 & 1 \\
0 & 3 & 2 & 1 \\
\end{pmatrix}$$

  • Aij : i 번째 행, j 번째 열에 있는 원소

m X n 행렬

 벡터 (Vector) 

  • 행이나 열이 하나밖에 없는 벡터
    • 열벡터 : 하나의 열만 있는 벡터 (a)
    • 행벡터 : 하나의 행만 있는 벡터 (b)

$$a = \begin{pmatrix}
1 \\
0 \\
2 \\
4 \\
\end{pmatrix}\;\;\;\; b= \begin{pmatrix}
1 & 0 & 2 & 4 \\
\end{pmatrix}$$

* 주로 행렬은 대문자, 벡터는 소문자로 표현함


행렬의 덧셈/뺄셈

같은 위치에 있는 원소들끼리 더하거나 빼는 것

$$A = \begin{pmatrix}
1 & 1 \\
2 & 3 \\
\end{pmatrix}\;\;, \;\; B=\begin{pmatrix}
3 & 1 \\
2 & 4 \\
\end{pmatrix}$$

  • 덧셈
$$A+B = \begin{pmatrix}
1 & 1 \\
2 & 3 \\
\end{pmatrix} +\begin{pmatrix}
3 & 1 \\
2 & 4 \\
\end{pmatrix} = \begin{pmatrix}
4 & 2 \\
4 & 7 \\
\end{pmatrix}$$
  • 뺄셈
$$A-B = \begin{pmatrix}
1 & 1 \\
2 & 3 \\
\end{pmatrix} +\begin{pmatrix}
3 & 1 \\
2 & 4 \\
\end{pmatrix} = \begin{pmatrix}
-2 & 0 \\
0 & -1 \\
\end{pmatrix}$$

행렬의 곱셈

  • 스칼라 곱 : 행렬과 수를 곱하는 것

$$i=5 \;\;, \;\; A = \begin{pmatrix}
3 & 1 \\
2 & 3 \\
\end{pmatrix}$$

$$iA=  \begin{pmatrix}
5*3 & 5*1 \\
5* 2 & 5* 3 \\
\end{pmatrix}  = \begin{pmatrix}
15 & 5 \\
10 & 15 \\
\end{pmatrix}$$
  • 행렬 곱 (내적곱) : 행렬과 행렬을 곱하는 것
    • A행렬의 i번째 행과 B행렬의 j번째 열의 원소들끼리 곱하고 이를 합한 값이 들어감
      >> A의 열과 B의 행수가 같아야 함
      >> A : m X n 행렬 , B : n X p 행렬일때,
           A의 열과 B의 은 n개로 같기 때문에 곱셈을 할 수 있으며, 결과 행렬은 m X p 이 됨
    • 따라서, 결과 행렬의 행의 수는 A와 같고, 열 수는 B 와 같음
    • AB ≠ BA

$$A = \begin{pmatrix}
1 & 3 & 1 \\
2 & 2 & 1 \\
\end{pmatrix}\;\;, \;\; B=\begin{pmatrix}
5 & 6 \\
4 & 2 \\
3 & 1 \\
\end{pmatrix}$$

$$AB = \begin{pmatrix}
1*5 + 3*4 + 1*3 & 1*6 + 3*2 + 1*1 \\
2*5 + 2*4 + 1*3 & 2*6 + 2*2 + 1*1  \\
\end{pmatrix}= \begin{pmatrix}
20 & 13 \\
21 & 17  \\
\end{pmatrix} $$

전치행렬 (Transposed matrix)

  • A라는 행렬의 열과 행을 바꾼 행렬

$$A = \begin{pmatrix}
1 & 2 & 1\\
3 & 2 & 2\\
\end{pmatrix}\;\; >> \;\; A_t=\begin{pmatrix}
1 & 3 \\
2 & 2 \\
1 & 2 \\
\end{pmatrix}$$


단위 행렬 (Identity matrix)

  • 항상 정사각형 모양임 (nXn)
  • 대각선 원소는 모두 1이고, 그외는 모두 0
  • 어떤 행렬 A와 단위 행렬I를 곱하면 항상 A가 나타남

$$I = \begin{pmatrix}
1 & 0 & 0\\
0 & 1 & 0\\
0 & 0 & 1\\
\end{pmatrix}$$


역행렬

  • 단위행렬이 나오도록 곱해지는 행렬
  • 모든 행렬에 역행렬이 있는 것은 아님

$$A = \begin{pmatrix}
3 & 4\\
1 & 2\\
\end{pmatrix}\;\;, \;\; A^{-1}=\begin{pmatrix}
1 & -1 \\
-\frac{1}{2}  & \frac{3}{2} \\
\end{pmatrix}$$

$$A*A^{-1} = \begin{pmatrix}
3 & 4\\
1 & 2\\
\end{pmatrix}*\begin{pmatrix}
1 & -1 \\
-\frac{1}{2}  & \frac{3}{2} \\
\end{pmatrix} = \begin{pmatrix}
1 & 0\\
0 & 1\\
\end{pmatrix} $$

선형 시스템

선형 방정식들의 집합으로 표현되는 시스템

$$2x_{0}-4x_{1}+x_{2}=3 \\ 3x_{0}+x_{1}-6x_{2}=10 \\ x_{0}+x_{1}+x_{2}=5 $$

>> 위 1일차식들을 행렬과 벡터로 요약할 수 있음

$$\begin{pmatrix}
2 & -4 & 1 \\
3 & 1 & -6 \\
1 & 1 & 1 \\
\end{pmatrix}\begin{pmatrix}
x_{0}\\
x_{1}\\
x_{2}\\
\end{pmatrix}=\begin{pmatrix}
3\\
10\\
5\\
\end{pmatrix}$$

선형 대수학이 머신 러닝에 필요한 이유

  • 머신 러닝을 할 때는 데이터를 일차식에 사용하는 경우가 많음
  • 행렬을 이용하면 정돈된 형태로 효율적이게 계산 할 수 있음
  • 선형 대수학은 일차식, 일차 함수, 행렬, 벡터를 다루는 학문이기 때문에 필수

📖 참고 강의
[코드잇] 머신 러닝 기본기
728x90
반응형