矩阵的基本演算

  这篇文章主要介绍了矩阵的一些基本演算,导数,奇异值分解。这里只是作为粗略的复习,详细的推导还请参考线性代数有关的专业书籍。

一、矩阵演算

  记是矩阵 A ∈ R m × n \mathbb{R}^{m\times n} Rm×n 第 i 行第 j 列的元素( A i j A_{ij} Aij)= A i j A_{ij} Aij.矩阵 A A A 转置记作 A T A^T AT.

  1. 转置运算: ( A T ) i j = A j i (A^T)_{ij} = A_{ji} (AT)ij=Aji,那么有以下两个法则 ( A + B ) T = A T + B T , ( A B ) T = B T A T \begin {aligned}(A+B)^T&=A^T+B^T, \\\\ (AB)^T&=B^TA^T \end{aligned} (A+B)T(AB)T=AT+BT,=BTAT
  2. 如果 m = n,则称 A 是 n 阶方阵, I n I_n In 表示 n 阶单位阵,方阵 A 的逆矩阵记作 A − 1 A^{-1} A1有运算: A − 1 A = A A − 1 = I , ( A T ) − 1 = ( A − 1 ) T \begin {aligned}A^{-1}A&=AA^{-1}=I, \\\\ (A^T)^{-1} &= (A^{-1})^T \end {aligned} A1A(AT)1=AA1=I,=(A1)T
  3. 对于 n 阶方阵 A ,它的迹是主对角线的元素之和,即 t r ( A ) = ∑ i = 1 n A i i tr(A)=\sum_{i=1}^nA_{ii} tr(A)=i=1nAii有性质: t r ( A T )   =   t r ( A ) , t r ( A + B )   =   t r ( A ) + t r ( B ) t r ( A B )   =   t r ( B A ) , t r ( A B C )   = t r ( B C A ) = t r ( C A B ) \begin {aligned}tr(A^T)\ &=\ tr(A),\\\\ tr(A+B)\ &=\ tr(A)+tr(B)\\\\tr(AB)\ &=\ tr(BA),\\\\tr(ABC)\ &=tr(BCA)=tr(CAB)\end {aligned} tr(AT) tr(A+B) tr(AB) tr(ABC) = tr(A),= tr(A)+tr(B)= tr(BA),=tr(BCA)=tr(CAB)
  4. n 阶矩阵行列式定义: d e t ( A ) = ∑ σ ∈ S n p a r ( σ ) A 1 σ 1 A 2 σ 2 . . . A n σ n det(A)=\sum_{\sigma\in S_n}par(\sigma)A_1\sigma_1A_2\sigma_2...A_n\sigma_n det(A)=σSnpar(σ)A1σ1A2σ2...Anσn
    其中 S n S_n Sn 为所有 n 阶排列的集合,par( σ \sigma σ) 的值为 -1 或者 +1,取决于 σ = σ 1 , σ 2 , . . . , σ n \sigma=\sigma_1,\sigma_2,...,\sigma_n σ=σ1,σ2,...,σn 为奇排列还是偶排列,有性质: d e t ( c A ) = c n d e t ( A ) , d e t ( A T ) = d e t ( A ) , d e t ( A B ) = d e t ( A ) d e t ( B ) , d e t ( A − 1 ) = d e t ( A ) − 1 , d e t ( A n ) = d e t ( A ) n \begin{aligned}det(cA)&=c^ndet(A),\\\\det(A^T)&=det(A),\\\\det(AB)&=det(A)det(B),\\\\det(A^{-1})&=det(A)^{-1},\\\\det(A^n)&=det(A)^n\end {aligned} det(cA)det(AT)det(AB)det(A1)det(An)=cndet(A),=det(A),=det(A)det(B),=det(A)1,=det(A)n
  5. 矩阵 A 的二阶范数定义为: ∣ ∣ A ∣ ∣ F = ( t r ( A T A ) ) 1 2 = ( ∑ i = 1 m ∑ j = 1 n A i j 2 ) 1 2 ||A||_F=(tr(A^TA))^{\frac{1}{2}}=(\sum_{i=1}^m\sum_{j=1}^nA_{ij}^2)^{\frac{1}{2}} AF=(tr(ATA))21=(i=1mj=1nAij2)21

