张量学习(7):张量乘积

目录描述

  • 1.向量的外积
    • 1.1 实例一
    • 1.2 实例二
  • 2.张量内积
  • 3.张量积(直积)
  • 4.Kronecker乘积(Kronecker Product)
  • 5.Hadamard乘积(Hadamard Product)
  • 6.Khatri-Rao乘积(Khatri-Rao Product)
  • 7.张量乘法
    • 7.1 张量内积
    • 7.2 张量乘以矩阵
  • 8.个人思考

1.向量的外积

1.1 实例一

存在三个向量:
张量学习(7):张量乘积_第1张图片
将三个向量相乘:
张量学习(7):张量乘积_第2张图片
作用:大大地降低了参数的维度。(将原本需要存储的12个数降低为7个数)

1.2 实例二

有三个向量:
在这里插入图片描述
在这里插入图片描述

第一种:
在这里插入图片描述
第二种:
张量学习(7):张量乘积_第3张图片
第三种:
在这里插入图片描述

2.张量内积

已知两个张量:
张量学习(7):张量乘积_第4张图片

张量学习(7):张量乘积_第5张图片
则两个张量的内积可以表示为:
在这里插入图片描述

3.张量积(直积)

  1. 张量积(积张量):有两个任意阶张量,第一个张量的每一个分量乘以第二个张量中的每一个分量,它们组合的集合仍然是一个张量,称为第一个张量乘以第二个张量的乘积。
  2. 张量积的阶数等于因子张量阶数之和

例如: a i b j k = c i j k a_ib_{jk} = c_{ijk} aibjk=cijk
在这里插入图片描述
则:
张量学习(7):张量乘积_第6张图片

4.Kronecker乘积(Kronecker Product)

Kronecker乘积定义在两个矩阵 A ∈ R I × J A\in R^{I\times J} ARI×J, B ∈ R K × L B\in R^{K\times L} BRK×L的运算:
张量学习(7):张量乘积_第7张图片
张量学习(7):张量乘积_第8张图片
张量学习(7):张量乘积_第9张图片
例如:
张量学习(7):张量乘积_第10张图片

5.Hadamard乘积(Hadamard Product)

Hadamard乘积定义在两个相同大小的矩阵 A ∈ R I × J A\in R^{I\times J} ARI×J, B ∈ R I × J B\in R^{I\times J} BRI×J的运算:
张量学习(7):张量乘积_第11张图片

6.Khatri-Rao乘积(Khatri-Rao Product)

Khatri-Rao乘积定义了两个相同列数的矩阵 A ∈ R I × K A\in R^{I\times K} ARI×K, B ∈ R J × K B\in R^{J\times K} BRJ×K的运算:
在这里插入图片描述
其演示图为:
张量学习(7):张量乘积_第12张图片
例如:
张量学习(7):张量乘积_第13张图片
在这里插入图片描述
即:
张量学习(7):张量乘积_第14张图片

7.张量乘法

可以定义三种不同的张量乘法,分别为:

  1. 同样大小的张量相乘
  2. 张量乘以矩阵
  3. 张量乘以向量

7.1 张量内积

张量学习(7):张量乘积_第15张图片
在这里插入图片描述

7.2 张量乘以矩阵

张量乘以矩阵步骤如下:

  1. 将张量矩阵化
  2. 再将张量和矩阵相乘

注意:这部分需要先了解 张量学习(10) 中的张量展开

例如
有一个张量和矩阵:
张量学习(7):张量乘积_第16张图片
张量学习(7):张量乘积_第17张图片
对张量进行 m o d e − 1 M a t r i c i z a t i o n mode-1 Matricization mode1Matricization得到:
张量学习(7):张量乘积_第18张图片
再将得到的矩阵和矩阵 A A A相乘:
张量学习(7):张量乘积_第19张图片
其过程可以用一个图演示:
张量学习(7):张量乘积_第20张图片

8.个人思考

张量的乘积与矩阵的乘积还是部分相对应的,其具体的物理意义可能再后面运用中才慢慢展现。

你可能感兴趣的:(张量学习,java,学习,开发语言)