线性代数:双线性函数学习笔记
本文将介绍线性代数中的双线性函数(Bilinear Function)的概念、性质、矩阵表示及应用,希望对读者加深对线性代数的理解和应用有所帮助。
一、背景
在线性代数中,双线性函数是一种非常重要的概念。它应用广泛,并在代数、拓扑、微积分等领域都有体现。在机器学习中,双线性函数也是非常重要的,如协方差矩阵就可以看作一种双线性函数。
二、定义
对于向量空间 V V V 上的两个向量 x , y \boldsymbol{x},\boldsymbol{y} x,y 和一个域 F F F 中的标量 λ \lambda λ,如果存在一个函数 B ( x , y ) B(\boldsymbol{x},\boldsymbol{y}) B(x,y),满足:
- B ( x + y , z ) = B ( x , z ) + B ( y , z ) B(\boldsymbol{x}+\boldsymbol{y},\boldsymbol{z})=B(\boldsymbol{x},\boldsymbol{z})+B(\boldsymbol{y},\boldsymbol{z}) B(x+y,z)=B(x,z)+B(y,z)
- B ( λ x , y ) = λ B ( x , y ) = B ( x , λ y ) B(\lambda\boldsymbol{x},\boldsymbol{y})=\lambda B(\boldsymbol{x},\boldsymbol{y})=B(\boldsymbol{x},\lambda\boldsymbol{y}) B(λx,y)=λB(x,y)=B(x,λy)
- B ( x , y ) = B ( y , x ) B(\boldsymbol{x},\boldsymbol{y})=B(\boldsymbol{y},\boldsymbol{x}) B(x,y)=B(y,x)
- 存在一个 V V V 中的基 { e i } \{\boldsymbol{e}_i\} {ei},使得 B ( e i , e j ) = δ i j B(\boldsymbol{e}_i,\boldsymbol{e}_j)=\delta_{ij} B(ei,ej)=δij,其中 δ i j \delta_{ij} δij 是克罗内克(Kronecker)函数。
则称 B ( x , y ) B(\boldsymbol{x},\boldsymbol{y}) B(x,y) 是 V V V 上的双线性函数。
三、性质
- 反对称性:若 B ( x , y ) = − B ( y , x ) B(\boldsymbol{x},\boldsymbol{y})=-B(\boldsymbol{y},\boldsymbol{x}) B(x,y)=−B(y,x),则称 B B B 是反对称的。
- 非退化性:若 B ( x , y ) = 0 B(\boldsymbol{x},\boldsymbol{y})=0 B(x,y)=0 对于所有 y ∈ V \boldsymbol{y}\in V y∈V,则称 B B B 是退化的;否则称 B B B 是非退化的。一个非退化的双线性函数一定是满秩的。
- 正定性:若存在常数 c > 0 c>0 c>0,使得对于任意向量 x ∈ V \boldsymbol{x}\in V x∈V,有 B ( x , x ) ≥ c ∥ x ∥ 2 B(\boldsymbol{x},\boldsymbol{x})\geq c\|\boldsymbol{x}\|^2 B(x,x)≥c∥x∥2,则称 B B B 是正定的。
四、矩阵表示
双线性函数可以表示为一个矩阵。设 { e 1 , e 2 , ⋯ , e n } \{\boldsymbol{e}_1,\boldsymbol{e}_2,\cdots,\boldsymbol{e}_n\} {e1,e2,⋯,en} 是 V V V 的一组基,则 B ( x , y ) B(\boldsymbol{x},\boldsymbol{y}) B(x,y) 可以表示为矩阵 B = [ b i j ] \boldsymbol{B}=[b_{ij}] B=[bij],其中
b i j = B ( e i , e j ) b_{ij}=B(\boldsymbol{e}_i,\boldsymbol{e}_j) bij=B(ei,ej)
于是有:
B ( x , y ) = [ x T ] B [ y ] B(\boldsymbol{x},\boldsymbol{y})=\begin{bmatrix}\boldsymbol{x}^T\end{bmatrix}\boldsymbol{B}\begin{bmatrix}\boldsymbol{y}\end{bmatrix} B(x,y)=[xT]B[y]
五、应用
1. 多项式拟合
在多项式拟合问题中,我们试图找到一个 x \boldsymbol{x} x 和 y \boldsymbol{y} y 之间的线性关系。多项式函数 f ( x ) = a 0 + a 1 x + a 2 x 2 + ⋯ + a n x n f(x)=a_0+a_1 x+a_2 x^2+\cdots+a_n x^n f(x)=a0+a1x+a2x2+⋯+anxn 可以表示为如下形式:
f ( x ) = [ 1 x x 2 ⋯ x n ] [ a 0 a 1 a 2 ⋮ a n ] f(x)=\begin{bmatrix}1&x&x^2&\cdots&x^n\end{bmatrix}\begin{bmatrix}a_0\\a_1\\a_2\\\vdots\\a_n\end{bmatrix} f(x)=[1xx2⋯xn] a0a1a2⋮an
又可以写成 y = x T w \boldsymbol{y}=\boldsymbol{x}^T\boldsymbol{w} y=xTw 的形式,其中 y = [ f ( x 1 ) , f ( x 2 ) , ⋯ , f ( x m ) ] T \boldsymbol{y}=[f(x_1),f(x_2),\cdots,f(x_m)]^T y=[f(x1),f(x2),⋯,f(xm)]T, x = [ 1 , x 1 , x 2 , ⋯ , x m ] T \boldsymbol{x}=[1,x_1,x_2,\cdots,x_m]^T x=[1,x1,x2,⋯,xm]T, w = [ a 0 , a 1 , a 2 , ⋯ , a n ] T \boldsymbol{w}=[a_0,a_1,a_2,\cdots,a_n]^T w=[a0,a1,a2,⋯,an]T。则 f ( x ) f(x) f(x) 可以看作是 x \boldsymbol{x} x 和 y \boldsymbol{y} y 之间的双线性函数。
2. 协方差矩阵
在机器学习中,协方差矩阵是一个很重要的概念。假设我们有 n n n 个维度的数据向量 { x 1 , x 2 , ⋯ , x m } \{\boldsymbol{x}_1,\boldsymbol{x}_2,\cdots,\boldsymbol{x}_m\} {x1,x2,⋯,xm},其每个维度上的样本均值分别为 { x ˉ 1 , x ˉ 2 , ⋯ , x ˉ n } \{\bar{x}_1,\bar{x}_2,\cdots,\bar{x}_n\} {xˉ1,xˉ2,⋯,xˉn},则样本的协方差矩阵 S \boldsymbol{S} S 可表示为:
S = 1 m ∑ i = 1 m ( x i − x ˉ ) ( x i − x ˉ ) T \boldsymbol{S}=\frac{1}{m}\sum_{i=1}^m(\boldsymbol{x}_i-\boldsymbol{\bar{x}})(\boldsymbol{x}_i-\boldsymbol{\bar{x}})^T S=m1i=1∑m(xi−xˉ)(xi−xˉ)T
这里 ( x i − x ˉ ) (\boldsymbol{x}_i-\boldsymbol{\bar{x}}) (xi−xˉ) 可以看作是 x \boldsymbol{x} x 和 y \boldsymbol{y} y 之间的双线性函数。
六、总结
本文介绍了双线性函数的定义、性质、矩阵表示及应用,并在多项式拟合和协方差矩阵问题中进行了具体说明。双线性函数作为线性代数中的基本概念之一,在机器学习领域有着广泛的应用。