텐서
Tensor는 N차원 행렬 입니다 .
- 스칼라는 0차원 텐서입니다.
- Vector는 1차원 텐서입니다.
- 행렬은 2차원 텐서입니다.
Tensor 는 벡터 와 행렬 을 더 높은 차원 으로 일반화 한 것입니다.
스칼라 | 벡터 | ||||||||||||||||||||||||||
1 |
|
||||||||||||||||||||||||||
행렬 | 텐서 | ||||||||||||||||||||||||||
|
|
텐서 순위
텐서가 N 차원 공간 에서 가질 수 있는 방향의 수를 텐서 의 순위 라고 합니다 .
순위는 R 로 표시 됩니다.
스칼라 는 단일 숫자입니다. R = 0 .
- 0 축이 있습니다
- 순위가 0입니다
- 0차원 텐서입니다.
Vector 는 숫자의 배열입니다 . R = 1 .
- 1개의 축이 있습니다.
- 1등급을 가지고 있습니다
- 1차원 텐서입니다.
행렬 은 2 차원 배열입니다. R = 2 .
- 2축이 있습니다.
- 2등급입니다
- 2차원 텐서입니다.
실제 텐서
기술적으로 위의 모든 항목은 텐서이지만 텐서에 대해 말할 때 일반적으로 차원이 2보다 큰 행렬을 말합니다( R > 2 ).
JavaScript의 선형 대수학
선형 대수학에서 가장 간단한 수학 객체는 Scalar 입니다 .
const scalar = 1;
또 다른 간단한 수학 객체는 Array 입니다 .
const array = [ 1, 2, 3 ];
행렬은 2차원 배열 입니다 .
const matrix = [ [1,2],[3,4],[5,6] ];
벡터는 열이 하나만 있는 행렬 로 작성할 수 있습니다 .
const vector = [ [1],[2],[3] ];
벡터는 Array 로 작성할 수도 있습니다 .
const vector = [ 1, 2, 3 ];
텐서는 N차원 배열 입니다 .
const tensor = [ [1,2,3],[4,5,6],[7,8,9] ];
자바스크립트 텐서 작업
JavaScript에서 프로그래밍 텐서 연산은 루프의 스파게티가 되기 쉽습니다.
JavScript 라이브러리를 사용하면 골치 아픈 일을 많이 줄일 수 있습니다.
텐서 작업에 사용하는 가장 일반적인 라이브러리 중 하나는 tensorflow.js 입니다.
텐서 추가
const tensorA = tf.tensor([[1, 2], [3, 4], [5, 6]]);
const tensorB = tf.tensor([[1,-1], [2,-2], [3,-3]]);
// Tensor Addition
const tensorAdd = tensorA.add(tensorB);
// Result [ [2, 1], [5, 2], [8, 3] ]
텐서 빼기
const tensorA = tf.tensor([[1, 2], [3, 4], [5, 6]]);
const tensorB = tf.tensor([[1,-1], [2,-2], [3,-3]]);
// Tensor Subtraction
const tensorSub = tensorA.sub(tensorB);
// Result [ [0, 3], [1, 6], [2, 9] ]