차원

장서연·2021년 6월 8일
0

차원(dimension)은 어떤 수치 데이터를 다룰 때에 고려해야하는 속성몇개인지에 따라 결정된다.

예를 들어, 3차원 공간의 위치는 x축 위의 위치, y축 위의 위치, 그리고 z축 위의 위치를 모두 고려해야만 정확한 한 점을 가리킬 수 있기때문에 "3차원" 좌표로 표현된다.

차원이라는 용어를 많이 사용하는 데이터 구조로 배열이 있다. 가장 단순한 배열은 데이터가 하나의 줄로 나열되어있는 것이고, 이것을 1차원 배열이라 부른다.
수학과 과학 분야에서 이러한 수치 데이터를 벡터라 부른다.
벡터는 원소의 개수가 차원이 된다.
[1,4]
-> 1차원 배열이지만 벡터로 간주하면 1차원 데이터가 2개있는 2차원 벡터
[3,1,2]
-> 1차원 배열이지만 벡터로 간주하면 1차원 데이터가 3개 있는 3차원 벡터

벡터의 차원은 몇개의 항목이 있는지에 따라 결정되고,
배열의 차원은 몇가지 방향으로 줄을 지어있는지를 표현하는 것이다.

배열의 차원을 한단게 높이면, 1차원 배열을 여러줄로 겹쳐놓은 형태가 된다. 이때 어떤 항목을 지목하는 인덱스를 표현하려면 두가지 방향으로 각각 하나씩의 위치값이 필요하고, 이 방향을 각각 배열의 축이라 부른다.

배열의 차원은 축의 개수이므로, 이런 배열을 2차원 배열이라 부른다.

수학에서는 각각의 축행과 열이라 부르며, 이러한 모양의 데이터를 행렬이라고 부른다.

같은 방식으로, 배열의 차원을 높여보자. 3차원 배열은 입체적인 모양이 될 것이다. 이러한 구조가 표현하는 데이터는 벡터나 행렬이 아니라 tensor(텐서)라 부른다.

텐서는 3차원 배열뿐만 아니라 사실 모든 차원의 배열을 포괄하는 개념이므로, 벡터는 1차원 텐서, 행렬은 2차원 텐서라 할 수 있다.

머릿속으로 상상하기는 어렵지만, 코드로는 4차원(3차원 배열을 나열한 배열), 5차원 배열(4차원 배열을 나열한 배열)을 쉽게 만들 수 있다.

그리고, 이 모든 것이 텐서이다.

0개의 댓글

관련 채용 정보