二、导数

  向量 a 相对于标量 x 的导数,以及 x 相对于 a 的导数 都是向量 ,其第 i 个分量分别为 ( ∂ a ∂ x ) i = ∂ a i ∂ x , ( ∂ x ∂ a ) i = ∂ x ∂ a i \begin{aligned}(\frac{\partial a}{\partial x})_i&=\frac{\partial a_i}{\partial x},\\\\(\frac{\partial x}{\partial a})_i&=\frac{\partial x}{\partial a_i}\end{aligned} (xa)i(ax)i=xai,=aix
  类似的,矩阵 A 相对于标量 x 的导数,以及对于 A 的导数都是矩阵,其第 i 行,第 j 列上的元素分别为: ( ∂ A ∂ x ) i j = ∂ A i j ∂ x , ( ∂ x ∂ A i j ) = ∂ x ∂ A i j \begin{aligned}(\frac{\partial A}{\partial x})_{ij}=\frac{\partial A_{ij}}{\partial x},\\\\(\frac{\partial x}{\partial A_{ij}})=\frac{\partial x}{\partial A_{ij}}\end{aligned} (xA)ij=xAij,(Aijx)=Aijx
对于这种求导法则,我们始终从内部去求导,从分量上去求导,最后合成整体
  对于函数 f ( x ) f(x) f(x) 这个就非常熟悉了,假定其对向量的元素可导,则 f ( x ) f(x) f(x) 关于 x x x 的一阶导数是一个向量,其第 i 个分量为: ( ▽ f ( x )   ) = ∂ f ( x ) ∂ x i (\triangledown f(x)\ )=\frac{\partial f(x)}{\partial x_i} (f(x) )=xif(x)
f ( x ) f(x) f(x)关于 x x x 的二阶导数称为海森矩阵的一个方正,其第 i 行第 j 列上的元素为: ( ▽ 2 f ( x )   ) i j = ∂ 2 f ( x ) ∂ x i ∂ x j (\triangledown^2 f(x)\ )_{ij}=\frac{\partial^2f(x)}{\partial x_i \partial x_j} (2f(x) )ij=xixj2f(x)
  向量和矩阵的导数满足乘法法则
∂ x T a ∂ x = ∂ a T x ∂ x = a , ∂ A B ∂ x = ∂ A ∂ x B + A ∂ B ∂ x \begin{aligned}\frac{\partial x^Ta}{\partial x}&=\frac{\partial a^Tx}{\partial x}=a,\\\\\frac{\partial AB}{\partial x}&=\frac{\partial A}{\partial x}B+A\frac{\partial B}{\partial x}\end{aligned} xxTaxAB=xaTx=a,=xAB+AxB
注意这里拆开的时候,矩阵 A,B 的顺序不能改变,左乘依旧左乘,右乘依旧右乘。我们拆开的目的只有一个那就是方便计算。 在数学中,越往高处学习,概念表达式越抽象,这样做是为了方便我们表达,当我们要运用或者计算推导时,我们又会把这个抽象的概念详细化。利用其性质往低维展开(复杂到简单的过程),数据量就会加大,希望大家可以明白这个道理。
  由 A − 1 A = I A^{-1}A=I A1A=I 和含AB的式子,逆矩阵的导数可表示为:
∂ A − 1 ∂ x = − A − 1 ∂ A ∂ x A − 1 \frac{\partial A^{-1}}{\partial x} = -A^{-1}\frac{\partial A}{\partial x}A^{-1} xA1=A1xAA1
提示 ∂ A − 1 A ∂ x \frac{\partial A^{-1}A}{\partial x} xA1A 进行变换,过程中 ∂ I ∂ x = 0 \frac{\partial I}{\partial x} =0 xI=0 .
  若求导的标量是矩阵 A 的元素,则有
