【转载】机器学习之数学基础(三)~什么是张量(Tensor)?

【转载:什么是张量 (tensor)? - 马同学的回答 - 知乎 https://www.zhihu.com/question/20695804/answer/447498656】

这一系列文章源自此系列视频,需要科学上网

此系列文章算是该视频的读书笔记,不过加入了个人对线性代数的理解,以及增加了很多动画帮助理解。

根据维基百科的介绍,“张量”一词最初由威廉·罗恩·哈密顿在1846年引入。对,就是那个发明四元数的哈密顿:

威廉·罗恩·哈密顿

1890年格雷戈里奥·里奇-库尔巴斯托罗的《绝对微分几何》、1900年列维-奇维塔的《绝对微分》进一步在数学上发展了“张量”的概念。

伟大的物理学家,爱因斯坦为了描述他的天才想法,恶补了黎曼几何和张量分析,终于在这两大数学工具的帮助下,创立了他最为得意的弯曲时空的物理理论:广义相对论。至此张量在物理上大放光彩。如果想学习广义相对论,张量肯定是需要学习的。

阿尔伯特·爱因斯坦

广义相对论中最核心的思想就是质量会带来时空弯曲,就好像保龄球滚过长绒地毯:

可以想象,时空弯曲中有大量的几何关系,为了描述复杂的几何关系,爱因斯坦引入了“张量”,比如著名的 爱因斯坦场方程 :

R_{\mu \nu } -\frac{1}{2}R \cdot g_{\mu \nu }+\Lambda \cdot g_{\mu \nu }=\frac{8\pi G}{C^{4}}T_{\mu \nu }

上面式子中, R_{\mu \nu }, g_{\mu \nu },T_{\mu \nu } 就是各种的张量。

可以先有一个直观印象,“张量”就是用来描述几何的,这里几何指的是什么?后面很快就会解释。

1 关于张量的四种定义

“张量”在不同的运用场景下有不同的定义。

第一个定义,张量是多维数组,这个定义常见于各种人工智能软件。听起来还好理解。

第二个定义,张量是某种几何对象,不会随着坐标系的改变而改变。

第三个定义,张量是向量和余向量(covector)通过张量积(tensor product)组合而成的。

第四个定义,张量是多重线性映射,即:

T: \underset{m}{\underbrace{V^{*} \times \cdot \cdot \cdot \times V^{*}}} \times \underset{n}{\underbrace{V \times \cdot \cdot \cdot \times V}} \rightarrow \mathbb{R}

 

其中,V是矢量空间,V*是对应的对偶空间。

好了,不闹了,后面的文章会尝试逐一解释这四种定义,并且可以看到这四种定义是不断认知升级的结果。

2 多维数组

从第一个定义:张量是多维数组开始。

现在机器学习很火,知名开源框架tensor-flow是这么定义tensor(张量)的:

A tensor is a generalization of vectors and metrics to potentially higher dimensions

也就是说,张量(tensor)是多维数组,目的是把向量、矩阵推向更高的维度。

更具体点,也即是说:

preview

把三维张量画成一个立方体:

preview

我们就可以进一步画出更高维的张量:

preview

从数据结构上来看,张量就是多维数组。

这个定义本身没有错,但是没有真正反映张量的核心。

3 几何对象

我们来看下第二个定义:张量是某种几何对象,不会随着坐标系的改变而改变。

3.1 二维平面

最简单的几何对象就是二维平面,在线性代数中称为\mathbb{R}^{2} (这是一个向量空间),下面用一个有颜色的方框来表示\mathbb{R}^{2}:

这个\mathbb{R}^{2}可以通过直角坐标系来描述(也就是单位正交基来张成):

也可以由别的坐标系来描述(别的基来张成),当然\mathbb{R}^{2}本身不会因为基不同而发生改变:

上面的图有几点值得注意:

  • \mathbb{R}^{2}是一个几何对象,它与坐标系(基)无关
  • 可以通过不同的坐标系(基)来描述(张成)
  • 并且,不同的坐标系(基)之间有明确的转换规则(这个我们后面再说)

那这样一个几何对象,\mathbb{R}^{2} 就可以用张量来描述。

3.2 二维平面中的向量

\mathbb{R}^{2}中的向量,也是一个几何对象:

\mathbb{R}^{2}被某个基张成的时候,向量也获得了坐标值:

如果基发生了变换,坐标值也会不断的变化:

从而可以得到如下的结论:

  • 向量是一个几何对象,它与基无关
  • 不同的基下,有不同的坐标值
  • 并且,不同的坐标值之间有明确的转换规则

所以,向量这个几何对象也可以用张量来描述。

3.3 二维平面之间的线性映射

假设有如下线性映射:

\iota : \mathbb{R}^{2} \rightarrow \mathbb{R}^{2}

其实它也是一个几何对象,可以图示如下:

上图表示左边\mathbb{R}^{2}中的一点(一点也对应一个向量),通过 \iota ,和右边\mathbb{R}^{2}  中的一点关联了起来,这就是映射。

当用单位正交基来描述左右两个\mathbb{R}^{2},可以得到一个矩阵A 来表示此\iota

不同的基,会获得不同的矩阵(也就是等价矩阵),比如说 A^{'} :

进而得到如下的结论:

  • 线性映射\iota  是一个几何对象,它与基无关
  • 不同的基下,有不同的矩阵来代表\iota
  • 并且,不同的矩阵之间有明确的转换规则

所以, \iota 这个几何对象也可以用张量来描述。

4 总结

可见,张量可以表达非常多的线性代数的研究对象。

借用线性代数中“张成”这个词,或许“张量”这个名字的意思就是“可以张成很多线性代数研究对象的量”。

下一节,我们会仔细研究下,张量是怎么去表示向量空间、矢量、线性映射的,以及不同基下的转换规则是什么。

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值