데이터와 행렬

Jane의 study note.·2022년 11월 30일
0

선형대수

목록 보기
2/9

선형대수(linear algebra)는 데이터 분석에 필요한 각종 계산을 돕는 학문이다. 데이터 분석을 하려면 수많은 숫자로 이루어진 데이터를 다루어야 한다. 하나의 데이터가 수십 개에서 수만 개의 숫자로 이루어져 있을 수도 있고, 또 이러한 데이터 수만 개가 하나의 집합을 이루고 있을 수도 있다.

선형대수를 사용하면 대량의 데이터를 포함하는 복잡한 계산 과정을 몇 글자 되지 않는 간단한 수식으로 서술할 수 있다. 따라서 데이터를 다루는 과정을 정확하고 간단하게 서술할 수 있다.

[목차]
1. 데이터의 유형: 스칼라(scalar), 벡터(vector), 행렬(matrix), 텐서(tensor)
2. 전치연산(Transpose Calculation)
3. 정방행렬(square matrix)
4. 대각행렬(diagonal matrix)
5. 항등행렬(identity matrix)
6. 대칭행렬(symmetric matrix)

1. 데이터의 유형

선형대수에서 다루는 데이터는 개수나 형태에 따라 크게 스칼라(scalar), 벡터(vector), 행렬(matrix), 텐서(tensor) 유형으로 나뉜다.

1. 스칼라(scalar)

스칼라는 숫자 하나로 이루어진 데이터이다.

xRx \in \mathbf{R}

2. 벡터(vector)

벡터는 여러 숫자로 이루어진 데이터 레코드(data record)이다.

x=[x1x2x3x4]x = \begin{bmatrix} x_{1} \\ x_{2} \\ x_{3} \\ x_{4} \\ \end{bmatrix}

이때 벡터는 복수의 가로줄, 즉 행(row)을 가지고 하나의 세로줄, 즉 열(column)을 가지는 형태로 위에서 아래로 내려써서 표기해야 한다.

하나의 벡터를 이루는 데이터의 개수가 nn개이면 이 벡터를 n-차원 벡터(n-dimensional vector)라고 하며 다음처럼 표기한다.

xRNx \in \mathbf{R}^N
x=x=[x1x2xN]\mathbf{x} = \vec{x} = \begin{bmatrix} x_{1} \\ x_{2} \\ \vdots \\ x_{N} \\ \end{bmatrix}

3. 행렬(matrix)

행렬은 이러한 벡터, 즉 데이터 레코드가 여럿인 데이터 집합이라고 볼 수 있다.

X=[x1,1x1,2x1,3x1,4x2,1x2,2x2,3x2,4x3,1x3,2x3,3x3,4x4,1x4,2x4,3x4,4x5,1x5,2x5,3x5,4x6,1x6,2x6,3x6,4]X = \begin{bmatrix} \boxed{\begin{matrix} x_{1, 1} & x_{1, 2} & x_{1, 3} & x_{1, 4}\end{matrix}} \\ \begin{matrix} x_{2, 1} & x_{2, 2} & x_{2, 3} & x_{2, 4}\end{matrix} \\ \begin{matrix} x_{3, 1} & x_{3, 2} & x_{3, 3} & x_{3, 4}\end{matrix} \\ \begin{matrix} x_{4, 1} & x_{4, 2} & x_{4, 3} & x_{4, 4}\end{matrix} \\ \begin{matrix} x_{5, 1} & x_{5, 2} & x_{5, 3} & x_{5, 4}\end{matrix} \\ \begin{matrix} x_{6, 1} & x_{6, 2} & x_{6, 3} & x_{6, 4}\end{matrix} \\ \end{bmatrix}
XR6×4X \in \mathbf{R}^{6\times 4}

4. 텐서(tensor)

텐서는 같은 크기의 행렬이 여러 개 있는 것이라고 생각하면 된다.
텐서는 같은 크기의 행렬이 여러 개 같이 묶여 있는 것을 말한다. 엄격한 수학적 정의로는 텐서는 다차원 배열로 표현되는 사상(mapping)으로 다차원 배열 자체를 뜻하지 않는다. 하지만 데이터 사이언스 분야에서는 흔히 다차원 배열을 텐서라고 부르므로 여기에서는 이러한 정의를 따르도록 한다.

