MIT18.065 数据分析、信号处理和机器学习中的矩阵方法-学习笔记

文章目录

  • MIT18.065 数据分析、信号处理和机器学习中的矩阵方法
    • Lecture 1 The Column Space of A Contains All Vectors Ax
      • A=CR
      • A=CMR
    • Lecture 2 Multiplying and Factoring Matrices
      • LU分解的解释
    • Lecture 3 Orthonormal Columns in Q Give Q T Q = I Q^TQ=I QTQ=I
      • HouseHolder reflection
      • Hadamard matrices
      • 正交矩阵的特征向量矩阵
    • Lecture 4 Eigenvalues and Eigenvectors
      • 相似矩阵有相同特征值
      • 反对称矩阵
    • Lecture 5 Positive Definite and Semidefinite Matrices
    • Lecture 6 Singular Value Decomposition(SVD)
      • SVD
      • Polar Decomposition
    • Lecture 7 Eckart-Young:The Closest Rank k Matrix to A
      • Principal Component Analysis(主成分分析 PCA)
        • 范数(norm)
        • Eckart-Young Theorem
        • PCA
    • Lecture 8 Norms of Vectors and Matrices
      • 向量的范数
      • 矩阵的范数
        • Spetral Norm(谱范数,L2范数)
        • Frobenius Norm
          • 矩阵的迹满足交换律
        • Nuclear Norm(trace norm)
    • Lecture 9 Four Ways to Solve Least Squares Problems
      • 伪逆(pseudo inverse)
      • 最小二乘法
    • Lecture 10 Survey of Difficulties with Ax=b
    • Lecture 11 Minimizing x subject to Ax=b
      • better Gram-Schmidt(with column pivoting)
      • Krylov 空间 , Arnoldi 过程
    • Lecture 12 Computing Eigenvalues and Singular Values
      • QR method
        • QR method with shift
    • Lecture 13 Randomized Matrix Multiplication
    • Lecture 14 Low Rank Changes in A and Its Inverse
      • Matrix inversation formula in signal process
      • 公式应用
    • Lecture 15 Matrices A(t) Depending on t,Derivative=dA/dt
      • A发生微小变化时,逆如何变化 d A − 1 d t \frac{\mathrm{d}{A^{-1}}}{\mathrm{d}{t}} dtdA1
      • A发生微小变化时,特征值如何变化 d λ d t \frac{\mathrm{d}{\lambda}}{\mathrm{d}{t}} dtdλ
      • 秩发生变化时,特征值变化
    • Lecture 16 Derivatives of Inverse and Singular Values
      • A发生微小变化时, A 2 A^2 A2如何变化 d ( A 2 ) d t \frac{\mathrm{d}{(A^2)}}{\mathrm{d}{t}} dtd(A2)
      • A发生微小变化时,奇异值如何变化 d σ d t \frac{\mathrm{d}{\sigma}}{\mathrm{d}{t}} dtdσ
      • 特征值的交错
        • Weyl's inequality
      • 一些关于压缩感知(compressed sensing)
    • Lecture 17 Rapidly Decreasing Singular Values
      • 为什么世界上有那么多低秩矩阵
        • 定义
        • Numerical rank
        • 世界是平滑(smooth)的
        • 世界是Sylvester的
    • Lecture 18 Counting Parameters in SVD,LU,QR,Saddle Points
      • 各个分解的自由参数
        • LU
        • QR
        • X Λ X − 1 X\Lambda X^{-1} XΛX1
        • Q Λ Q T Q\Lambda Q^T QΛQT
        • QS
        • SVD
      • 向量和矩阵的求导
      • Saddle points from constraints/from x T S x x T x \frac{x^TSx}{x^Tx} xTxxTSx
        • Rayleigh quotient(瑞利商)
    • Lecture 19 Saddle Points Continued, Maxmin Principle
    • Lecture 20 Definitions and Inequalities
      • 马尔可夫不等式(Markov Inequality)
      • 切比雪夫不等式(Chebyshev Inequality)
      • 协方差矩阵(Covariance Matrix)
    • Lecture 21 Minimizing a Function Step by Step
      • 泰勒公式(Taylor Series)
      • 牛顿方法(Newton's Method)
      • Minimizing F(x)
      • 凸性(Convexity)
      • Convex Set K
      • Convex Function
    • Lecture 22 Gradient Descent:Downhill to a Minimum
      • 梯度下降
    • Lecture 23 Accelerating Gradient Descent(Use Momentum)
      • Momentum
      • Nesterov
    • Lecture 24 Linear Programming and Two-Person Games
      • linear programming(线性规划)
        • dual problem
          • 弱对偶性(weak duality)
          • (强)对偶性(duality)
          • max flow min cut
          • Two-person Game
    • Lecture 25 Stochastic Gradient Descent
      • SGD
    • Lecture 26 Structure of Neural Nets for Deep Learning
    • Lecture 27 Backpropagation:Find Partial Derivatives
    • Lecture 28 Completing a Rank-One Matrix,Circulants!
      • Rank-One Matrix
      • Circulants
    • Lecture 31 Eigenvectors of Circulant Matrices:Fourier Matrix
      • cyclic convolution
      • 置换矩阵P的特征值和特征向量
    • Lecture 32 ImageNet is a Convolutional Neural Network(CNN),The Convolution Rule
    • Lecture 33 Neural Nets and the Learning Function
      • Distance Matrix
    • Lecture 34 Distance Matrices,Procrustes Problem
      • procrustes problem(普氏问题)
    • Lecture 35 Finding Clusters in Graphs
      • k-means
      • spectral clustering
    • Lecture 36 Alan Edelman and Julia Language

MIT18.065 数据分析、信号处理和机器学习中的矩阵方法

https://www.bilibili.com/video/BV1b4411j7V3?p=2

Lecture 1 The Column Space of A Contains All Vectors Ax

A=CR

[ 2 1 3 3 1 4 5 7 12 ] = [ 2 1 3 1 5 7 ] [ 1 0 1 0 1 1 ] \left[\begin{array}{ccc} 2&1&3\\ 3&1&4\\ 5&7&12\\ \end{array}\right] =\left[\begin{array}{cc} 2&1\\ 3&1\\ 5&7\\ \end{array}\right] \left[\begin{array}{ccc} 1&0&1\\ 0&1&1\\ \end{array}\right] 2351173412=235117[100111]

A = C R A=CR A=CR C C C是从左到右取出 A A A中线性无关的非零列, R R R的列是由 C C C的各列组成 A A A的各列的线性组合的系数构成。同时 C C C A A A列空间的基, R R R是行空间的基,也可以看作 C C C中各行由 R R R的各行组成 A A A的各行的线性组合的系数构成。列空间和行空间的基数量相等,由此行秩=列秩。

R R R A A A R R E F ( r e d u c e d   r o w   e c h e l o n   f o r m ) RREF(reduced\ row\ echelon\ form) RREF(reduced row echelon form)简化行阶梯形式(不包括全零行),即消元使得主元系数为 1 1 1,且其他行该主元系数为 0 0 0

A=CMR

C C C同上节, R R R是从上到下直接从 A A A取出的线性无关的非零行,那么 r a n k ( A m ∗ n ) = r , C m ∗ r , R r ∗ n , M r ∗ r rank(A_{m*n})=r,C_{m*r},R_{r*n},M_{r*r} rank(Amn)=r,Cmr,Rrn,Mrr

为了求 M M M,注意 C T C , R R T C^TC,RR^T CTC,RRT满秩可逆

C T A R T = C T C M R R T , M = ( C T C ) − 1 C T A R T ( R R T ) − 1 C^TAR^T=C^TCMRR^T,M=(C^TC)^{-1}C^TAR^T(RR^T)^{-1} CTART=CTCMRRT,M=(CTC)1CTART(RRT)1

这个分解的意义在于保存了 A A A的属性和原数据, Q R QR QR分解和 S V D SVD SVD中这些属性丢失。例如 A A A非负则 C R CR CR非负, A A A稀疏则 C R CR CR稀疏。

Lecture 2 Multiplying and Factoring Matrices

LU分解的解释

[ 2 3 4 7 ] \left[\begin{array}{cc}2&3\\4&7\end{array}\right] [2437]通过消元得到 [ 2 3 0 1 ] \left[\begin{array}{cc}2&3\\0&1\end{array}\right] [2031],第二行减去第一行的2倍
[ 2 3 4 7 ] = [ 1 0 2 1 ] [ 2 3 0 1 ] = [ 1 2 ] [ 2 3 ] + [ 0 1 ] [ 0 1 ] = [ 2 3 4 6 ] + [ 0 0 0 1 ] \left[\begin{array}{cc}2&3\\4&7\end{array}\right]=\left[\begin{array}{cc}1&0\\2&1\end{array}\right]\left[\begin{array}{cc}2&3\\0&1\end{array}\right]=\left[\begin{array}{c}1\\2\end{array}\right]\left[\begin{array}{cc}2&3\end{array}\right]+\left[\begin{array}{c}0\\1\end{array}\right]\left[\begin{array}{cc}0&1\end{array}\right]=\left[\begin{array}{cc}2&3\\4&6\end{array}\right]+\left[\begin{array}{cc}0&0\\0&1\end{array}\right] [2437]=[1201][2031]=[12][23]+[01][01]=[2436]+[0001]

A 1 = L U = ( c o l 1   o f   L ) ( r o w 1   o f   U ) + [ 0 O O A 2 ] = ( c o l 1   o f   L ) ( r o w 1   o f   U ) + ( c o l 2   o f   L ) ( r o w 2   o f   U ) + [ 0 0 O 0 0 O O O A 3 ] A_1=LU=(col_1\ of\ L)(row_1\ of\ U)+\left[\begin{array}{cc}0&O\\O&A_2\end{array}\right]\\ =(col_1\ of\ L)(row_1\ of\ U) + (col_2\ of\ L)(row_2\ of\ U) + \left[\begin{array}{ccc}0&0&O\\0&0&O\\O&O&A_3\end{array}\right] A1=LU=(col1 of L)(row1 of U)+[0OOA2]=(col1 of L)(row1 of U)+(col2 of L)(row2 of U)+00O00OOOA3

在消元过程中,第一行不需要操作,所以 L L L的第一行为 1 , 0... 1,0... 1,0...,第一列为为了消去第一列元素所乘的第一行系数, U U U的第一行为 A A A的第一行,因此 ( c o l 1   o f   L ) ( r o w 1   o f   U ) (col_1\ of\ L)(row_1\ of\ U) (col1 of L)(row1 of U)包含了第一行第一列的所有信息,剩下的 A 2 A_2 A2为原矩阵用第一行消元后剩余的信息。同理继续分解 A 2 A_2 A2 L L L为下三角阵,所以 ( c o l 2   o f   L ) ( r o w 2   o f   U ) (col_2\ of\ L)(row_2\ of\ U) (col2 of L)(row2 of U)不会在 ( c o l 1   o f   L ) ( r o w 1   o f   U ) (col_1\ of\ L)(row_1\ of\ U) (col1 of L)(row1 of U)的基础上再给第一行的结果增加信息,且 c o l 2   o f   L col_2\ of\ L col2 of L是在 A A A完成第一列消元后的矩阵上继续消元得到(即在基础上为了消去第二列元素所乘的第二行系数),因为后续不会再对第二行操作,所以 U U U的第二行即为此时消元第一列后的 A A A的第二行,也是 A 2 A_2 A2第一行,所以 ( c o l 1   o f   L ) ( r o w 1   o f   U ) + ( c o l 2   o f   L ) ( r o w 2   o f   U ) (col_1\ of\ L)(row_1\ of\ U)+(col_2\ of\ L)(row_2\ of\ U) (col1 of L)(row1 of U)+(col2 of L)(row2 of U)包含了原矩阵第一二行和第一二列所有信息,其中 ( c o l 2   o f   L ) ( r o w 2   o f   U ) (col_2\ of\ L)(row_2\ of\ U) (col2 of L)(row2 of U)包含 A 2 A_2 A2第一行第一列信息, A 3 A_3 A3包含剩余信息。

写了那么多其实这部分内容并不重要,在这门课不会再出现了

Lecture 3 Orthonormal Columns in Q Give Q T Q = I Q^TQ=I QTQ=I

Q Q Q是方阵时, Q Q T = I QQ^T=I QQT=I也成立,因为对方阵来说,左逆等于右逆

( Q x ) T Q x = ∣ ∣ Q x ∣ ∣ 2 = x T Q T Q x = x T x = ∣ ∣ x ∣ ∣ 2 , ∣ ∣ Q x ∣ ∣ = ∣ ∣ x ∣ ∣ (Qx)^TQx=||Qx||^2=x^TQ^TQx=x^Tx=||x||^2,||Qx||=||x|| (Qx)TQx=Qx2=xTQTQx=xTx=x2,Qx=x

Q Q Q不改变向量的长度

例如对二维平面有 Q = [ cos ⁡ θ − sin ⁡ θ sin ⁡ θ cos ⁡ θ ] , Q [ 1 0 ] = [ cos ⁡ θ sin ⁡ θ ] , Q [ 0 1 ] = [ − sin ⁡ θ cos ⁡ θ ] Q=\left[\begin{array}{cc}\cos{\theta}&-\sin{\theta}\\\sin{\theta}&\cos{\theta}\end{array}\right],Q\left[\begin{array}{c}1\\0\end{array}\right]=\left[\begin{array}{c}\cos{\theta}\\\sin{\theta}\end{array}\right],Q\left[\begin{array}{c}0\\1\end{array}\right]=\left[\begin{array}{c}-\sin{\theta}\\\cos{\theta}\end{array}\right] Q=[cosθsinθsinθcosθ],Q[10]=[cosθsinθ],Q[01]=[sinθcosθ]

HouseHolder reflection

Q Q Q(rotation matrix)将坐标轴旋转了 θ \theta θ,等于将整个平面的向量旋转了 θ \theta θ

Q = [ cos ⁡ θ sin ⁡ θ sin ⁡ θ − cos ⁡ θ ] , Q [ 1 0 ] = [ cos ⁡ θ sin ⁡ θ ] , Q [ 0 1 ] = [ sin ⁡ θ − cos ⁡ θ ] Q=\left[\begin{array}{cc}\cos{\theta}&\sin{\theta}\\\sin{\theta}&-\cos{\theta}\end{array}\right],Q\left[\begin{array}{c}1\\0\end{array}\right]=\left[\begin{array}{c}\cos{\theta}\\\sin{\theta}\end{array}\right],Q\left[\begin{array}{c}0\\1\end{array}\right]=\left[\begin{array}{c}\sin{\theta}\\-\cos{\theta}\end{array}\right] Q=[cosθsinθsinθcosθ],Q[10]=[cosθsinθ],Q[01]=[sinθcosθ]

Q Q Q(reflect matrix,反射矩阵)将向量关于直线 y = cos ⁡ θ 2 x y=\cos{\frac{\theta}{2}}x y=cos2θx做对称

高阶的反射矩阵可以由HouseHolder(豪斯霍尔德) reflection算法获得,n阶向量 u T u = 1 , H = I − 2 u u T u^Tu=1,H=I-2uu^T uTu=1,H=I2uuT H H H是对称正交矩阵

H T H = H 2 = I − 4 u u T + 4 u u T u u T = I H^TH=H^2=I-4uu^T+4uu^Tuu^T=I HTH=H2=I4uuT+4uuTuuT=I

Hadamard matrices

H 2 = 1 2 [ 1 1 1 − 1 ] , H 4 = 1 4 [ H 2 H 2 H 2 − H 2 ] , H 2 n + 1 = 1 2 n + 1 [ H 2 n H 2 n H 2 n − H 2 n ] H_2=\frac{1}{\sqrt{2}}\left[\begin{array}{cc}1&1\\1&-1\end{array}\right],H_4=\frac{1}{\sqrt{4}}\left[\begin{array}{cc}H_2&H_2\\H_2&-H_2\end{array}\right],H_{2^{n+1}}=\frac{1}{\sqrt{2^{n+1}}}\left[\begin{array}{cc}H_{2^n}&H_{2^n}\\H_{2^n}&-H_{2^n}\end{array}\right] H2=2 1[1111],H4=4 1[H2H2H2H2],H2n+1=2n+1 1[H2nH2nH2nH2n]

H H H是正交矩阵,由 1 , − 1 1,-1 1,1构成。对 H n H_n Hn n n n是4的整数倍时仍为Hadamard matrix,即由 1 , − 1 1,-1 1,1构成的正交矩阵,为2的次幂时如上构造,否则有另外的构造方法。在傅里叶变换、编码、信号有重要作用。

正交矩阵的特征向量矩阵

置换矩阵(permutation matrix)是正交矩阵,且特征向量相互正交,n阶置换矩阵的特征向量矩阵是n阶傅里叶矩阵,例如

Q 4 = [ 1 1 1 1 ] Q_4=\left[\begin{array}{cccc}&1&&\\&&1&\\&&&1\\1&&&\end{array}\right] Q4=1111的特征向量矩阵是4阶傅里叶矩阵 F 4 = [ 1 1 1 1 1 i i 2 i 3 1 i 2 i 4 i 6 1 i 3 i 6 i 9 ] F_4=\left[\begin{array}{cccc}1&1&1&1\\1&i&i^2&i^3\\1&i^2&i^4&i^6\\1&i^3&i^6&i^9\end{array}\right] F4=11111ii2i31i2i4i61i3i6i9

Lecture 4 Eigenvalues and Eigenvectors

假设 A n ∗ n A_{n*n} Ann n n n个线性无关的特征向量 x x x,任意向量 v v v可以写成 v = ∑ i = 1 n c i x i , v k = A k v = ∑ i = 1 n c i λ i k x i v=\sum_{i=1}^{n}{c_ix_i},v_k=A^kv=\sum_{i=1}^{n}{c_i\lambda_i^kx_i} v=i=1ncixi,vk=Akv=i=1nciλikxi

d v d t = A v \frac{\mathrm{d}{v}}{\mathrm{d}{t}}=Av dtdv=Av的解为 v = ∑ i = 1 n C i c i e λ i t x i , C v=\sum_{i=1}^{n}{C_ic_i\mathrm{e}^{\lambda_it}x_i},C v=i=1nCicieλitxi,C为需要初始值确定的常数。

相似矩阵有相同特征值

A n ∗ n , B n ∗ n A_{n*n},B_{n*n} Ann,Bnn均可逆, A B AB AB B A BA BA有相同特征值

M = B , B A = M ( A B ) M − 1 M=B,BA=M(AB)M^{-1} M=B,BA=M(AB)M1

反对称矩阵

反对称矩阵没有实特征值
A = − A H A x = λ x x H A x = λ x H x A ‾ x ‾ = λ ‾ x ‾ x H A H = λ ‾ x H − x H A H x = − λ ‾ x H x 又 A = − A H λ x H x = − λ ‾ x H x 不 考 虑 零 向 量 , λ = − λ ‾ 令 λ = a + b i a + b i = − a + b i a = 0 所 以 λ 必 定 为 虚 数 A=-A^H\\ Ax=\lambda x\\ x^HAx=\lambda x^Hx\\ \overline{A}\overline{x}=\overline{\lambda}\overline{x}\\ x^HA^H=\overline{\lambda}x^H\\ -x^HA^Hx=-\overline{\lambda}x^Hx\\ 又A=-A^H\\ \lambda x^Hx=-\overline{\lambda}x^Hx\\ 不考虑零向量,\lambda=-\overline{\lambda}\\ 令\lambda=a+bi\\ a+bi=-a+bi\\ a=0\\ 所以\lambda必定为虚数\\ A=AHAx=λxxHAx=λxHxAx=λxxHAH=λxHxHAHx=λxHxA=AHλxHx=λxHxλ=λλ=a+bia+bi=a+bia=0λ
例如 A = [ 0 − 1 1 0 ] A=\left[\begin{array}{cc}0&-1\\1&0\end{array}\right] A=[0110],作用在二维实向量上, A [ 1 0 ] = [ 0 1 ] , A [ 0 1 ] = [ − 1 0 ] A\left[\begin{array}{c}1\\0\end{array}\right]=\left[\begin{array}{c}0\\1\end{array}\right],A\left[\begin{array}{c}0\\1\end{array}\right]=\left[\begin{array}{c}-1\\0\end{array}\right] A[10]=[01],A[01]=[10],等于将向量逆时针旋转90度,没有任何实 λ \lambda λ能满足 A x Ax Ax λ x \lambda x λx同方向,因此特征值和特征向量都是复数。

Lecture 5 Positive Definite and Semidefinite Matrices

Lecture 6 Singular Value Decomposition(SVD)

SVD

A = U Σ V T , A V = U Σ A=U\Sigma V^T,AV=U\Sigma A=UΣVT,AV=UΣ

实际中为了避免特征向量符号不对(例如对 [ 1 1 5 ] \left[\begin{array}{ccc}1&&\\&1&\\&&5\end{array}\right] 115,特征值 1 1 1的特征向量为 [ x y 0 ] \left[\begin{array}{c}x\\y\\0\end{array}\right] xy0,需要选择),先做 A T A A^TA ATA求出 V V V Σ \Sigma Σ,再通过 A v = σ u , u = A v σ Av=\sigma u,u=\frac{Av}{\sigma} Av=σu,u=σAv U U U

为了证明这样的 U U U是正确的,需要证明 u u u正交且为 A A T AA^T AAT的特征向量

(实际上并不需要证明 u u u正交,因为 v v v是在这个前提下求出的,所以逆回来验算必定成立, A v Av Av u u u是为了确定 u u u的符号,否则 − u -u u同样可以从 A A T AA^T AAT求出但是不满足 A v = σ u Av=\sigma u Av=σu的条件,并且在假设了 A = U Σ V T A=U\Sigma V^T A=UΣVT这个条件后,做 A A T , u AA^T,u AAT,u是特征向量显然成立,而 v v v正是在这个条件下求出的,所以并不需要证明,教授此处为了说明确定 u u u的符号循环论证了)

u 1 T u 2 = ( A v 1 σ 1 ) T A v 2 σ 2 = v 1 T A T A v 2 σ 1 σ 2 = σ 2 2 v 1 T v 2 σ 1 σ 2 = 0 u_1^Tu_2=(\frac{Av_1}{\sigma_1})^T\frac{Av_2}{\sigma_2}=\frac{v_1^TA^TAv_2}{\sigma_1\sigma_2}=\frac{\sigma_2^2v_1^Tv_2}{\sigma_1\sigma_2}=0 u1Tu2=(σ1Av1)Tσ2Av2=σ1σ2v1TATAv2=σ1σ2σ22v1Tv2=0,也说明正交向量 v v v可以从行空间选择,经过 A A A变换后,得到列空间中的正交向量。

正交矩阵对向量变换不改变向量的模长,奇异值分解说明线性变换 A A A,作用在向量 x x x上,以二维为例,等于将 x x x的两个分量 [ 0   1 ] T , [ 1   0 ] T [0\ 1]^T,[1\ 0]^T [0 1]T,[1 0]T做旋转 V T V^T VT,再用 Σ \Sigma Σ拉长各个分量,再做一个通常来说不同的旋转 U U U,即将单位圆拉伸成旋转的椭圆,且椭圆的长短轴就是 σ \sigma σ,规定 σ 1 ≥ σ 2 ≥ ⋯ ≥ σ r > 0 \sigma_1≥\sigma_2≥\cdots≥\sigma_r>0 σ1σ2σr>0,因此 σ 1 \sigma_1 σ1作用在 x x x的第一个分量上,为长轴。

假设 A A A是方阵,奇异值之积也是 A A A的行列式, ∣ A ∣ = ∣ U Σ V T ∣ = ∣ U ∣ ∣ Σ ∣ ∣ V T ∣ = ∣ Σ ∣ = Π σ |A|=|U\Sigma V^T|=|U||\Sigma||V^T|=|\Sigma|=\Pi{\sigma} A=UΣVT=UΣVT=Σ=Πσ A A A如果满秩则 Σ \Sigma Σ对角线上没有0,不满秩则奇异值填不满整条对角线,将零视为奇异值相乘, ∣ A ∣ = 0 |A|=0 A=0,符合。

完整的SVD中 U m ∗ m , V n ∗ n U_{m*m},V_{n*n} Umm,Vnn,下标大于 r r r的向量从 N ( A T ) , N ( A ) N(A^T),N(A) N(AT),N(A)取,但因为这部分在计算中会全部等于0,没有信息量,所以SVD的矩阵中可以只取下标小于等于 r r r的部分。

Polar Decomposition

任意矩阵 A = S Q , S A=SQ,S A=SQ,S是对称矩阵, Q Q Q是各列正交的矩阵(不是方阵)

A m ∗ n = U m ∗ r Σ r ∗ r V n ∗ r T = U Σ U T U V T = ( U Σ U T ) ( U V T ) = S Q A_{m*n}=U_{m*r}\Sigma_{r*r}V_{n*r}^T=U\Sigma U^TUV^T=(U\Sigma U^T)(UV^T)=SQ Amn=UmrΣrrVnrT=UΣUTUVT=(UΣUT)(UVT)=SQ

( U V T ) T ( U V T ) = V U T U V T = I (UV^T)^T(UV^T)=VU^TUV^T=I (UVT)T(UVT)=VUTUVT=I所以 U V T UV^T UVT m ∗ n m*n mn正交阵。

Lecture 7 Eckart-Young:The Closest Rank k Matrix to A

Principal Component Analysis(主成分分析 PCA)

由SVD, A = U Σ V T = ∑ i = 1 r σ i u i v i T A=U\Sigma V^T=\sum_{i=1}^{r}\sigma_iu_iv_i^T A=UΣVT=i=1rσiuiviT

A A A可以分解为 r r r个秩1矩阵的和,且 σ \sigma σ递减,因此构成 A A A最主要的部分为 σ 1 u 1 v 1 T , σ 2 u 2 v 2 T , ⋯ \sigma_1u_1v_1^T,\sigma_2u_2v_2^T,\cdots σ1u1v1T,σ2u2v2T,

最近似于 A A A的秩 k k k矩阵为 A k = ∑ i = 1 k σ i u u v i T A_k=\sum_{i=1}^{k}\sigma_iu_uv_i^T Ak=i=1kσiuuviT

范数(norm)

向量 v v v的L2范数 l 2 = ∣ ∣ v ∣ ∣ 2 = ∑ i = 1 n v i 2 l^2=||v||_2=\sqrt{\sum_{i=1}^{n}{v_i^2}} l2=v2=i=1nvi2 ,L1范数 l 1 = ∣ ∣ v ∣ ∣ 1 = ∑ i = 1 n ∣ v i ∣ l^1=||v||_1=\sum_{i=1}^{n}{|v_i|} l1=v1=i=1nvi,L无限范数(infinity norm) l ∞ = ∣ ∣ v ∣ ∣ ∞ = max ⁡ i = 1 , ⋯   , n ∣ v i ∣ l^{\infty}=||v||_{\infty}=\max_{i=1,\cdots,n}{|v_i|} l=v=maxi=1,,nvi

最小化L1范数时优秀的向量的稀疏向量

常数 c , ∣ ∣ c v ∣ ∣ = ∣ c ∣ ∣ ∣ v ∣ ∣ c,||cv||=|c|||v|| c,cv=cv

∣ ∣ v + w ∣ ∣ ≤ ∣ ∣ v ∣ ∣ + ∣ ∣ w ∣ ∣ ||v+w||≤||v||+||w|| v+wv+w

∣ ∣ A ∣ ∣ ||A|| A称为 A A A的范数(the norm of A A A),是矩阵尺度(大小)的一种测量

∣ ∣ A ∣ ∣ 2 = σ 1 ||A||_2=\sigma_1 A2=σ1

Frobenius范数 ∣ ∣ A ∣ ∣ F = ∑ i = 1 , ⋯   , m j = 1 , ⋯   , n a i j 2 ||A||_F=\sqrt{\sum_{i=1,\cdots,m\\j=1,\cdots,n}{a_{ij}^2}} AF=i=1,,mj=1,,naij2

Nuclear范数 ∣ ∣ A ∣ ∣ N u c l e a r = ∑ i = 1 r σ i ||A||_{Nuclear}=\sum_{i=1}^{r}{\sigma_i} ANuclear=i=1rσi

正交矩阵 Q , ∣ ∣ Q A ∣ ∣ = ∣ ∣ A ∣ ∣ , ∣ ∣ Q v ∣ ∣ = ∣ ∣ v ∣ ∣ Q,||QA||=||A||,||Qv||=||v|| Q,QA=A,Qv=v(用L2范数看,就是对 v v v旋转)

A A A左乘或右乘正交阵不改变范数,原因是所有范数都与奇异值有关,左乘或右乘正交阵之后,仍然满足SVD分解的形式,可以看作另一个矩阵的SVD,因此奇异值不变,范数不变。

Q A = ( Q U ) Σ V T , Q U QA=(QU)\Sigma V^T,QU QA=(QU)ΣVT,QU仍然是正交矩阵,正交矩阵的积是正交矩阵, ( Q U ) T Q U = U T Q T Q U = I (QU)^TQU=U^TQ^TQU=I (QU)TQU=UTQTQU=I

Eckart-Young Theorem

如果 B B B是秩 k k k矩阵,那么 A , B A,B A,B的距离 ∣ ∣ A − B ∣ ∣ ≥ ∣ ∣ A − A k ∣ ∣ ||A-B||≥||A-A_k|| ABAAk

对3种范数,定理都成立

PCA

对一组数据点构成的矩阵,先对每一项数据均值化(例如身高加和为0),再求协方差矩阵 A A T N − 1 \frac{AA^T}{N-1} N1AAT,求出近似直线,直线的斜率就是 σ 1 \sigma_1 σ1(?教授没说清楚)

跟最小二乘不同,这里误差是点到直线的垂直距离,最小二乘是竖直距离

(教授这部分说得比较模糊,似乎留到练习课了)

Lecture 8 Norms of Vectors and Matrices

向量的范数

Lp范数 l p = ∣ ∣ v ∣ ∣ p = ( ∑ i = 1 n ∣ v i ∣ p ) 1 / p l^p=||v||_p=(\sum_{i=1}^{n}{|v_i|^p})^{1/p} lp=vp=(i=1nvip)1/p

L0范数 l 0 = ∣ ∣ v ∣ ∣ 0 = 非 零 成 分 的 个 数 , ∣ ∣ c v ∣ ∣ 0 = ∣ ∣ v ∣ ∣ 0 l^0=||v||_0=非零成分的个数,||cv||_0=||v||_0 l0=v0=,cv0=v0

S范数 ∣ ∣ v ∣ ∣ S = v T S v ||v||_S=\sqrt{v^TSv} vS=vTSv ,S表示正定矩阵。在2维平面上,S范数≤1的图像是椭圆,L1范数是等长的菱形,L2范数是圆,L无限范数是正方形

对于最优化问题,在2D平面上 min ⁡ ∣ ∣ x ∣ ∣ 1 \min{||x||_1} minx1 min ⁡ ∣ ∣ x ∣ ∣ 2 \min{||x||_2} minx2使得 c 1 x 1 + c 2 x 2 = b c_1x_1+c_2x_2=b c1x1+c2x2=b,将 x x x视为自变量和因变量,画出直线的图像,交轴于 ( a , 0 ) , ( 0 , b ) (a,0),(0,b) (a,0),(0,b)

几何角度的解为从原点开始扩张L1范数和L2范数的图像,表示当范数固定时,满足范数为当前值的点。当菱形\圆慢慢扩张,第一次接触直线时的点,就是符合条件的解 x x x。因此L2范数的解为从原点到直线的垂线交点(圆的切线),L1范数的解视直线斜率不同可能为 ( a , 0 ) (a,0) (a,0) ( 0 , b ) (0,b) (0,b)或菱形的某一边。扩张到高维也适用可是并不能画出高维图像呢

矩阵的范数

Spetral Norm(谱范数,L2范数)

∣ ∣ A ∣ ∣ 2 = σ 1 ||A||_2=\sigma_1 A2=σ1

矩阵范数由向量范数得出, ∣ ∣ A ∣ ∣ 2 = max ⁡ f o r   a l l   x ∣ ∣ A x ∣ ∣ 2 ∣ ∣ x ∣ ∣ 2 ||A||_2=\max_{for\ all\ x}{\frac{||Ax||_2}{||x||_2}} A2=maxfor all xx2Ax2,可以理解为将 ∣ ∣ x ∣ ∣ 2 ||x||_2 x2放大的一个系数

上述最优化问题中,获取最优解时的 x x x A A A的右奇异向量 v 1 v_1 v1(课上没有证明),从几何角度看线性变换(见线性变换Ax的几何解释),秩 r r r A A A作用于向量 x x x,仅在 Σ \Sigma Σ矩阵对向量做拉伸,而 Σ \Sigma Σ中拉伸最大的方向为 σ 1 \sigma_1 σ1对应的右奇异向量对应的方向,因此最优解时的 x x x v 1 v_1 v1,最优解为 σ 1 \sigma_1 σ1(或者 ∣ ∣ A v 1 ∣ ∣ 2 ∣ ∣ v 1 ∣ ∣ 2 = ∣ ∣ A v 1 ∣ ∣ 2 = ∣ ∣ σ 1 u 1 ∣ ∣ 2 = ∣ σ 1 ∣ ∣ ∣ u 1 ∣ ∣ 2 = σ 1 \frac{||Av_1||_2}{||v_1||_2}=||Av_1||_2=||\sigma_1 u_1||_2=|\sigma_1|||u_1||_2=\sigma_1 v12Av12=Av12=σ1u12=σ1u12=σ1

Frobenius Norm

∣ ∣ A ∣ ∣ F = ∑ i = 1 , ⋯   , m j = 1 , ⋯   , n a i j 2 = ∑ i = 1 r σ i 2 ||A||_F=\sqrt{\sum_{i=1,\cdots,m\\j=1,\cdots,n}{a_{ij}^2}}=\sqrt{\sum_{i=1}^{r}{\sigma_i^2}} AF=i=1,,mj=1,,naij2 =i=1rσi2

矩阵的迹满足交换律

t r ( A m ∗ n B n ∗ m ) = ∑ ( A B ) i i = ∑ i = 1 m ( ∑ j = 1 n a i j b j i ) = ∑ j = 1 n ( ∑ i = 1 m b j i a i j ) = ∑ ( B A ) j j = t r ( B A ) tr(A_{m*n}B_{n*m})=\sum(AB)_{ii}=\sum_{i=1}^{m}{(\sum_{j=1}^{n}{a_{ij}b_{ji}})}=\sum_{j=1}^{n}{(\sum_{i=1}^{m}{b_{ji}a_{ij}})}=\sum{(BA)_{jj}}=tr(BA) tr(AmnBnm)=(AB)ii=i=1m(j=1naijbji)=j=1n(i=1mbjiaij)=(BA)jj=tr(BA)

∣ ∣ A ∣ ∣ F = ∑ i = 1 , ⋯   , m j = 1 , ⋯   , n a i j 2 = t r ( A T A ) = t r ( V Σ 2 V T ) ||A||_F=\sqrt{\sum_{i=1,\cdots,m\\j=1,\cdots,n}{a_{ij}^2}}=\sqrt{tr(A^TA)}=\sqrt{tr(V\Sigma^2V^T)} AF=i=1,,mj=1,,naij2 =tr(ATA) =tr(VΣ2VT)

注意迹为特征值之和,上式为 A T A A^TA ATA的特征值分解, Σ 2 \Sigma^2 Σ2即特征值矩阵

∣ ∣ A ∣ ∣ F = ∑ i = 1 r σ i 2 ||A||_F=\sqrt{\sum_{i=1}^{r}\sigma_i^2} AF=i=1rσi2

Nuclear Norm(trace norm)

∣ ∣ A ∣ ∣ N = ∑ i = 1 r σ i ||A||_N=\sum_{i=1}^{r}{\sigma_i} AN=i=1rσi

Lecture 9 Four Ways to Solve Least Squares Problems

伪逆(pseudo inverse)

A m ∗ n A_{m*n} Amn C ( A T ) C(A^T) C(AT) x x x映射到 C ( A ) C(A) C(A) A x Ax Ax,伪逆将其逆映射回来, A + A x = x A^+Ax=x A+Ax=x

A A A将零空间映射到零点, A + A^+ A+将左零空间映射到零点,满秩矩阵 A + = A − 1 A^+=A^{-1} A+=A1,画4空间图很好理解,非满秩矩阵将零点扩张成空间即可。

A = U Σ V T A=U\Sigma V^T A=UΣVT,如果 A A A可逆, A − 1 = V Σ − 1 U T A^{-1}=V\Sigma^{-1}U^T A1=VΣ1UT, A A A不可逆, A + = V Σ + U T A^+=V\Sigma^+U^T A+=VΣ+UT(定义并不要求列满秩)

伪逆是使得 A A + , A + A AA^+,A^+A AA+,A+A最接近 I I I的矩阵,注意左右伪逆不相等,但公式都可以由SVD类推求得

Σ + \Sigma^+ Σ+ Σ \Sigma Σ非零项取倒数,其他全0

最小二乘法

对一组数据点,不在同一条直线上,即 A x = b Ax=b Ax=b无解,拟合一条最优的直线,使得误差最小(线性回归),误差定义为 ∣ ∣ A x − b ∣ ∣ 2 2 ||Ax-b||_2^2 Axb22

损失函数(loss function) ∣ ∣ A x − b ∣ ∣ 2 2 = ( A x − b ) T ( A x − b ) = x T A T A x − 2 b T A x + b T b ||Ax-b||_2^2=(Ax-b)^T(Ax-b)=x^TA^TAx-2b^TAx+b^Tb Axb22=(Axb)T(Axb)=xTATAx2bTAx+bTb

令上式求导为0,得 A T A x = A T b A^TAx=A^Tb ATAx=ATb,也就是正规方程(可是教授你没教过矩阵求导啊

从几何角度,就是求构成列空间中最接近 b b b的向量的系数 x x x,这样使得误差最小,正规方程也在求投影中出现过,因此求导的结果就是求投影的系数,为表示是近似解而不是原方程的解,解写做 x ^ \hat{x} x^

A A A如果列满秩,则 x ^ = ( A T A ) − 1 A T b \hat{x}=(A^TA)^{-1}A^Tb x^=(ATA)1ATb,同时左伪逆 A l e f t + = ( A T A ) − 1 A T , x ^ = A + b A_{left}^+=(A^TA)^{-1}A^T,\hat{x}=A^+b Aleft+=(ATA)1AT,x^=A+b

A l e f t + A = V n ∗ n Σ n ∗ m + U m ∗ m T U Σ m ∗ n V T = V I n ∗ n V T = I A_{left}^+A=V_{n*n}\Sigma_{n*m}^+U_{m*m}^TU\Sigma_{m*n}V^T=VI_{n*n}V^T=I Aleft+A=VnnΣnm+UmmTUΣmnVT=VInnVT=I

( A T A ) − 1 A T A = I (A^TA)^{-1}A^TA=I (ATA)1ATA=I,因此得到 A l e f t + = ( A T A ) − 1 A T , x ^ = A + b A_{left}^+=(A^TA)^{-1}A^T,\hat{x}=A^+b Aleft+=(ATA)1AT,x^=A+b

同样当A列满秩时,做Gram-Schmidt正交化可以得到QR分解, R n ∗ n R_{n*n} Rnn满秩(否则A是R的行的线性组合,不能秩n)

A = Q R A=QR A=QR

x ^ = ( A T A ) − 1 A T b = ( R T R ) − 1 R T Q T b = R − 1 ( R T ) − 1 R T Q T b = R − 1 Q T b \hat{x}=(A^TA)^{-1}A^Tb=(R^TR)^{-1}R^TQ^Tb=R^{-1}(R^T)^{-1}R^TQ^Tb=R^{-1}Q^Tb x^=(ATA)1ATb=(RTR)1RTQTb=R1(RT)1RTQTb=R1QTb

当A列不满秩时, A T A A^TA ATA不可逆,可以将正规方程修正(加入惩罚项)为 ( A T A + δ 2 I ) x ^ = A T b (A^TA+\delta^2I)\hat{x}=A^Tb (ATA+δ2I)x^=ATb,误差为 ∣ ∣ A x − b ∣ ∣ 2 2 + δ 2 ∣ ∣ x ∣ ∣ 2 2 ||Ax-b||_2^2+\delta^2||x||_2^2 Axb22+δ2x22(线性回归变为嵴回归ridge regression),当 δ → 0 \delta\rightarrow0 δ0 x ^ \hat{x} x^就是原正规方程的解

对任意 v ≠ 0 , v T ( A T A + δ 2 I ) v > 0 v≠0,v^T(A^TA+\delta^2I)v>0 v=0,vT(ATA+δ2I)v>0,因此为正定矩阵, x ^ = ( A T A + δ 2 I ) − 1 A T b \hat{x}=(A^TA+\delta^2I)^{-1}A^Tb x^=(ATA+δ2I)1ATb

代入SVD
A T A + δ 2 I = V ( Σ T Σ + δ 2 I ) V T ( A T A + δ 2 I ) − 1 A T = V [ ( Σ T Σ + δ 2 I ) − 1 Σ T ] U T ( Σ T Σ m ∗ n + δ 2 I ) − 1 Σ T = [ σ 1 2 + δ 2 σ 2 2 + δ 2 ⋱ σ r 2 + δ 2 δ 2 ⋱ δ 2 ] − 1 Σ T = [ 1 σ 1 2 + δ 2 1 σ 2 2 + δ 2 ⋱ 1 σ r 2 + δ 2 1 δ 2 ⋱ 1 δ 2 ] [ σ 1 σ 2 ⋱ σ r 0 ⋱ ] = [ σ 1 σ 1 2 + δ 2 ⋱ σ r σ r 2 + δ 2 0 ⋱ ] n ∗ m lim ⁡ δ → 0 ( Σ T Σ m ∗ n + δ 2 I ) − 1 Σ T = [ 1 σ 1 ⋱ 1 σ r 0 ⋱ ] = Σ n ∗ m + lim ⁡ δ → 0 ( A T A + δ 2 I ) − 1 A T = V Σ + U T = A + \begin{aligned} A^TA+\delta^2I&=V(\Sigma^T\Sigma+\delta^2I)V^T\\ (A^TA+\delta^2I)^{-1}A^T&=V[(\Sigma^T\Sigma+\delta^2I)^{-1}\Sigma^T]U^T\\ (\Sigma^T\Sigma_{m*n}+\delta^2I)^{-1}\Sigma^T &=\left[\begin{array}{ccccccc} \sigma_1^2+\delta^2\\ &\sigma_2^2+\delta^2\\ &&\ddots\\ &&&\sigma_r^2+\delta^2\\ &&&&\delta^2\\ &&&&&\ddots\\ &&&&&&\delta^2\\ \end{array}\right]^{-1}\Sigma^T\\ &=\left[\begin{array}{ccccccc} \frac{1}{\sigma_1^2+\delta^2}\\ &\frac{1}{\sigma_2^2+\delta^2}\\ &&\ddots\\ &&&\frac{1}{\sigma_r^2+\delta^2}\\ &&&&\frac{1}{\delta^2}\\ &&&&&\ddots\\ &&&&&&\frac{1}{\delta^2}\\ \end{array}\right] \left[\begin{array}{cccccc} \sigma_1\\ &\sigma_2\\ &&\ddots\\ &&&\sigma_r\\ &&&&0\\ &&&&&\ddots\\ \end{array}\right]\\ &=\left[\begin{array}{ccccc} \frac{\sigma_1}{\sigma_1^2+\delta^2}\\ &\ddots\\ &&\frac{\sigma_r}{\sigma_r^2+\delta^2}\\ &&&0\\ &&&&\ddots\\ \end{array}\right]_{n*m}\\ \lim_{\delta\rightarrow0}{(\Sigma^T\Sigma_{m*n}+\delta^2I)^{-1}\Sigma^T} &= \left[\begin{array}{ccccc} \frac{1}{\sigma_1}\\ &\ddots\\ &&\frac{1}{\sigma_r}\\ &&&0\\ &&&&\ddots\\ \end{array}\right]\\ &=\Sigma_{n*m}^+\\ \lim_{\delta\rightarrow0}{(A^TA+\delta^2I)^{-1}A^T}&=V\Sigma^+U^T=A^+\\ \end{aligned}\\ ATA+δ2I(ATA+δ2I)1AT(ΣTΣmn+δ2I)1ΣTδ0lim(ΣTΣmn+δ2I)1ΣTδ0lim(ATA+δ2I)1AT=V(ΣTΣ+δ2I)VT=V[(ΣTΣ+δ2I)1ΣT]UT=σ12+δ2σ22+δ2σr2+δ2δ2δ21ΣT=σ12+δ21σ22+δ21σr2+δ21δ21δ21σ1σ2σr0=σ12+δ2σ1σr2+δ2σr0nm=σ11σr10=Σnm+=VΣ+UT=A+
因此 x ^ = A + b \hat{x}=A^+b x^=A+b总是成立的

Lecture 10 Survey of Difficulties with Ax=b

Lecture 11 Minimizing x subject to Ax=b

这一节是为了解决大尺寸的矩阵,或近似奇异(列非常接近相关,或者说奇异值非常接近0)矩阵的Ax=b问题,减小电脑的计算误差

better Gram-Schmidt(with column pivoting)

A = [ a 1 a 2 ⋯ a n ] A=[\begin{array}{cccc}a_1&a_2&\cdots&a_n\end{array}] A=[a1a2an],挑选L2范数最大的 a i a_i ai作为 A 1 A_1 A1并标准化为 q 1 q_1 q1,然后其余列减去在 q 1 q_1 q1上的投影,L2范数最大的作为 A 2 A_2 A2,依此类推。不会增加计算量,因为原方法也要每个列向量都减去 q 1 q_1 q1投影一次,这里只是提前计算并比较。

否则当 ∣ ∣ A i ∣ ∣ 2 ||A_i||_2 Ai2太小时,标准化时其作为分母,计算机会引入非常大的误差。

Krylov 空间 , Arnoldi 过程

用于解决很大的稀疏矩阵Ax=b的问题

A n ∗ n , b n A_{n*n},b_n Ann,bn,那么 b , A b , A ( A b ) , ⋯   , A j − 1 b b,Ab,A(Ab),\cdots,A^{j-1}b b,Ab,A(Ab),,Aj1b构成Krylov子空间 K j K_j Kj,每一次不做矩阵乘法,只做矩阵乘向量,子空间维数不超过 j j j

直接求 A A A的逆和伪逆会非常困难,所以求近似解

x j x_j xj K j K_j Kj里最近似的解,从 j j j个向量中用Gram-Schmidt方法(这里没看出Arnoldi过程的区别)得到一组正交基 v v v x j x_j xj就是 x x x K j K_j Kj里的投影,可以用 v v v表示出来。(然而怎么求系数根本没提,这节课上了个寂寞,教授你在干什么)

Lecture 12 Computing Eigenvalues and Singular Values

QR method

满秩矩阵 A n ∗ n = A 0 = Q n ∗ n R n ∗ n = Q 0 R 0 , A 1 = R 0 Q 0 = Q 1 R 1 ⋯ A_{n*n}=A_0=Q_{n*n}R_{n*n}=Q_0R_0,A_1=R_0Q_0=Q_1R_1\cdots Ann=A0=QnnRnn=Q0R0,A1=R0Q0=Q1R1

A 1 A_1 A1 A 0 A_0 A0相似,因此特征值相同。 A 1 = R 0 Q 0 = R 0 A 0 R 0 − 1 = Q 0 − 1 A 0 Q 0 = Q 0 T A 0 Q 0 A_1=R_0Q_0=R_0A_0R_0^{-1}=Q_0^{-1}A_0Q_0=Q_0^TA_0Q^0 A1=R0Q0=R0A0R01=Q01A0Q0=Q0TA0Q0

重复这个过程,对角线下的元素会越来越小,最后对角线会非常接近特征值, λ n \lambda_n λn首先在对角线最后准确地出现。

QR method with shift

加入偏移量会加速上述过程,更快得到特征值

A 0 − s I = Q 0 R 0 , A 1 = R 0 Q 0 + s I A_0-sI=Q_0R_0,A_1=R_0Q_0+sI A0sI=Q0R0,A1=R0Q0+sI

偏移量一个好的选择是 λ n \lambda_n λn,0会首先在对角线最后准确出现

A 1 = R 0 Q 0 + s I = Q 0 − 1 ( A 0 − s I ) Q 0 + s I = Q 0 − 1 A 0 Q 0 − s I + s I A_1=R_0Q_0+sI=Q_0^{-1}(A_0-sI)Q_0+sI=Q_0^{-1}A_0Q_0-sI+sI A1=R0Q0+sI=Q01(A0sI)Q0+sI=Q01A0Q0sI+sI

因此仍然相似。

程序(matlab)计算特征值的方式,先将矩阵消元(程序似乎用相似变换做)化为Hessenberg矩阵(上三角+下面多一行对角线),再进行有偏移的QR过程

如果A对称,则后续得到的 A i A_i Ai对称,Hessenberg矩阵是一个三对角线矩阵,只有中央三条对角线,同样是对称矩阵

算法分为两步,第一步得到很多0,且这些0的位置在第二步过程中仍然为0,第二步进行QR过程。相似变换不改变特征值, B = M A M − 1 B=MAM^{-1} B=MAM1,M任意选取可逆矩阵。

对于奇异值来说,要保持奇异值不变,两边相乘的换为正交阵即可,结果视为另一个SVD分解。 B = Q 1 A Q 2 T = ( Q 1 U ) Σ ( V T Q 2 T ) B=Q_1AQ_2^T=(Q_1U)\Sigma(V^TQ_2^T) B=Q1AQ2T=(Q1U)Σ(VTQ2T)

A先进行上述变换得到双对角线矩阵(主对角线和它上方的对角线)记作 A 1 A_1 A1,再进行 A 1 T A 1 A_1^TA_1 A1TA1,得到对称三对角线矩阵,再进行QR过程,得到特征值,再开方得到奇异值。

QR过程得到的是近似值,复杂度 O ( N 3 ) O(N^3) O(N3)。对于很大的矩阵,考虑使用Krylov子空间做近似,表示出特征值、奇异值等矩阵的特征。(一百万规模的矩阵用一百维子空间就可以精确地近似,比如特征向量可以用一百维近似表示出来)。都是教授说的,没有证明,没有详述。

Lecture 13 Randomized Matrix Multiplication

均值、期望 m e a n = E = p ∗ 对 应 样 本 x mean=E=p*对应样本x mean=E=px

方差 σ 2 = E [ ( x − m e a n ) 2 ] = E [ x 2 ] − ( m e a n ) 2 \sigma^2=E[(x-mean)^2]=E[x^2]-(mean)^2 σ2=E[(xmean)2]=E[x2](mean)2

从大矩阵A采样,范数大的列可能包含更多信息,因此各列取样的概率不应相等,例如各列的概率可以用norm squared决定(范数平方概率), A = [ a 1 a 2 ] , ∣ ∣ a 2 ∣ ∣ = 2 ∣ ∣ a 1 ∣ ∣ A=[\begin{array}{cc}a_1&a_2\end{array}],||a_2||=2||a_1|| A=[a1a2],a2=2a1,取样概率 p a 2 = 4 p a 1 p_{a_2}=4p_{a_1} pa2=4pa1

大矩阵乘法 A m ∗ n B n ∗ p = ∑ ( c o l   o f   A ) ( r o w   o f   B ) A_{m*n}B_{n*p}=\sum(col\ of\ A)(row\ of\ B) AmnBnp=(col of A)(row of B),分解成n个秩1矩阵相加

n个秩1矩阵计算量太大,从中选出1个矩阵,用来近似表示AB,一共取s次,取它们的平均值。假设每个秩1矩阵被选中的概率相等,因为原本AB有n个矩阵表示,所以秩1矩阵要放大n倍。

A B ≈ ∑ j = 1 s a i j b i j T ∗ n s = ∑ j = 1 s a i j b i j T 1 n s , a i 1 , a i 2 , ⋯   , a i s AB≈\frac{\sum_{j=1}^{s}{a_{ij}b_{ij}^T*n}}{s}=\frac{\sum_{j=1}^{s}{\frac{a_{ij}b_{ij}^T}{\frac{1}{n}}}}{s},a_{i1},a_{i2},\cdots,a_{is} ABsj=1saijbijTn=sj=1sn1aijbijT,ai1,ai2,,ais表示对A每次随机选出的s个列

将平均值分摊到每一次,视为每一次为最后的期望贡献了多少。每次取矩阵平均值的数学期望 E = ∑ 1 n ( a j b j T ∗ n ) / s = ∑ a j b j T / s = A B / s E=\sum{\frac{1}{n}(a_jb_j^T*n)}/s=\sum{a_jb_j^T}/s=AB/s E=n1(ajbjTn)/s=ajbjT/s=AB/s,总平均值的数学期望 E = A B s ∗ s = A B = ∑ 1 n ( a j b j T 1 n / s ) ∗ s = ∑ p j ( a j b j T s p j ) ∗ s , ∑ p j a j b j T s p j E=\frac{AB}{s}*s=AB=\sum{\frac{1}{n}(\frac{a_jb_j^T}{\frac{1}{n}}/s)}*s=\sum{p_j(\frac{a_jb_j^T}{sp_j})}*s,\sum{p_j\frac{a_jb_j^T}{sp_j}} E=sABs=AB=n1(n1ajbjT/s)s=pj(spjajbjT)s,pjspjajbjT即为每一次的数学期望对最后的期望做出多少贡献。

实际选中各个秩1矩阵的概率不应相等,令 p j p_j pj为选中 a j b j T a_jb_j^T ajbjT的概率, b j T b_j^T bjT表示B的第 j j j行, p j = ∣ ∣ a j ∣ ∣ ∣ ∣ b j T ∣ ∣ C , C = ∑ ∣ ∣ a j ∣ ∣ ∣ ∣ b j T ∣ ∣ p_j=\frac{||a_j||||b_j^T||}{C},C=\sum{||a_j||||b_j^T||} pj=CajbjT,C=ajbjT,使得概率和为1(后续会证明这种概率是使得方差最小的最优概率)

对照上面的数学期望,每一次取样的数学期望 E = ∑ p j ( a j b j T s p j ) = A B s , s E=\sum{p_j(\frac{a_jb_j^T}{sp_j})}=\frac{AB}{s},s E=pj(spjajbjT)=sAB,s为样本数,总的数学期望仍为AB,说明这种取样方法是正确的。

到这里已经跟原视频说的不一样了,原视频说的非常不好理解,这是自己的理解,老教授你还行不行了……我甚至不确定这是正确的,感觉自己在强行解释

从形式上看, a j b j T s p j \frac{a_jb_j^T}{sp_j} spjajbjT即为概率 p j p_j pj对应的样本值。

利用方差公式 σ 2 = E [ ( x 2 ) ] − ( m e a n ) 2 = E [ ( x 2 ) ] − [ E [ ( x ) ] ] 2 \sigma^2=E[(x^2)]-(mean)^2=E[(x^2)]-[E[(x)]]^2 σ2=E[(x2)](mean)2=E[(x2)][E[(x)]]2

一次抽样的方差 σ 1 2 = ∑ p j ∣ ∣ a j ∣ ∣ 2 ∣ ∣ b j T ∣ ∣ 2 s 2 p j 2 − ∣ ∣ A B ∣ ∣ F 2 s 2 \sigma_1^2=\sum{p_j\frac{||a_j||^2||b_j^T||^2}{s^2p_j^2}}-\frac{||AB||_F^2}{s^2} σ12=pjs2pj2aj2bjT2s2ABF2

总方差 σ 2 = s σ 1 2 = 1 s ( ∑ ∣ ∣ a j ∣ ∣ 2 ∣ ∣ b j T ∣ ∣ 2 p j − ∣ ∣ A B ∣ ∣ F 2 ) \sigma^2=s\sigma_1^2=\frac{1}{s}(\sum\frac{||a_j||^2||b_j^T||^2}{p_j}-||AB||_F^2) σ2=sσ12=s1(pjaj2bjT2ABF2),利用 p j = ∣ ∣ a j ∣ ∣ ∣ ∣ b j T ∣ ∣ C p_j=\frac{||a_j||||b_j^T||}{C} pj=CajbjT σ 2 = 1 s ( ∑ ∣ ∣ a j ∣ ∣ ∣ ∣ b j T ∣ ∣ 1 C − ∣ ∣ A B ∣ ∣ F 2 ) = 1 s ( C 2 − ∣ ∣ A B ∣ ∣ F 2 ) \sigma^2=\frac{1}{s}(\sum{\frac{||a_j||||b_j^T||}{\frac{1}{C}}}-||AB||_F^2)=\frac{1}{s}(C^2-||AB||_F^2) σ2=s1(C1ajbjTABF2)=s1(C2ABF2)

也没解释为什么求方差的时候矩阵的平方这样处理,这节课真的看了个寂寞

现在证明上式是能得到的最小方差,选择的概率是最优概率

最小化方差即最小化 ∑ ∣ ∣ a j ∣ ∣ 2 ∣ ∣ b j T ∣ ∣ 2 s p j \sum{\frac{||a_j||^2||b_j^T||^2}{sp_j}} spjaj2bjT2,利用拉格朗日乘子,加入约束项
min ⁡ ∑ p j = 1 L = min ⁡ ∑ p j = 1 ∣ ∣ a j ∣ ∣ 2 ∣ ∣ b j T ∣ ∣ 2 s p j = min ⁡ ∑ p j = 1 ∣ ∣ a j ∣ ∣ 2 ∣ ∣ b j T ∣ ∣ 2 s p j

你可能感兴趣的:(数学,线性代数,算法,信号处理,机器学习)