본문 바로가기
AI 공부/Math 데이터사이언스 수학

[데이터사이언스 수학] 📚 Matrix와 Tensor: 데이터 사이언스 필수 개념! 🚀

by 데이터 벌집 2025. 1. 3.
반응형

안녕하세요! 😄 오늘은 데이터 사이언스에서 자주 등장하는 두 가지 중요한 개념, Matrix(행렬)와 Tensor(텐서)에 대해 알아보도록 하겠습니다. 🧮 데이터의 구조를 이해하면 머신러닝과 딥러닝을 더 쉽게 배울 수 있어요! 🧠

[데이터사이언스 수학] 📚 Matrix와 Tensor: 데이터 사이언스 필수 개념! 🚀

 

1. Matrix(행렬)란? 🤔

Matrix(행렬)는 2차원 배열로, 숫자가 행(row)과 열(column)로 배열된 구조를 가지고 있습니다. 📊 데이터를 시각화하거나 계산할 때 자주 사용됩니다.
예시로는 이미지 데이터(픽셀 값 배열), 데이터셋(행: 데이터 샘플, 열: 피처)이 있습니다.

📌 행렬의 특징

  • 2차원 구조: 행(row)과 열(column)로 구성
  • 행렬 연산: 덧셈, 곱셈, 전치(transpose) 등이 가능

🖥️ Python으로 행렬 만들어보기

# Import numpy module
import numpy as np

# Creating a 2x3 matrix
matrix = np.array([[1, 2, 3], [4, 5, 6]])
print(matrix)

 

[[1 2 3]
 [4 5 6]]

 

행렬의 주요 연산

# Matrix Addition
matrix1 = np.array([[1, 2], [3, 4]])
matrix2 = np.array([[5, 6], [7, 8]])
addition = matrix1 + matrix2
print("Matrix Addition:\n", addition)

# Matrix Multiplication
multiplication = np.dot(matrix1, matrix2)
print("Matrix Multiplication:\n", multiplication)

# Transpose of a Matrix
transpose = matrix1.T
print("Transpose:\n", transpose)

 

2. Tensor(텐서)란? 🤓

Tensor는 다차원 배열입니다.
스칼라(0차원), 벡터(1차원), 행렬(2차원) 모두 텐서의 일부분이에요. 텐서는 머신러닝과 딥러닝에서 데이터를 표현하고 연산하는 데 사용됩니다. 🤖

📌 텐서의 특징

  • 0차원 텐서: 스칼라 (e.g., 5)
  • 1차원 텐서: 벡터 (e.g., [1, 2, 3])
  • 2차원 텐서: 행렬 (e.g., [[1, 2], [3, 4]])
  • 3차원 이상: 다차원 텐서 (e.g., 이미지 데이터의 RGB 채널)

🖥️ Python으로 텐서 만들어보기

# Import numpy module
import numpy as np

# Creating a 3x3x3 Tensor
tensor = np.array([[[1, 2, 3], [4, 5, 6], [7, 8, 9]], 
                   [[10, 11, 12], [13, 14, 15], [16, 17, 18]], 
                   [[19, 20, 21], [22, 23, 24], [25, 26, 27]]])
print(tensor)

 

3. Matrix vs Tensor 비교 🌟

특징 Matrix(행렬) Tensor(텐서)

차원 2차원 다차원 (0차원 ~ n차원)
데이터 구조 행과 열로 구성 다차원 배열
사용 사례 선형 대수, 머신러닝 딥러닝, 이미지/텍스트 데이터
예시 [[1, 2], [3, 4]] [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]

 

4. 텐서 연산: 딥러닝의 핵심 🧠

텐서 연산은 딥러닝의 핵심입니다! 텐서를 사용하면 복잡한 데이터를 쉽게 다룰 수 있습니다.
예를 들어, 이미지 데이터를 처리할 때 텐서는 각 픽셀의 RGB 값을 포함하는 3차원 배열로 표현됩니다. 📸

텐서 연산 예제

# Tensor Addition
tensor1 = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]])
tensor2 = np.array([[[1, 1], [1, 1]], [[1, 1], [1, 1]]])
tensor_add = tensor1 + tensor2
print("Tensor Addition:\n", tensor_add)

# Tensor Multiplication
tensor_mul = tensor1 * tensor2
print("Tensor Multiplication:\n", tensor_mul)

5. Matrix와 Tensor의 활용 예시 🚀

Matrix 활용

  • 데이터 분석: 데이터프레임이나 피처 배열 표현
  • 선형 회귀: 행렬 연산을 통해 회귀 방정식 계산

Tensor 활용

  • 딥러닝: 모델의 입력 데이터로 사용 (e.g., CNN에서 이미지 데이터)
  • 이미지 처리: RGB 채널 데이터를 다차원 배열로 표현

6. 마무리: 왜 Matrix와 Tensor를 배워야 할까? 🏁

Matrix와 Tensor는 데이터 사이언스와 AI의 핵심 도구입니다.

  • Matrix는 선형 대수와 머신러닝의 기반
  • Tensor는 딥러닝에서 데이터를 다루는 기본 단위

이 둘의 개념을 잘 이해하면 데이터를 더 효과적으로 처리하고, 복잡한 문제를 해결할 수 있어요! 💡

반응형