행렬: matrix
행렬은 복수의 차원을 가지는 데이터가 다시 여러 개 있는 경우의 데이터를 합쳐서 표기한 것이다. 일반적으로 2차원 배열이 행렬입니다. 특히 3차원 이상 배열은 텐서(tensor)라고 합니다.
다차원 배열의 축(axis)
다차원 배열의 경우 그림 1과 같은 축을 갖습니다.
그림 1: 다차원 배열에서 axis(축)의 의미
벡터에 <그림 1>을 적용해 보면, 벡터는 x 축만을 갖는 자료형입니다. 1차원 배열에 해당하는 벡터의 각 요소(Element)는 그 자체가 Row입니다.
2차원 배열 형태의 행렬(matrix)은 x축의 행과 y축의 컬럼을 갖습니다. 2차원 배열 행렬은 depth가 1이라고 생각할 수 있습니다.1
3차원 배열 형태의 Tensor는 행과 열을 갖고 각 컬럼은 벡터 형태를 갖습니다. 이러한 벡터를 Depth로 표현합니다.
Numpy로 선형대수를 프로그래밍할 때 자료형의 Dimension과 자료형의 기준 축에 대하여 정리해 보았습니다. sum 함수의 매개변수를 기준으로 axis는 다음과 같은 의미가 있습니다.
- axis=None은 기본값으로 모든 요소의 값을 합산하여 1개의 스칼라값을 반환합니다.
- axis=0은 x축을 기준으로 여러 row를 한 개로 합치는 과정입니다.
- axis=1은 y축을 기준으로 row 별로 존재하는 column들의 값을 합쳐 1개로 축소하는 과정입니다.
- axis=2는 z축을 기준으로 column의 depth가 가진 값을 축소하는 과정입니다.