∂   t r ( A B ) ∂ A i j = B i j , ∂   t r ( A B ) ∂ A = B T . \begin {aligned} \frac{\partial\ tr(AB)}{\partial A_{ij}}&=B_{ij},\\\\ \frac{\partial \ tr(AB)}{\partial A}&=B^T. \end {aligned} Aij tr(AB)A tr(AB)=Bij,=BT.
进而
∂   t r ( A T B ) ∂ A = B , ∂   t r ( A ) ∂ A = I , ∂   t r ( A B A T ) ∂ A = A ( B + B T ) . \begin{aligned}\frac{\partial\ tr(A^TB)}{\partial A}&=B,\\\\\frac{\partial\ tr(A)}{\partial A}&=I,\\\\\frac{\partial\ tr(ABA^T)}{\partial A}&=A(B+B^T).\end{aligned} A tr(ATB)A tr(A)A tr(ABAT)=B,=I,=A(B+BT).
根据前面的范式有:
∂   ∣ ∣ A ∣ ∣ F 2 ∂ A = ∂   t r ( A A T ) ∂ A = 2 A \frac{\partial\ ||A||^2_F}{\partial A}=\frac{\partial\ tr(AA^T)}{\partial A}=2A A AF2=A tr(AAT)=2A
  链式法则,假设 f f f g g g h h h 的复合, f ( x ) = g ( h ( x ) ) f(x)=g(h(x)) f(x)=g(h(x)),有:
∂ f ( x ) ∂ x = ∂   g ( h ( x ) ) ∂ x ⋅ ∂ h ( x ) ∂ x \frac{\partial f(x)}{\partial x}=\frac{\partial \ g(h(x))}{\partial x}\cdot\frac{\partial h(x)}{\partial x} xf(x)=x g(h(x))xh(x)
如果,我们把 A x − b Ax-b Axb 看做一个整体可以化简计算, W 通常是一个对称矩阵: ∂   ( A x − b ) T W ( A x − b ) ∂ x = ∂ ( A x − b ) ⋅ 2 W ( A x − b ) ∂ x = 2 A T W ( A x − b ) \begin{aligned}\frac{\partial\ (Ax-b)^TW(Ax-b)}{\partial x}&=\frac{\partial(Ax-b)\cdot2W(Ax-b)}{\partial x}\\\\&=2A^TW(Ax-b)\end{aligned} x (Axb)TW(Axb)=x(Axb)2W(Axb)=2ATW(Axb)

奇异值分解

  任意实矩阵都可以分解为
A = U Σ V T A=U\Sigma V^T A=UΣVT
其中 U U U 满足 U T U = I U^TU=I UTU=I 的 m 阶酉矩阵, V V V U U U 同样性质; Σ \Sigma Σ 是 m × n 的矩阵, ( Σ ) i i = σ i (\Sigma)_{ii}=\sigma_i (Σ)ii=σi 并且其他位置的元素都为 0 , σ i \sigma_i σi为非负实数且满足 σ 1 ⩾ σ 2 ⩾ . . . ⩾ 0 \sigma_1\geqslant\sigma_2\geqslant...\geqslant0 σ1σ2...0.通常我们将奇异值降序排列,以确保 Σ \Sigma Σ 的唯一性。
  上式的分解叫做奇异值分解,其中 U U U 的列向量 u i u_i ui 称为 A 的左奇异向量,V 的列向量 v i v_i vi 叫做 A 的右奇异向量, σ i \sigma_i σi叫做奇异值,矩阵 A 的秩等于非零奇异值的个数。
  奇异值分解用途很多,例如低秩矩阵近似问题,给定一个秩为 r 的矩阵 A,欲求其最优 k 秩近似矩阵 A ~ \widetilde{A} A , k ≤ r, 该问题可以形式化为:
m i n A ~ ∈ R m × n   ∣ ∣ A − A ~ ∣ ∣ F \underset{\widetilde A \in \mathbb{R}^{m\times n}}{min}\ ||A-\widetilde A||_F A Rm×nmin AA F
r a n k ( A ~ ) = k rank(\widetilde A)=k rank(A )=k
奇异值分解提供了上述问题的解析解:对于矩阵 A 进行奇异值分解后,将矩阵 Σ k \Sigma_k Σk,即仅保留最大的 k 个奇异值,保留越多,越接近真实值
A k = U k Σ k V k T A_{k}=U_k\Sigma_kV^T_k Ak=UkΣkVkT
这个就是最优解。
目前还有 一点小问题:有资料的兔兔评论区分享一波

  1. 矩阵求导的细则 ?
  2. 奇异值是怎么分解的 ?

猜你喜欢

转载自blog.csdn.net/qq_51294669/article/details/124797869