这个系列介绍数理统计中的张量方法。在计算机视觉、NLP以及基因组学等领域,数据结构越来越复杂,以至于用矩阵已经没有办法很好地表示数据了,这时就需要用到张量。因此学习数理统计的微分几何方法与张量方法对理解现代统计与机器学习技术非常有帮助。这个系列的博客从矩阵分析与多元统计II 二次型与二次曲面2 双线性函数介绍的双线性函数开始进行推广得到张量,建立张量的代数与分析理论,并讨论张量在数理统计中的应用。
张量的概念
定义1 假设 V V V是数域 F F F上的线性空间, V ∗ V^* V∗是 V V V的对偶空间, p , q p,q p,q都是正整数,称下面的 p + q p+q p+q重线性函数是一个 ( p , q ) (p,q) (p,q)型张量:
f : V p × ( V ∗ ) q → R f:V^p \times (V^*)^q \to \mathbb{R} f:Vp×(V∗)q→R
也称 f f f为 p p p次协变(共变)、 q q q次逆变(反变)的混合型张量, p + q p+q p+q是 f f f的阶;如果 p = 0 p=0 p=0,称 f f f为逆变张量,如果 q = 0 q=0 q=0,称 f f f为协变张量。称 V V V上所有的 ( p , q ) (p,q) (p,q)型张量构成张量空间 T p q ( V ) \mathbb{T}_p^q(V) Tpq(V),称 V V V为底空间。张量空间是线性空间。
评注1 这个定义貌似抽象,但它只是双线性函数的推广,我们先看几个特例熟悉一下这个定义:
1) ( 0 , 0 ) (0,0) (0,0)型张量代表 R \mathbb{R} R中的数;
2) ( 1 , 0 ) (1,0) (1,0)型张量就是 V V V上的线性函数,也就是 V ∗ V^* V∗中的元素;
3) ( 0 , 1 ) (0,1) (0,1)型张量就是 V ∗ V^* V∗上的线性函数,也就是 V ∗ ∗ V^{**} V∗∗中的元素,参考矩阵分析与多元统计II 二次型与二次曲面1 线性函数与对偶空间, V V V与 V ∗ ∗ V^{**} V∗∗是同构的,因此我们可以将 V ∗ ∗ V^{**} V∗∗中的元素,也就是 ( 0 , 1 ) (0,1) (0,1)型张量与 V V V中的向量一一对应起来,用 ( f , x ) (f,x) (f,x)表示这种对应关系, f ∈ V ∗ ∗ , x ∈ V f \in V^{**},x \in V f∈V∗∗,x∈V;
4) ( 2 , 0 ) (2,0) (2,0)型张量是 V V V上的双线性函数; ( 0 , 2 ) (0,2) (0,2)型张量是 V ∗ V^{*} V∗上的双线性函数;
5) ( 1 , 1 ) (1,1) (1,1)型张量是最简单的混合型张量,不难证明 ( 1 , 1 ) (1,1) (1,1)型张量与 V V V上的线性算子一一对应:对于 ( 1 , 1 ) (1,1) (1,1)型张量 f ( x , u ) , x ∈ V , u ∈ V ∗ f(x,u),x \in V, u \in V^* f(x,u),x∈V,u∈V∗, ∃ A : V → V \exists \mathcal{A}:V \to V ∃A:V→V,
f ( x , u ) = ( u , A x ) f(x,u)=(u,\mathcal{A}x) f(x,u)=(u,Ax)
根据张量对 x x x的线性性,
( u , A ( α x 1 + β x 2 ) ) = α ( u , A x ) + β ( u , A y ) = ( u , α A x + β A y ) (u,\mathcal{A}(\alpha x_1+\beta x_2))=\alpha(u,\mathcal{A}x)+\beta(u,\mathcal{A}y)=(u,\alpha\mathcal{A}x+\beta\mathcal{A}y) (u,A(αx1+βx2))=α(u,Ax)+β(u,Ay)=(u,αAx+βAy)
因此 A ( α x 1 + β x 2 ) = α A x + β A y \mathcal{A}(\alpha x_1+\beta x_2)=\alpha\mathcal{A}x+\beta\mathcal{A}y A(αx1+βx2)=αAx+βAy, A \mathcal{A} A是 V V V上的线性算子。可验证 f f f与 A \mathcal{A} A是一一对应的。
张量积
定义2 记 f : V 1 × V 2 × ⋯ × V r → R f:V_1 \times V_2 \times \cdots \times V_r\to \mathbb{R} f:V1×V2×⋯×Vr→R,