[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(방향)을 모두 가짐.
  • 선형대수에서는 공간 상의 한 점 또는 방향을 나타내는 화살표로 해석: 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차원까지의 연산 또는 연립방정식의 해를 구하는데 많이 사용됨.
    • 기계학습 및 딥러닝: 더 높은 차원의 데이터와 연산을 자연스럽게 다룸.

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

[ML] Nearest Neighbor Search: k-d Tree  (0) 2024.11.25
[ML] Feature Importances for Decision Tree  (0) 2024.11.10
[ML] Regularization  (0) 2024.10.27
[ML] Linear Classification Model: Hyperplane and Decision Boundary  (0) 2024.10.27
[ML] Diabetes Dataset  (0) 2024.10.05
'Programming/ML' 카테고리의 다른 글
  • [ML] Nearest Neighbor Search: k-d Tree
  • [ML] Feature Importances for Decision Tree
  • [ML] Regularization
  • [ML] Linear Classification Model: Hyperplane and Decision Boundary
dsaint31x
dsaint31x
    반응형
    250x250
  • dsaint31x
    Dsaint31's blog
    dsaint31x
  • 전체
    오늘
    어제
    • 분류 전체보기 (738)
      • Private Life (13)
      • Programming (186)
        • DIP (104)
        • ML (26)
      • Computer (118)
        • CE (52)
        • ETC (33)
        • CUDA (3)
        • Blog, Markdown, Latex (4)
        • Linux (9)
      • ... (349)
        • Signals and Systems (103)
        • Math (170)
        • Linear Algebra (33)
        • Physics (42)
        • 인성세미나 (1)
      • 정리필요. (54)
        • 의료기기의 이해 (6)
        • PET, MRI and so on. (1)
        • PET Study 2009 (1)
        • 방사선 장해방호 (4)
        • 방사선 생물학 (3)
        • 방사선 계측 (9)
        • 기타 방사능관련 (3)
        • 고시 (9)
        • 정리 (18)
      • RI (0)
      • 원자력,방사능 관련법 (2)
  • 블로그 메뉴

    • Math
    • Programming
    • SS
    • DIP
  • 링크

    • Convex Optimization For All
  • 공지사항

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

  • 태그

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

  • 최근 글

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

티스토리툴바