大数据分析 张量分解如何应用于数据挖掘?
张量分解如何应用于数据挖掘?举个很简单的例子。首先对目标数据集构建张量,然后对张量进行分解,这里的分解是带有精度的截取分解。之后对数据进行还原,还原后的数据并不完全等于原有的数据,有一些原本没有数据的
张量分解如何应用于数据挖掘?
举个很简单的例子。
首先对目标数据集构建张量,然后对张量进行分解,这里的分解是带有精度的截取分解。之后对数据进行还原,还原后的数据并不完全等于原有的数据,有一些原本没有数据的地方有了新的数据,这种方法常常被用于数据补全,当然也可以用于推荐系统等等。
Tensorflow中的张量是什么意思?
TensorFlow的tensor(张量)来自于数学上的张量概念。
(柯西应力张量,图片来源:维基百科)
什么是张量
19世纪末,Tullio Levi-Civita和Gregorio Ricci-Curbastro提出了张量,张量的提出是为了研究一些不依赖于坐标系的内在的几何性质和物理性质。相对论出现以后,张量这个概念被发扬光大了(相对论需要研究不同参考系下的同一物理系统的规律)。在现代数学上,张量定义为多重线性映射(multilinear map)。
不过以上其实都不重要。-_-!!!
实际上你需要记住的只有一点,在进行张量运算的时候,经常把张量当成多维数组进行计算。
张量和多维数组
没错,TensorFlow中的Tensor或者说张量就是多维数组!
(我猜之所以叫TensorFlow,不叫ArrayFlow,是因为TensorFlow听起来比较高大上。)
举几个例子吧:
- 1是一个0维张量/0维数组,又叫标量(scalar),形状为[]。
- [1, 2, 3]是一个1维张量/1维数组,又叫向量(vector),形状为[3].
- [[1, 2, 3], [4, 5, 6]]是一个2维张量/2维数组,又叫矩阵(matrix),形状为[2, 3]。
- [[[1, 2, 3]], [[4, 5, 6]]]是一个3维张量/3维数组,有时候,张量特指3维以上的张量(低于3维的,如前所述,分别叫标量、向量、矩阵),形状为[2, 1, 3]。