[ML] Tensor: Scalar, Vector, Matrix.
·
Programming/ML
Tensor 종류1. Scalar (0차원 tensor)하나의 숫자로 표현되는 가장 기본적인 형태.크기(magnitude)만을 가지며 방향은 없음.예시: 온도(25°C), 나이(20), 가격(1000원)# 파이썬/NumPy에서의 표현scalar = 5.02. Vector (1차원 tensor)숫자들의 순서가 있는 array(배열): Numbers' ordered list.Magnitude(크기)와 Direction(방향)을 모두 가짐.선형대수에서는 공간 상의 한 점 또는 방향을 나타내는 화살표로 해석: Vector Space의 element!기계학습 및 딥러닝에서는 데이터 instance(=single sample)의 특성(feature)들을 담는 container로 사용되어 하나의 instance를 표..
[Math] Cartesian Product (or Descartes Product, Product Set)
·
.../Math
Cartesian Product (or Descartes Product)공집합(empty set, null set)이 아닌 여러 sets를 이용하여 새로운 set을 만드는 연산. Cartesian product는operand인 여러 집합들의각 elements를  원소(component, element)로 하는 tuple을 element(원소)로 하는 set을 반환함. 2개의 집합 $A$, $B$의 Cartesian product $A\times B$는 다음과 같음.$$A\times B= \{ (a,b) | a \in A, b\in B\}$$ $n$ 개의 집합 $A_1, A_2, \dots, A_n$의 Cartesian Product는 다음과 같이 정의됨.$$\displaystyle \prod^n_{i=1..
[NumPy] Broadcasting
·
Programming/DIP
0. Broadcasting이란?tensor와 scalar를 연산시킬 때 scalar를 상대 tensor와 같은 shape이면서 해당 scalar의 값을 가진 tensor로 변경시키고나서 이 scalar로부터 만들어진 tensor와 상대 tensor를 동작시키는 방식으로 elementwise연산이 수행되는 기능. 주의할 것은 scalar 를 확장시키는 것이 기본이라는 점임.  참고로 broadcasting은 scalar와 tensor간의 연산을 확장하여 차원이 다른 tensor간의 연산에도 사용된다:단, scalar에서 출발하므로 size가 1인 축(=scalar)을 추가하는 padding을 이용함. PyTorch나 TensorFlow의 텐서도 NumPy와 같은 방식으로 broadcasting이 수행된다..