본문 바로가기

데이터를 위한 수학

[3] 선형대수의 데이터 유형

[선형대수의 데이터 유형]

스칼라

숫자 하나로 이루어진 데이터이다.

예를 들어, 어떤 붓꽃 한 송이의 꽃잎 길이를 측정하면 숫자가 하나 나오고 이것이 스칼라가 된다.

 

(표기)

𝑥 ∈ R

 

 


벡터

여러 숫자가 특정한 순서대로 모여 있는 것을 말한다. 

예를 들어, 붓꽃의 종을 알아내려고 크기를 측정할 때,
𝛘₁ : 꽃받침 길이, 𝛘₂ : 꽃받침 폭, 𝛘₃ 꽃잎 길이, 𝛘₄ 꽃잎 폭 등의 데이터의 묶음이 있어야 유리하다.

이럴 경우, 숫자의 순서를 유지하는 것이 정보 전달의 혼동을 방지할 수 있다. 

 

(표기)

𝑥 ∈ R⁴

 

(표기, N개의 데이터를 가진 벡터인 n-차원 벡터)

𝑥 ∈ Rⁿ


※ 또는 다양한 형태로 표현할 수 있어서, 문맥에 따라서 결정해야할 상황이 많다.

 

넘파이를 이용하여 코드로 벡터를 표현할 수 있다.

아래처럼 2차원으로 표현해도 좋고, 

x1 = np.array([[1],[2],[3],[4]])

 

아래처럼 1차원 배열 객체도 대부분 벡터로 인정한다.

x1 = np.array([1, 2, 3, 4])

 

 

 

행렬

여러 개의 벡터로 이루어진 데이터 집합이다.
예를 들어, 꽃이 6송이인 경우 각각의 꽃받침 길이, 꽃받침 폭, 꽃잎 길이,꽃잎 폭의 데이터를 표현하고 싶으면
아래와 같이 행렬식으로 표현할 수 있다. 

𝑥 ∈ R⁶ˣ


※ 스칼라와 벡터도 수학적으로 행렬에 속한다. 따라서 아래처럼 표현이 가능하다.

스칼라는 α ∈ R¹ˣ¹
벡터는 𝑥 R⁴ˣ¹

 

넘파이를 이용하여 코드로 행렬을 표현할 수 있다.

x1 = np.array([[1,2,3],[2,3,4],[3,4,5],[4,5,6]])

 

 

 

텐서

같은 크기의 행렬이 여러개 있는 것이다. 엄격한 수학적 정의로 텐서는 다차원 배열로 표현되는 사상으로 다차원 배열 자체를 뜻하지 않는다. 하지만, 보통 데이터 사이언스 분야에서는 다차원 배열을 텐서라고 부른다. 예를 들어 색을 표현할 때에 3가지(레드,그린,블루)의 차원을 겹쳐서 실제 이미지의 색을 표현하는 경우에서 텐서가 사용될 수 있다.