4 minute read

1. 스칼라

스칼라는 숫자 하나를 의미한다.

스칼라는 italic체로 작성하며 보통 소문자 변수 이름을 붙인다. 스칼라를 도입할 때는 어떤 종류의 숫자인지 명시하는데 예를 들어 다음과 같이 명시한다.

  • 실수값 스칼라를 정의하면서 \(s \in R \)를 선의 기울기로 정하거나
  • 자연수 스칼라를 정의하면서 \(n \in N \)을 단위 수로 정할 수 있다.


2. 벡터

벡터는 숫자의 정렬된 리스트, 배열이며 순서대로 배열된다. 이 순서에 따라 인덱스로 각 숫자를 식별할 수 있다.

벡터의 표현

일반적으로 벡터의 이름은 \( \mathbf{x} \)와 같이 굵은 italic체의 소문자로 표기하고 벡터의 요소(element)는 아래 첨자(subcript)와 함께 이탤릭체로 표기하여 식별한다.

벡터는 다음과 같이 표현할 수 있다.

\[\mathbf{x} = \begin{bmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{bmatrix} \in \Bbb{R}^n\]

벡터의 타입과 크기

벡터에 어떤 종류의 숫자가 저장되어 있는지 표기해야 하며 다음과 같이 \(\Bbb{R}^n \) 타입과 크기에 대한 표기를 할 수 있다.

  • 이는 벡터의 각 요소가 \( \Bbb{R} \) 에 속한다는 뜻이다.
  • 벡터에 n개의 요소가 있는 경우 벡터의 \( \Bbb{R} \)에 데카르트 곱을 n번 취하여 형성된 집합에 속한다.
  • 이를 \( \Bbb{R}^n \) 이라고 한다.


벡터의 요소(element)

벡터의 요소는 real, binary, integer, etc 등이 가능하며, 벡터 x의 첫 번째 요소는 \(x_1 \), 두 번째 요소는 \(x_2 \) 등과 같이 표현한다.


벡터의 인덱스 집합

가끔 벡터의 요소(element)집합에 대해 인덱싱이 필요할 때가 있다. 이럴 때 인덱스를 포함하는 집합을 정의하고 집합을 아래 첨자로 작성한다.

  • 예를 들어 \(x_1, \space x_2, \space x_3 \)에 접근하려면 집합 \(S\)를 \(S = \lbrace 1, 3, 6 \rbrace \) 이와 같이 정의하고 \(x_s \)로 작성한다.


벡터의 여집합 표현

’-‘기호를 사용하여 집합의 여집합을 인덱싱 할 수 있다.

  • \( x_{-1} = \)\( \space x_1 \)을 제외하고 \( x \)의 요소를 모두 포함하는 여집합
  • \( x_s = \) \( s \)의 요소를 제외하고 \( x \)의 요소를 모두 포함.


Column Vector와 Row Vector

열 벡터(Column Vector)

  • n차원의 벡터는 일반적으로 열 벡터(Column Vector)이다. 즉, nx1 크기의 행렬이다.
\[\mathbf{x} = \begin{bmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{bmatrix} \in \Bbb{R}^n = \Bbb{R}^{n \times 1}\]

행 벡터(Row Vector)

  • 행 벡터는 보통 전치(transpose)로 작성된다.
\[\mathbf{x}^T = \begin{bmatrix} x_1 \\ x_2 \\ \vdots \\ x_n \end{bmatrix} ^T = [x_1 \space x_2 \space \cdots x_3 ] \in \Bbb{R}^{1 \times n}\]


Zero Vector, Ones Vector, Standard Unit Vectors

[1] Zero Vector

  • 영벡터는 성분이 모두 0인 벡터를 뜻한다. \( 0_n \) 으로 나타낼 수 있다.


[2] Ones Vector

  • Ones 벡터는 성분이 모두 1인 벡터를 뜻한다. \( 1_n \) 으로 나타낼 수 있다.


[3] Standard Unit Vector

  • 벡터의 성분 중 하나만 1이고 나머지는 다 0인 것을 의미한다.
\[e1 = \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix} , \space e2 = \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix} , \space e3 = \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix}\]


벡터의 sparse와 density

Sparsity

  • 벡터가 sparse 하다는 것은 벡터가 0이 많다는 것을 의미한다.
  • 이는 컴퓨터에서 호율적으로 저장하고 조작하는 것이 가능하다.
  • \( nnz(x) \)는 nonzero인 항목의 숫자이다.
  • 예시) zero vectors, standard unit vectors

Density

  • dense는 0이 아닌 것으로 꽉 채워진 것을 뜻한다.


3. 행렬

