[ML] Tensor: Scalar, Vector, Matrix.

2025. 2. 3. 12:20·Programming/ML
728x90
728x90

Tensor 종류

https://medium.com/@xinyu.chen/intuitive-understanding-of-tensors-in-machine-learning-33635c64b596

1. Scalar (0차원 tensor)

  • 하나의 숫자로 표현되는 가장 기본적인 형태.
  • 크기(magnitude)만을 가지며 방향은 없음.
  • 예시: 온도(25°C), 나이(20), 가격(1000원)
# 파이썬/NumPy에서의 표현
scalar = 5.0

2. Vector (1차원 tensor)

  • 숫자들의 순서가 있는 array(배열): Numbers' ordered list.
  • Magnitude(크기)와 Direction(방향)을 모두 가짐.
  • image에서는 한 pixel의 RGB값 또는 HSV값을 1-4개의 요소로 구성된 vector로 표현.
  • 선형대수에서는 다차원 공간 상의 한 점 또는 방향을 나타내는 화살표로 해석: Vector Space의 element!
  • 기계학습 및 딥러닝에서는 데이터 instance(=single sample)의 특성(feature)들을 담는 container로 사용되어 하나의 instance를 표현.
# 파이썬/NumPy에서의 표현
vector = [1, 2, 3]  # shape: (3,)

3. Matrix (2차원 tensor)

  • 숫자들의 2차원 배열.
  • 행(row)과 열(column)으로 구성.
    • row vectors 또는 column vectors의 collection으로도 해석가능.

  • 선형대수에서는 Linear Transform(선형 변환)이나 Linear System(연립방정식)을 표현.
  • 기계학습 및 딥러닝에서는
    • 여러 데이터 instances (multiple-samples)들의 set(집합)이나
    • 이미지 데이터(array of pixels)를 표현하는 데 사용
# 파이썬/NumPy에서의 표현
matrix = [
    [1, 2, 3],
    [4, 5, 6]
]  # shape: (2, 3)

4. Tensor (3차원 이상)

  • 3차원 이상의 숫자 배열
  • 선형대수 vector, matrix의 개념을 더 높은 차원으로 확장함!
  • 기계학습 및 딥러닝에서 가장 기본적인 데이터 구조 (set of multi-dimensional vectors)로 사용.
# 파이썬/NumPy에서의 표현
tensor = [
    [[1, 2], [3, 4]],
    [[5, 6], [7, 8]]
]  # shape: (2, 2, 2)

Usage of Tensor

Tensor 활용 예시

  1. 이미지 데이터(pixel과 voxel의 집합)
    • batch_size: 한 번에 처리할 이미지 개수
    • height, width: 이미지의 높이와 너비
    • channels: RGB 색상 채널 (3)
# 컬러 이미지의 tensor 표현
image_tensor.shape = (batch_size, height, width, channels)
# 예: (32, 224, 224, 3)
  1. 자연어 처리
    • batch_size: 처리할 문장 개수
    • sequence_length: 문장의 최대 길이
    • embedding_dim: 각 단어의 벡터 표현 차원
# 문장 데이터의 tensor 표현
text_tensor.shape = (batch_size, sequence_length, embedding_dim)
# 예: (64, 100, 300)

Tensor 의 활용

  1. Vector Space 의 데이터들의 모임.
    • 선형대수:
      • 벡터는 vector space(공간)상의 하나의 point(점)를 나타내거나,
      • vector space 상의 특정방향을 가리키기도 함. 
    • 기계학습 및 딥러닝:
      • 벡터는 데이터(=multi-dimensional vector) 담는 컨테이너로서  sample instance 하나를 묘사함.(보통 매우 큰 차원수를 가짐)
      • tensor는 보다 확장되어 dataset전체일 수도 있고, mini-batch를 가리키기도 함.
      • model의 파라메터도 결국엔 tensor로 표현된다.
  1. 선형 변환의 확장 (matrix의 관점)
    • 선형대수:
      • matrix는 벡터를 다른 벡터로 변환하는 함수(Linear Transform)
    • 기계학습 및 딥러닝: 신경망의 각 층은 입력 tensor를 새로운 tensor로 변환(with Activation)
      • Linear Transform은 고유한 Matrix로 표현됨(standard matrix)
      • 비선형성을 위해서는 activation function이 도입됨.
  1. 차원의 확장
    • 선형대수: 주로 2차원까지의 연산 또는 연립방정식의 해를 구하는데 많이 사용됨.
    • 기계학습 및 딥러닝: 더 높은 차원의 데이터와 연산을 자연스럽게 다룸.

같이보면 좋은 자료들

tensor 에서 일반적으로 각 element의 type이 같은 경우가 일반적임. 이를 dtype라고 함. 보다 자세한 건 다음을 참고:

2023.02.01 - [Programming] - [Programming] Primitive Data Type : C, C++, NumPy, Torch

 

[Programming] Primitive Data Type : C, C++, NumPy, Torch

Primitive Data Type이(Unboxed type)란?C, C++, NumPy, PyTorch, TensorFlow 등에서 사용되는numeric data type들은보통 unboxed type 이라고도 불리는 primitive data type들이다.unboxed type에서는할당된 메모리 bit들이 해당 numeri

dsaint31.tistory.com

 

728x90

'Programming > ML' 카테고리의 다른 글

Dice Coefficient and IoU  (0) 2025.09.25
Similarity Metrics  (0) 2025.09.25
[ML] Nearest Neighbor Search: k-d Tree  (0) 2024.11.25
[ML] Feature Importances for Decision Tree  (1) 2024.11.10
[ML] Regularization  (0) 2024.10.27
'Programming/ML' 카테고리의 다른 글
  • Dice Coefficient and IoU
  • Similarity Metrics
  • [ML] Nearest Neighbor Search: k-d Tree
  • [ML] Feature Importances for Decision Tree
dsaint31x
dsaint31x
    반응형
    250x250
  • dsaint31x
    Dsaint31's blog
    dsaint31x
  • 전체
    오늘
    어제
    • 분류 전체보기 (787)
      • Private Life (15)
      • Programming (206)
        • DIP (116)
        • ML (35)
      • Computer (120)
        • CE (54)
        • ETC (33)
        • CUDA (3)
        • Blog, Markdown, Latex (4)
        • Linux (9)
      • ... (368)
        • Signals and Systems (115)
        • Math (176)
        • Linear Algebra (33)
        • Physics (43)
        • 인성세미나 (1)
      • 정리필요. (61)
        • 의료기기의 이해 (6)
        • PET, MRI and so on. (7)
        • PET Study 2009 (1)
        • 방사선 장해방호 (5)
        • 방사선 생물학 (3)
        • 방사선 계측 (9)
        • 기타 방사능관련 (3)
        • 고시 (9)
        • 정리 (18)
      • RI (0)
      • 원자력,방사능 관련법 (2)
  • 블로그 메뉴

    • Math
    • Programming
    • SS
    • DIP
  • 링크

    • Convex Optimization For All
  • 공지사항

    • Test
    • PET Study 2009
    • 기타 방사능관련.
  • 인기 글

  • 태그

    linear algebra
    fourier transform
    Probability
    Vector
    Term
    random
    Optimization
    Python
    cv2
    signals_and_systems
    SS
    math
    numpy
    SIGNAL
    Programming
    function
    ML
    opencv
    인허가제도
    signal_and_system
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
dsaint31x
[ML] Tensor: Scalar, Vector, Matrix.
상단으로

티스토리툴바