텐서

Tensor는 N차원 행렬 입니다 .

  • 스칼라는 0차원 텐서입니다.
  • Vector는 1차원 텐서입니다.
  • 행렬은 2차원 텐서입니다.

Tensor벡터행렬 을 더 높은 차원 으로 일반화 한 것입니다.

스칼라벡터
1
1
2
 
1 2

행렬텐서
1 2
4 5 6
 
1 2
4 5 6
 
4 5 6
1 2
 

텐서 순위

텐서가 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] ]

Tensorflow에 대해 자세히 알아보기...