플로라도의 data workout

데이터의 차원이 뭔가요? 본문

기초 노트/MachineLearning

데이터의 차원이 뭔가요?

플로라도 2024. 2. 21. 22:13

 

데이터 특성(feature)의 차원

 

일반적으로 데이터의 차원은 각 개별 데이터 포인트(샘플)이 가지고 있는 특징의 수를 이야기한다.

예를 들어, 머신러닝 입문단계에서 가장 흔히 접할 수 있는 정형 데이터(tabular)중의 하나인 iris 데이터셋의 경우 

 

각 데이터 포인트는 

  • Id
  • SepalLengthCm (꽃받침 길이)
  • SepalWidthCm (꽃받침 너비)
  • PetalLengthCm (꽃잎 길이)
  • PetalWidthCm (꽃잎 너비)
  • Species

에 해당하는 값을 갖고 있고, 이들 중 "Id"와 타겟값인 "Species"를 제외한 [SepalLengthCm, SepalWidthCm, PetalLengthCm, PetalWidthCm] 의 4가지 칼럼은 각 개별 데이터 포인트를 구성하는 4가지의 특성,특징(feature)이 되겠다.

즉, Iris dataset은 4차원의 특징공간(feature space)을 갖고있다.

 

출처 :  https://eminebozkus.medium.com/exploring-the-iris-flower-dataset-4e000bcc266c

 

데이터의 구조적 차원 (shape)

 

 

 

이번에는 딥러닝의 입문단계에서 접할 수 있는 MNIST 데이터의 예시를 들어본다.

MNIST 데이터의 trainset은  (60,000, 28, 28) 로 구성되어있는데, 이는 각  batchsize * height * width을 나타낸다. 

각 개별 데이터 포인트는 위의 그림 처럼 height*width의 , 28*28의 특징공간을 갖고 있는 것을 알 수 있다.

각 특징공간은 0~255의 픽셀값으로 구성되며 총 784차원으로 표현된다.

이러한 데이터의 구조적 차원을 데이터의 shape이라고 표현한다.

 

MNIST와 같은 gray-scale의 이미지를 제외한, 대부분의 컬러 이미지는 이러한 구조에 channel이라는 하나의 구조적 공간을 더 추가한  (channel*height*width)형태의 shape을 띄게 된다.

RGB 3채널의 512*512 해상도를 가진 이미지라면,  (3,512,512) 와 같은 shape으로 표현되는 것이다.

 

 

아래의 그림이 이러한 데이터의 구조적 차원을 잘 설명하고 있다.

 

 

 

벡터의 모임이 매트릭스가 되는 것처럼, 매트릭스의 모임이 3D텐서가 된다.

또한 3D 텐서의 모임이 4D 텐서가 된다.

 

대부분의 2D 이미지를 다루게 되면 batch * channel * height * width 구조의 4차원 shape을 다루게 되고 

2D 동영상을 다루게되면 batch  * time * channel * height * width 구조의 5차원 shape을 다루게 된다.

 

만약 3D 동영상을 다루게되면 z축이 추가된 6차원의 shape , 6D Tensor를 다루게 될것이다.

 

 

'데이터의 shape'을 한국말로 번역하면 데이터의 모양 내지는 데이터의 형상이 되는데, 어색해서 그런지 대부분 'shape' 이라는 표현으로 이야기 하는 것 같다. 'shape'표현에 익숙해져 있다가, 가끔 데이터의 '차원'이라고 사용될때면 혼동이 올 수 있는데, 헷갈리지 않도록 주의하자.

 

 

 

 

정리

 

정리하자면 Iris 데이터셋은 2차원 정형데이터(tabular)에 4차원의 특징공간을 가진 정형 데이터이며

손글씨 데이터셋인 MNIST데이터셋은 이미지의 집합으로 이루어진 784(28*28)차원의 특징공간을 가진 비정형 데이터이다.