기본 설명

  • 행렬은 2차원 숫자 배열이므로 각 요소는 하나가 아닌 두 개의 인덱스로 식별된다.
  • 일반적으로 행렬에는 \(\pmb{A}\)와 같이 굵은 italic체로 대문자 변수 이름을 붙인다.
  • 실수값 행렬 A의 높이가 m이고, 너비가 n인 경우, 우리는 \(\pmb{A} ∈ \Bbb{R}^{m×n} \)이라고 말한다.
  • 일반적으로 행렬의 요소는 굵은 글꼴이 아닌 이탤릭체로 이름을 사용하여 식별하고 인덱스는 쉼표로 구분하여 나열한다.
  • 예를 들어 \( A_{1,1} \)은 A의 왼쪽 위 항목이고 Am,n은 오른쪽 아래 항목이다.
  • 가로 좌표에 “:”를 작성하면 세로 좌표가 i인 모든 숫자를 식별할 수 있다.
  • 예를 들어 \( A_{i,:} \) 는 수직좌표를 가진 A의 수평단면을 나타낸다 즉, i행의 모든 값을 식별할 수 있다고 생각하면 된다.

행렬의 기본 표현

\[\pmb{A} = \begin{bmatrix} 1 \quad 6 \\ 3 \quad 4 \\ 5 \quad 2 \end{bmatrix} \in \Bbb{R}^{3 \times 2}\]
  • 행렬은 굵은 italic체로 표현한다. (서적 Bengio - Deep Learning 기준)


행렬의 Notation

Square Matrix (rows = columns)

정방 행렬이라고도 부른다.

\[\pmb{A} = \begin{bmatrix} 1 \quad 6 \\ 3 \quad 4 \\ \end{bmatrix} \in \Bbb{R}^{n \times n}\]

Rectangular matrix (rows != columns)

직사각형 행렬이라고도 부른다.

\[\pmb{A} = \begin{bmatrix} 1 \quad 6 \\ 3 \quad 4 \\ 5 \quad 2 \end{bmatrix} \in \Bbb{R}^{m \times n}\]

Transposd matrix

전치 행렬이라고도 부른다.

  • 주 대각선을 가로질러 미러링한 것과 같이 생각하면 된다.
\[\pmb{A} = \begin{bmatrix} 1 \quad 6 \\ 3 \quad 4 \\ \end{bmatrix} \in \Bbb{R}^{n \times n}\]

\( A_{i,j} \) 행렬 성분

  • 행렬 A의 i,j번째 성분
  • e.g. \( A_{2,1} = 3\)


i행의 행 벡터

  • 행렬 A의 i번째 행 벡터
  • \( A_{i,:} \)
  • e.g. \(A_{2,:} = \begin{bmatrix} 3 \quad 4 \end{bmatrix}\)


i번째 열 벡터

  • 행렬 A의 i번째 열 벡터
  • \( A_{:,i} \)
  • e.g. \(A_{:,2} = \begin{bmatrix} 6 \\ 4 \\ 2 \end{bmatrix}\)


행렬의 전치

\[\pmb{A} = \begin{bmatrix} A_{1, 1} \quad A_{1, 2} \\ A_{2, 1} \quad A_{2, 2} \\ A_{3, 1} \quad A_{3, 2} \\ \end{bmatrix} \Rightarrow \pmb{A}^T = \begin{bmatrix} A_{1, 1} \quad A_{1, 2} \quad A_{1, 3} \\ A_{2, 1} \quad A_{2, 2} \quad A_{2, 3} \\ \end{bmatrix}\]
  • 행렬의 전치는 주 대각선을 가로지르는 거울 이미지로 생각할 수 있다.

행렬에서 중요한 연산 중 하나는 전치이다. 행렬의 전치는 행렬의 왼쪽 위 모서리에서 시작하여 아래쪽과 오른쪽으로 이어지는 주 대각선이라고 하는 대각선을 가로지르는 행렬의 거울 이미지이다.

행렬 \( \pmb{A} \)의 전치를 \( \pmb{A}^T \)로 나타내며 다음과 같이 정의한다.

\[(\pmb{A}^T)_{i,j} = A_{j,i} \\\]


벡터와 스칼라의 전치

벡터의 전치

벡터는 열이 하나만 있는 행렬로 생각할 수 있다. 따라서 벡터의 전치는 행이 하나만 있는 행렬이다. 때로는 text의 element를 행 행렬로 작성한 다음, 전치 연산자를 사용하여 표준 column vector로 변환하는 방식으로 벡터를 정의할 때도 있다.

\[x = \begin{bmatrix} x_1, x_2, x_3 \end{bmatrix} ^T\]


스칼라의 전치

스칼라는 하나의 항목만 있는 행렬로 생각할 수 있다. 이를 통해 스칼라가 그 자체로 전치임을 알 수 있다. \[ a=a^T \]


텐서(Tensor)

행렬보다 더 많은 차원을 가지고 있으면 tensor라고 한다.

  • 텐서는 이와 같은 폰트로 표현한다: \(\mathsf{A} \)
  • 텐서\(\mathsf{A} \)의 원소를 식별하려면 \(A_{i,j,k}\)로 작성한다.

출처

Bengio, et.al. - Deep Learning
주재걸 - 선형 대수
학교 강의 자료