Căng thẳng
Tensor là một ma trận N chiều :
- Scalar là một tensor 0 chiều
- Vectơ là một tenxơ 1 chiều
- Ma trận là một tenxơ 2 chiều
Tensor là một tổng quát của Vectơ và Ma trận thành các chiều cao hơn.
Vô hướng | (Các) Vectơ | ||||||||||||||||||||||||||
1 |
|
||||||||||||||||||||||||||
Ma trận | Tensor | ||||||||||||||||||||||||||
|
|
Bảng xếp hạng căng thẳng
Số hướng của tensor có thể có trong không gian N chiều, được gọi là Hạng của tensor.
Hạng được ký hiệu là R.
Một vô hướng là một số duy nhất. R = 0 .
- Nó có 0 trục
- Nó có Xếp hạng 0
- Nó là một Tensor 0 chiều
Vectơ là một mảng số. R = 1 .
- Nó có 1 trục
- Nó có Xếp hạng 1
- Nó là một Tensor 1 chiều
Ma trận là một mảng 2 chiều. R = 2 .
- Nó có 2 trục
- Nó có Xếp hạng 2
- Nó là một Tensor 2 chiều
Độ căng thực
Về mặt kỹ thuật, tất cả những thứ trên đều là tensor, nhưng khi chúng ta nói về tensor, chúng ta thường nói về ma trận có kích thước lớn hơn 2 ( R> 2 ).
Đại số tuyến tính trong JavaScript
Trong đại số tuyến tính, đối tượng toán học đơn giản nhất là Vô hướng :
const scalar = 1;
Một đối tượng toán học đơn giản khác là Array :
const array = [ 1, 2, 3 ];
Ma trận là Mảng 2 chiều :
const matrix = [ [1,2],[3,4],[5,6] ];
Vectơ có thể được viết dưới dạng Ma trận chỉ có một cột:
const vector = [ [1],[2],[3] ];
Vectơ cũng có thể được viết dưới dạng Mảng :
const vector = [ 1, 2, 3 ];
Độ căng là Mảng N chiều :
const tensor = [ [1,2,3],[4,5,6],[7,8,9] ];
Hoạt động kéo căng JavaScript
Lập trình hoạt động tensor trong JavaScript, có thể dễ dàng trở thành một spaghetti của các vòng lặp.
Sử dụng thư viện JavScript sẽ giúp bạn đỡ phải đau đầu hơn rất nhiều.
Một trong những thư viện phổ biến nhất để sử dụng cho các hoạt động tensor được gọi là tensorflow.js .
Bổ sung căng thẳng
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] ]
Phép trừ Tensor
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] ]
Tìm hiểu thêm về Tensorflow ...