예를 들어 다음 컬러 이미지는 2차원의 행렬처럼 보이지만 사실 빨강, 초록, 파랑의 밝기를 나타내는 3가지의 이미지가 겹친 것이다. 컬러 이미지에서는 각각의 색을 나타내는 행렬을 채널(channel)이라고 한다. 예제 이미지는 크기가 768 x 1024이고 3개의 채널이 있으므로 768 x 1024 x 3 크기의 3차원 텐서다.

2. 전치연산 (Transpose Calculation)

앞에서 보인 6×46\times 4 차원의 행렬을 전치 연산하면 4×64\times 6 차원의 행렬이 된다.

X=[x1,1x1,2x1,3x1,4x2,1x2,2x2,3x2,4x3,1x3,2x3,3x3,4x4,1x4,2x4,3x4,4x5,1x5,2x5,3x5,4x6,1x6,2x6,3x6,4]        XT=[x1,1x1,2x1,3x1,4x2,1x2,2x2,3x2,4x3,1x3,2x3,3x3,4x4,1x4,2x4,3x4,4x5,1x5,2x5,3x5,4x6,1x6,2x6,3x6,4]X = \begin{bmatrix} \boxed{\begin{matrix} x_{1, 1} & x_{1, 2} & x_{1, 3} & x_{1, 4}\end{matrix}} \\ \begin{matrix} x_{2, 1} & x_{2, 2} & x_{2, 3} & x_{2, 4}\end{matrix} \\ \begin{matrix} x_{3, 1} & x_{3, 2} & x_{3, 3} & x_{3, 4}\end{matrix} \\ \begin{matrix} x_{4, 1} & x_{4, 2} & x_{4, 3} & x_{4, 4}\end{matrix} \\ \begin{matrix} x_{5, 1} & x_{5, 2} & x_{5, 3} & x_{5, 4}\end{matrix} \\ \begin{matrix} x_{6, 1} & x_{6, 2} & x_{6, 3} & x_{6, 4}\end{matrix} \\ \end{bmatrix} \;\; \rightarrow \;\; X^T = \begin{bmatrix} \boxed{\begin{matrix} x_{1, 1} \\ x_{1, 2} \\ x_{1, 3} \\ x_{1, 4}\end{matrix}} & \begin{matrix} x_{2, 1} \\ x_{2, 2} \\ x_{2, 3} \\ x_{2, 4}\end{matrix} & \begin{matrix} x_{3, 1} \\ x_{3, 2} \\ x_{3, 3} \\ x_{3, 4}\end{matrix} & \begin{matrix} x_{4, 1} \\ x_{4, 2} \\ x_{4, 3} \\ x_{4, 4}\end{matrix} & \begin{matrix} x_{5, 1} \\ x_{5, 2} \\ x_{5, 3} \\ x_{5, 4}\end{matrix} & \begin{matrix} x_{6, 1} \\ x_{6, 2} \\ x_{6, 3} \\ x_{6, 4}\end{matrix} & \end{bmatrix}

3. 정방행렬 (square matrix)

행의 개수와 열의 개수가 같은 행렬을 정방행렬(square matrix)이라고 한다.

4. 대각행렬 (diagonal matrix)

행렬에서 행과 열이 같은 위치를 주 대각(main diagonal) 또는 간단히 대각(diagonal)이라고 한다. 대각 위치에 있지 않은 것들은 비대각(off-diagonal)이라고 한다. 모든 비대각 요소가 0인 행렬을 대각행렬(diagonal matrix)이라고 한다.

D=[d1000d2000dN]D = \begin{bmatrix} d_{1} & 0 & \cdots & 0 \\ 0 & d_{2} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & d_{N} \\ \end{bmatrix}
DRN×ND \in \mathbf{R}^{N \times N}

5. 항등행렬 (identity matrix)

대각행렬 중에서도 모든 대각성분의 값이 1인 대각행렬을 항등행렬(identity matrix)이라고 한다. 항등행렬은 보통 알파벳 대문자 II로 표기한다.

I=[100010001]I = \begin{bmatrix} 1 & 0 & \cdots & 0 \\ 0 & 1 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & 1 \\ \end{bmatrix}
IRN×NI \in \mathbf{R}^{N \times N}

6. 대칭행렬 (symmetric matrix)

만약 전치연산을 통해서 얻은 전치행렬과 원래의 행렬이 같으면 대칭행렬(symmetric matrix)이라고 한다. 정방행렬만 대칭행렬이 될 수 있다.

ST=SS^{T} = S
SRN×NS \in \mathbf{R}^{N \times N}

※ 출처

김도형의 데이터 사이언스스쿨 중 2.1 데이터와 행렬

0개의 댓글