文章目录

  • 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 QTQ=IQ^TQ=IQTQ=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发生微小变化时,逆如何变化 dA−1dt\frac{\mathrm{d}{A^{-1}}}{\mathrm{d}{t}}dtdA−1​
      • A发生微小变化时,特征值如何变化 dλdt\frac{\mathrm{d}{\lambda}}{\mathrm{d}{t}}dtdλ​
      • 秩发生变化时,特征值变化
    • Lecture 16 Derivatives of Inverse and Singular Values
      • A发生微小变化时,A2A^2A2如何变化 d(A2)dt\frac{\mathrm{d}{(A^2)}}{\mathrm{d}{t}}dtd(A2)​
      • A发生微小变化时,奇异值如何变化 dσdt\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−1X\Lambda X^{-1}XΛX−1
        • QΛQTQ\Lambda Q^TQΛQT
        • QS
        • SVD
      • 向量和矩阵的求导
      • Saddle points from constraints/from xTSxxTx\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

[2133145712]=[213157][101011]\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] ⎣⎡​235​117​3412​⎦⎤​=⎣⎡​235​117​⎦⎤​[10​01​11​]

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

RRR是AAA的RREF(reducedrowechelonform)RREF(reduced\ row\ echelon\ form)RREF(reduced row echelon form)简化行阶梯形式(不包括全零行),即消元使得主元系数为111,且其他行该主元系数为000

A=CMR

CCC同上节,RRR是从上到下直接从AAA取出的线性无关的非零行,那么rank(Am∗n)=r,Cm∗r,Rr∗n,Mr∗rrank(A_{m*n})=r,C_{m*r},R_{r*n},M_{r*r}rank(Am∗n​)=r,Cm∗r​,Rr∗n​,Mr∗r​

为了求MMM,注意CTC,RRTC^TC,RR^TCTC,RRT满秩可逆

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

这个分解的意义在于保存了AAA的属性和原数据,QRQRQR分解和SVDSVDSVD中这些属性丢失。例如AAA非负则CRCRCR非负,AAA稀疏则CRCRCR稀疏。

Lecture 2 Multiplying and Factoring Matrices

LU分解的解释

[2347]\left[\begin{array}{cc}2&3\\4&7\end{array}\right][24​37​]通过消元得到[2301]\left[\begin{array}{cc}2&3\\0&1\end{array}\right][20​31​],第二行减去第一行的2倍
[2347]=[1021][2301]=[12][23]+[01][01]=[2346]+[0001]\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] [24​37​]=[12​01​][20​31​]=[12​][2​3​]+[01​][0​1​]=[24​36​]+[00​01​]

A1=LU=(col1ofL)(row1ofU)+[0OOA2]=(col1ofL)(row1ofU)+(col2ofL)(row2ofU)+[00O00OOOA3]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)+[0O​OA2​​]=(col1​ of L)(row1​ of U)+(col2​ of L)(row2​ of U)+⎣⎡​00O​00O​OOA3​​⎦⎤​

在消元过程中,第一行不需要操作,所以LLL的第一行为1,0...1,0...1,0...,第一列为为了消去第一列元素所乘的第一行系数,UUU的第一行为AAA的第一行,因此(col1ofL)(row1ofU)(col_1\ of\ L)(row_1\ of\ U)(col1​ of L)(row1​ of U)包含了第一行第一列的所有信息,剩下的A2A_2A2​为原矩阵用第一行消元后剩余的信息。同理继续分解A2A_2A2​,LLL为下三角阵,所以(col2ofL)(row2ofU)(col_2\ of\ L)(row_2\ of\ U)(col2​ of L)(row2​ of U)不会在(col1ofL)(row1ofU)(col_1\ of\ L)(row_1\ of\ U)(col1​ of L)(row1​ of U)的基础上再给第一行的结果增加信息,且col2ofLcol_2\ of\ Lcol2​ of L是在AAA完成第一列消元后的矩阵上继续消元得到(即在基础上为了消去第二列元素所乘的第二行系数),因为后续不会再对第二行操作,所以UUU的第二行即为此时消元第一列后的AAA的第二行,也是A2A_2A2​第一行,所以(col1ofL)(row1ofU)+(col2ofL)(row2ofU)(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)包含了原矩阵第一二行和第一二列所有信息,其中(col2ofL)(row2ofU)(col_2\ of\ L)(row_2\ of\ U)(col2​ of L)(row2​ of U)包含A2A_2A2​第一行第一列信息,A3A_3A3​包含剩余信息。

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

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

当QQQ是方阵时,QQT=IQQ^T=IQQT=I也成立,因为对方阵来说,左逆等于右逆

(Qx)TQx=∣∣Qx∣∣2=xTQTQx=xTx=∣∣x∣∣2,∣∣Qx∣∣=∣∣x∣∣(Qx)^TQx=||Qx||^2=x^TQ^TQx=x^Tx=||x||^2,||Qx||=||x||(Qx)TQx=∣∣Qx∣∣2=xTQTQx=xTx=∣∣x∣∣2,∣∣Qx∣∣=∣∣x∣∣

QQQ不改变向量的长度

例如对二维平面有Q=[cos⁡θ−sin⁡θsin⁡θcos⁡θ],Q[10]=[cos⁡θsin⁡θ],Q[01]=[−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

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

Q=[cos⁡θsin⁡θsin⁡θ−cos⁡θ],Q[10]=[cos⁡θsin⁡θ],Q[01]=[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θ​]

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

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

HTH=H2=I−4uuT+4uuTuuT=IH^TH=H^2=I-4uu^T+4uu^Tuu^T=IHTH=H2=I−4uuT+4uuTuuT=I

Hadamard matrices

H2=12[111−1],H4=14[H2H2H2−H2],H2n+1=12n+1[H2nH2nH2n−H2n]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​[11​1−1​],H4​=4​1​[H2​H2​​H2​−H2​​],H2n+1​=2n+1​1​[H2n​H2n​​H2n​−H2n​​]

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

正交矩阵的特征向量矩阵

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

Q4=[1111]Q_4=\left[\begin{array}{cccc}&1&&\\&&1&\\&&&1\\1&&&\end{array}\right]Q4​=⎣⎢⎢⎡​1​1​1​1​⎦⎥⎥⎤​的特征向量矩阵是4阶傅里叶矩阵F4=[11111ii2i31i2i4i61i3i6i9]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​=⎣⎢⎢⎡​1111​1ii2i3​1i2i4i6​1i3i6i9​⎦⎥⎥⎤​

Lecture 4 Eigenvalues and Eigenvectors

假设An∗nA_{n*n}An∗n​有nnn个线性无关的特征向量xxx,任意向量vvv可以写成v=∑i=1ncixi,vk=Akv=∑i=1nciλikxiv=\sum_{i=1}^{n}{c_ix_i},v_k=A^kv=\sum_{i=1}^{n}{c_i\lambda_i^kx_i}v=∑i=1n​ci​xi​,vk​=Akv=∑i=1n​ci​λik​xi​

dvdt=Av\frac{\mathrm{d}{v}}{\mathrm{d}{t}}=Avdtdv​=Av的解为v=∑i=1nCicieλitxi,Cv=\sum_{i=1}^{n}{C_ic_i\mathrm{e}^{\lambda_it}x_i},Cv=∑i=1n​Ci​ci​eλi​txi​,C为需要初始值确定的常数。

相似矩阵有相同特征值

An∗n,Bn∗nA_{n*n},B_{n*n}An∗n​,Bn∗n​均可逆,ABABAB与BABABA有相同特征值

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

反对称矩阵

反对称矩阵没有实特征值
A=−AHAx=λxxHAx=λxHxA‾x‾=λ‾x‾xHAH=λ‾xH−xHAHx=−λ‾xHx又A=−AHλxHx=−λ‾xHx不考虑零向量,λ=−λ‾令λ=a+bia+bi=−a+bia=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=λxH−xHAHx=−λxHx又A=−AHλxHx=−λxHx不考虑零向量,λ=−λ令λ=a+bia+bi=−a+bia=0所以λ必定为虚数
例如A=[0−110]A=\left[\begin{array}{cc}0&-1\\1&0\end{array}\right]A=[01​−10​],作用在二维实向量上,A[10]=[01],A[01]=[−10]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λ能满足AxAxAx与λx\lambda xλx同方向,因此特征值和特征向量都是复数。

Lecture 5 Positive Definite and Semidefinite Matrices

Lecture 6 Singular Value Decomposition(SVD)

SVD

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

实际中为了避免特征向量符号不对(例如对[115]\left[\begin{array}{ccc}1&&\\&1&\\&&5\end{array}\right]⎣⎡​1​1​5​⎦⎤​,特征值111的特征向量为[xy0]\left[\begin{array}{c}x\\y\\0\end{array}\right]⎣⎡​xy0​⎦⎤​,需要选择),先做ATAA^TAATA求出VVV和Σ\SigmaΣ,再通过Av=σu,u=AvσAv=\sigma u,u=\frac{Av}{\sigma}Av=σu,u=σAv​求UUU

为了证明这样的UUU是正确的,需要证明uuu正交且为AATAA^TAAT的特征向量

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

u1Tu2=(Av1σ1)TAv2σ2=v1TATAv2σ1σ2=σ22v1Tv2σ1σ2=0u_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}=0u1T​u2​=(σ1​Av1​​)Tσ2​Av2​​=σ1​σ2​v1T​ATAv2​​=σ1​σ2​σ22​v1T​v2​​=0,也说明正交向量vvv可以从行空间选择,经过AAA变换后,得到列空间中的正交向量。

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

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

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

Polar Decomposition

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

Am∗n=Um∗rΣr∗rVn∗rT=UΣUTUVT=(UΣUT)(UVT)=SQA_{m*n}=U_{m*r}\Sigma_{r*r}V_{n*r}^T=U\Sigma U^TUV^T=(U\Sigma U^T)(UV^T)=SQAm∗n​=Um∗r​Σr∗r​Vn∗rT​=UΣUTUVT=(UΣUT)(UVT)=SQ

(UVT)T(UVT)=VUTUVT=I(UV^T)^T(UV^T)=VU^TUV^T=I(UVT)T(UVT)=VUTUVT=I所以UVTUV^TUVT是m∗nm*nm∗n正交阵。

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

Principal Component Analysis(主成分分析 PCA)

由SVD,A=UΣVT=∑i=1rσiuiviTA=U\Sigma V^T=\sum_{i=1}^{r}\sigma_iu_iv_i^TA=UΣVT=∑i=1r​σi​ui​viT​

AAA可以分解为rrr个秩1矩阵的和,且σ\sigmaσ递减,因此构成AAA最主要的部分为σ1u1v1T,σ2u2v2T,⋯\sigma_1u_1v_1^T,\sigma_2u_2v_2^T,\cdotsσ1​u1​v1T​,σ2​u2​v2T​,⋯

最近似于AAA的秩kkk矩阵为Ak=∑i=1kσiuuviTA_k=\sum_{i=1}^{k}\sigma_iu_uv_i^TAk​=∑i=1k​σi​uu​viT​

范数(norm)

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

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

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

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

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

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

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

Nuclear范数∣∣A∣∣Nuclear=∑i=1rσi||A||_{Nuclear}=\sum_{i=1}^{r}{\sigma_i}∣∣A∣∣Nuclear​=∑i=1r​σi​

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

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

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

Eckart-Young Theorem

如果BBB是秩kkk矩阵,那么A,BA,BA,B的距离∣∣A−B∣∣≥∣∣A−Ak∣∣||A-B||≥||A-A_k||∣∣A−B∣∣≥∣∣A−Ak​∣∣

对3种范数,定理都成立

PCA

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

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

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

Lecture 8 Norms of Vectors and Matrices

向量的范数

Lp范数lp=∣∣v∣∣p=(∑i=1n∣vi∣p)1/pl^p=||v||_p=(\sum_{i=1}^{n}{|v_i|^p})^{1/p}lp=∣∣v∣∣p​=(∑i=1n​∣vi​∣p)1/p

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

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

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

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

矩阵的范数

Spetral Norm(谱范数,L2范数)

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

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

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

Frobenius Norm

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

矩阵的迹满足交换律

tr(Am∗nBn∗m)=∑(AB)ii=∑i=1m(∑j=1naijbji)=∑j=1n(∑i=1mbjiaij)=∑(BA)jj=tr(BA)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(Am∗n​Bn∗m​)=∑(AB)ii​=i=1∑m​(j=1∑n​aij​bji​)=j=1∑n​(i=1∑m​bji​aij​)=∑(BA)jj​=tr(BA)

∣∣A∣∣F=∑i=1,⋯,mj=1,⋯,naij2=tr(ATA)=tr(VΣ2VT)||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)}∣∣A∣∣F​=∑i=1,⋯,mj=1,⋯,n​aij2​​=tr(ATA)​=tr(VΣ2VT)​

注意迹为特征值之和,上式为ATAA^TAATA的特征值分解,Σ2\Sigma^2Σ2即特征值矩阵

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

Nuclear Norm(trace norm)

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

Lecture 9 Four Ways to Solve Least Squares Problems

伪逆(pseudo inverse)

Am∗nA_{m*n}Am∗n​将C(AT)C(A^T)C(AT)的xxx映射到C(A)C(A)C(A)的AxAxAx,伪逆将其逆映射回来,A+Ax=xA^+Ax=xA+Ax=x

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

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

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

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

最小二乘法

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

损失函数(loss function)∣∣Ax−b∣∣22=(Ax−b)T(Ax−b)=xTATAx−2bTAx+bTb||Ax-b||_2^2=(Ax-b)^T(Ax-b)=x^TA^TAx-2b^TAx+b^Tb∣∣Ax−b∣∣22​=(Ax−b)T(Ax−b)=xTATAx−2bTAx+bTb

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

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

AAA如果列满秩,则x^=(ATA)−1ATb\hat{x}=(A^TA)^{-1}A^Tbx^=(ATA)−1ATb,同时左伪逆Aleft+=(ATA)−1AT,x^=A+bA_{left}^+=(A^TA)^{-1}A^T,\hat{x}=A^+bAleft+​=(ATA)−1AT,x^=A+b

Aleft+A=Vn∗nΣn∗m+Um∗mTUΣm∗nVT=VIn∗nVT=IA_{left}^+A=V_{n*n}\Sigma_{n*m}^+U_{m*m}^TU\Sigma_{m*n}V^T=VI_{n*n}V^T=IAleft+​A=Vn∗n​Σn∗m+​Um∗mT​UΣm∗n​VT=VIn∗n​VT=I

(ATA)−1ATA=I(A^TA)^{-1}A^TA=I(ATA)−1ATA=I,因此得到Aleft+=(ATA)−1AT,x^=A+bA_{left}^+=(A^TA)^{-1}A^T,\hat{x}=A^+bAleft+​=(ATA)−1AT,x^=A+b

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

A=QRA=QRA=QR

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

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

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

代入SVD
ATA+δ2I=V(ΣTΣ+δ2I)VT(ATA+δ2I)−1AT=V[(ΣTΣ+δ2I)−1ΣT]UT(ΣTΣm∗n+δ2I)−1ΣT=[σ12+δ2σ22+δ2⋱σr2+δ2δ2⋱δ2]−1ΣT=[1σ12+δ21σ22+δ2⋱1σr2+δ21δ2⋱1δ2][σ1σ2⋱σr0⋱]=[σ1σ12+δ2⋱σrσr2+δ20⋱]n∗mlim⁡δ→0(ΣTΣm∗n+δ2I)−1ΣT=[1σ1⋱1σr0⋱]=Σn∗m+lim⁡δ→0(ATA+δ2I)−1AT=VΣ+UT=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Σm∗n​+δ2I)−1ΣTδ→0lim​(ΣTΣm∗n​+δ2I)−1ΣTδ→0lim​(ATA+δ2I)−1AT​=V(ΣTΣ+δ2I)VT=V[(ΣTΣ+δ2I)−1ΣT]UT=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎡​σ12​+δ2​σ22​+δ2​⋱​σr2​+δ2​δ2​⋱​δ2​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎤​−1ΣT=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡​σ12​+δ21​​σ22​+δ21​​⋱​σr2​+δ21​​δ21​​⋱​δ21​​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤​⎣⎢⎢⎢⎢⎢⎢⎡​σ1​​σ2​​⋱​σr​​0​⋱​⎦⎥⎥⎥⎥⎥⎥⎤​=⎣⎢⎢⎢⎢⎡​σ12​+δ2σ1​​​⋱​σr2​+δ2σr​​​0​⋱​⎦⎥⎥⎥⎥⎤​n∗m​=⎣⎢⎢⎢⎢⎡​σ1​1​​⋱​σr​1​​0​⋱​⎦⎥⎥⎥⎥⎤​=Σn∗m+​=VΣ+UT=A+​
因此x^=A+b\hat{x}=A^+bx^=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=[a1a2⋯an]A=[\begin{array}{cccc}a_1&a_2&\cdots&a_n\end{array}]A=[a1​​a2​​⋯​an​​],挑选L2范数最大的aia_iai​作为A1A_1A1​并标准化为q1q_1q1​,然后其余列减去在q1q_1q1​上的投影,L2范数最大的作为A2A_2A2​,依此类推。不会增加计算量,因为原方法也要每个列向量都减去q1q_1q1​投影一次,这里只是提前计算并比较。

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

Krylov 空间 , Arnoldi 过程

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

An∗n,bnA_{n*n},b_nAn∗n​,bn​,那么b,Ab,A(Ab),⋯,Aj−1bb,Ab,A(Ab),\cdots,A^{j-1}bb,Ab,A(Ab),⋯,Aj−1b构成Krylov子空间KjK_jKj​,每一次不做矩阵乘法,只做矩阵乘向量,子空间维数不超过jjj

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

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

Lecture 12 Computing Eigenvalues and Singular Values

QR method

满秩矩阵An∗n=A0=Qn∗nRn∗n=Q0R0,A1=R0Q0=Q1R1⋯A_{n*n}=A_0=Q_{n*n}R_{n*n}=Q_0R_0,A_1=R_0Q_0=Q_1R_1\cdotsAn∗n​=A0​=Qn∗n​Rn∗n​=Q0​R0​,A1​=R0​Q0​=Q1​R1​⋯

A1A_1A1​和A0A_0A0​相似,因此特征值相同。A1=R0Q0=R0A0R0−1=Q0−1A0Q0=Q0TA0Q0A_1=R_0Q_0=R_0A_0R_0^{-1}=Q_0^{-1}A_0Q_0=Q_0^TA_0Q^0A1​=R0​Q0​=R0​A0​R0−1​=Q0−1​A0​Q0​=Q0T​A0​Q0

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

QR method with shift

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

A0−sI=Q0R0,A1=R0Q0+sIA_0-sI=Q_0R_0,A_1=R_0Q_0+sIA0​−sI=Q0​R0​,A1​=R0​Q0​+sI

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

A1=R0Q0+sI=Q0−1(A0−sI)Q0+sI=Q0−1A0Q0−sI+sIA_1=R_0Q_0+sI=Q_0^{-1}(A_0-sI)Q_0+sI=Q_0^{-1}A_0Q_0-sI+sIA1​=R0​Q0​+sI=Q0−1​(A0​−sI)Q0​+sI=Q0−1​A0​Q0​−sI+sI

因此仍然相似。

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

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

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

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

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

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

Lecture 13 Randomized Matrix Multiplication

均值、期望mean=E=p∗对应样本xmean=E=p*对应样本xmean=E=p∗对应样本x

方差σ2=E[(x−mean)2]=E[x2]−(mean)2\sigma^2=E[(x-mean)^2]=E[x^2]-(mean)^2σ2=E[(x−mean)2]=E[x2]−(mean)2

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

大矩阵乘法Am∗nBn∗p=∑(colofA)(rowofB)A_{m*n}B_{n*p}=\sum(col\ of\ A)(row\ of\ B)Am∗n​Bn∗p​=∑(col of A)(row of B),分解成n个秩1矩阵相加

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

AB≈∑j=1saijbijT∗ns=∑j=1saijbijT1ns,ai1,ai2,⋯,aisAB≈\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}AB≈s∑j=1s​aij​bijT​∗n​=s∑j=1s​n1​aij​bijT​​​,ai1​,ai2​,⋯,ais​表示对A每次随机选出的s个列

将平均值分摊到每一次,视为每一次为最后的期望贡献了多少。每次取矩阵平均值的数学期望E=∑1n(ajbjT∗n)/s=∑ajbjT/s=AB/sE=\sum{\frac{1}{n}(a_jb_j^T*n)}/s=\sum{a_jb_j^T}/s=AB/sE=∑n1​(aj​bjT​∗n)/s=∑aj​bjT​/s=AB/s,总平均值的数学期望E=ABs∗s=AB=∑1n(ajbjT1n/s)∗s=∑pj(ajbjTspj)∗s,∑pjajbjTspjE=\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=sAB​∗s=AB=∑n1​(n1​aj​bjT​​/s)∗s=∑pj​(spj​aj​bjT​​)∗s,∑pj​spj​aj​bjT​​即为每一次的数学期望对最后的期望做出多少贡献。

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

对照上面的数学期望,每一次取样的数学期望E=∑pj(ajbjTspj)=ABs,sE=\sum{p_j(\frac{a_jb_j^T}{sp_j})}=\frac{AB}{s},sE=∑pj​(spj​aj​bjT​​)=sAB​,s为样本数,总的数学期望仍为AB,说明这种取样方法是正确的。

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

从形式上看,ajbjTspj\frac{a_jb_j^T}{sp_j}spj​aj​bjT​​即为概率pjp_jpj​对应的样本值。

利用方差公式σ2=E[(x2)]−(mean)2=E[(x2)]−[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

一次抽样的方差σ12=∑pj∣∣aj∣∣2∣∣bjT∣∣2s2pj2−∣∣AB∣∣F2s2\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​=∑pj​s2pj2​∣∣aj​∣∣2∣∣bjT​∣∣2​−s2∣∣AB∣∣F2​​

总方差σ2=sσ12=1s(∑∣∣aj∣∣2∣∣bjT∣∣2pj−∣∣AB∣∣F2)\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​(∑pj​∣∣aj​∣∣2∣∣bjT​∣∣2​−∣∣AB∣∣F2​),利用pj=∣∣aj∣∣∣∣bjT∣∣Cp_j=\frac{||a_j||||b_j^T||}{C}pj​=C∣∣aj​∣∣∣∣bjT​∣∣​,σ2=1s(∑∣∣aj∣∣∣∣bjT∣∣1C−∣∣AB∣∣F2)=1s(C2−∣∣AB∣∣F2)\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​(∑C1​∣∣aj​∣∣∣∣bjT​∣∣​−∣∣AB∣∣F2​)=s1​(C2−∣∣AB∣∣F2​)

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

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

最小化方差即最小化∑∣∣aj∣∣2∣∣bjT∣∣2spj\sum{\frac{||a_j||^2||b_j^T||^2}{sp_j}}∑spj​∣∣aj​∣∣2∣∣bjT​∣∣2​,利用拉格朗日乘子,加入约束项
min⁡∑pj=1L=min⁡∑pj=1∣∣aj∣∣2∣∣bjT∣∣2spj=min⁡∑pj=1∣∣aj∣∣2∣∣bjT∣∣2spj+λ(∑pj−1)∂L∂pj=−∣∣aj∣∣2∣∣bjT∣∣2spj2+λ=0∂L∂λ=∑pj−1=0⇒pj=∣∣aj∣∣∣∣bjT∣∣sλ,∑pj=1⇒sλ=∑∣∣aj∣∣∣∣bjT∣∣=C,pj=∣∣aj∣∣∣∣bjT∣∣C\begin{aligned} \min_{\sum{p_j=1}}{L}&=\min_{\sum{p_j=1}}{\frac{||a_j||^2||b_j^T||^2}{sp_j}}\\ &=\min_{\sum{p_j=1}}{\frac{||a_j||^2||b_j^T||^2}{sp_j}+\lambda(\sum{p_j}-1)}\\ \frac{\partial{L}}{\partial{p_j}}&=-\frac{||a_j||^2||b_j^T||^2}{sp_j^2}+\lambda=0\\ \frac{\partial{L}}{\partial{\lambda}}&=\sum{p_j}-1=0\\ \Rightarrow p_j&=\frac{||a_j||||b_j^T||}{\sqrt{s\lambda}},\sum{p_j}=1\\ \Rightarrow \sqrt{s\lambda}&=\sum{||a_j||||b_j^T||}=C,p_j=\frac{||a_j||||b_j^T||}{C}\\ \end{aligned}\\ ∑pj​=1min​L∂pj​∂L​∂λ∂L​⇒pj​⇒sλ​​=∑pj​=1min​spj​∣∣aj​∣∣2∣∣bjT​∣∣2​=∑pj​=1min​spj​∣∣aj​∣∣2∣∣bjT​∣∣2​+λ(∑pj​−1)=−spj2​∣∣aj​∣∣2∣∣bjT​∣∣2​+λ=0=∑pj​−1=0=sλ​∣∣aj​∣∣∣∣bjT​∣∣​,∑pj​=1=∑∣∣aj​∣∣∣∣bjT​∣∣=C,pj​=C∣∣aj​∣∣∣∣bjT​∣∣​​

Lecture 14 Low Rank Changes in A and Its Inverse

Matrix inversation formula in signal process

还有很多其他名字,Sherman-Morrison-Woodbury(and so on) formula

当u,vu,vu,v为列向量时
(I−uvT)−1=I+uvT1−vTu(I−uvT)(I+uvT1−vTu)=I−uvT+uvT−uvTuvT1−vTu=I−uvT+uvT−u(vTu)vT1−vTu=I\begin{aligned} (I-uv^T)^{-1}&=I+\frac{uv^T}{1-v^Tu}\\ (I-uv^T)(I+\frac{uv^T}{1-v^Tu})&=I-uv^T+\frac{uv^T-uv^Tuv^T}{1-v^Tu}\\ &=I-uv^T+\frac{uv^T-u(v^Tu)v^T}{1-v^Tu}\\ &=I\\ \end{aligned} (I−uvT)−1(I−uvT)(I+1−vTuuvT​)​=I+1−vTuuvT​=I−uvT+1−vTuuvT−uvTuvT​=I−uvT+1−vTuuvT−u(vTu)vT​=I​
当u,vu,vu,v为n∗k,k<nn*k,k<nn∗k,k<n的矩阵时(上式为k=1k=1k=1的特例)
(In−uvT)−1=In+u(Ik−vTu)−1vT(In−uvT)(In+u(Ik−vTu)−1vT)=In−uvT+(In−uvT)u(Ik−vTu)−1vT=In−uvT+(u−uvTu)(Ik−vTu)−1vT=In−uvT+u(Ik−vTu)(Ik−vTu)−1vT=In\begin{aligned} (I_n-uv^T)^{-1}&=I_n+u(I_k-v^Tu)^{-1}v^T\\ (I_n-uv^T)(I_n+u(I_k-v^Tu)^{-1}v^T)&=I_n-uv^T+(I_n-uv^T)u(I_k-v^Tu)^{-1}v^T\\ &=I_n-uv^T+(u-uv^Tu)(I_k-v^Tu)^{-1}v^T\\ &=I_n-uv^T+u(I_k-v^Tu)(I_k-v^Tu)^{-1}v^T\\ &=I_n\\ \end{aligned} (In​−uvT)−1(In​−uvT)(In​+u(Ik​−vTu)−1vT)​=In​+u(Ik​−vTu)−1vT=In​−uvT+(In​−uvT)u(Ik​−vTu)−1vT=In​−uvT+(u−uvTu)(Ik​−vTu)−1vT=In​−uvT+u(Ik​−vTu)(Ik​−vTu)−1vT=In​​
一般情况
(An∗n−Un∗kVk∗nT)−1=A−1+A−1U(Ik−VTA−1U)−1VTA−1(A_{n*n}-U_{n*k}V_{k*n}^T)^{-1}=A^{-1}+A^{-1}U(I_k-V^TA^{-1}U)^{-1}V^TA^{-1}\\ (An∗n​−Un∗k​Vk∗nT​)−1=A−1+A−1U(Ik​−VTA−1U)−1VTA−1

公式应用

一是解方程(A−uvT)x=b(A-uv^T)x=b(A−uvT)x=b

二是解决最小二乘(正规方程)中新数据点到来的问题
ATAx^=ATb一个新数据点到来,增加新的一行,正规方程变为[ATv][AvT]x^new=[ATv][bbnew](ATA+vvT)x^new=ATb+vbnewA^TA\hat{x}=A^Tb\\ 一个新数据点到来,增加新的一行,正规方程变为\\ \left[\begin{array}{cc}A^T&v\end{array}\right]\left[\begin{array}{c}A\\v^T\end{array}\right]\hat{x}_{new}=\left[\begin{array}{cc}A^T&v\end{array}\right]\left[\begin{array}{c}b\\b_{new}\end{array}\right]\\ (A^TA+vv^T)\hat{x}_{new}=A^Tb+vb_{new}\\ ATAx^=ATb一个新数据点到来,增加新的一行,正规方程变为[AT​v​][AvT​]x^new​=[AT​v​][bbnew​​](ATA+vvT)x^new​=ATb+vbnew​
上式vn∗1v_{n*1}vn∗1​,新的正规方程可视为对ATAA^TAATA增加了一个秩1的扰动

因为新的方程利用到原先的ATAA^TAATA,只需要计算一个新的秩1矩阵,所以这种最小二乘也称为递归最小二乘(recursive least squared)

当增加kkk个数据点,即vn∗kv_{n*k}vn∗k​时,视为对ATAA^TAATA增加一个秩k的扰动,使用对应公式即可。

三、

假设Aw=bAw=bAw=b已解得

求解(A−uvT)x=b(A-uv^T)x=b(A−uvT)x=b,此处u,v,wu,v,wu,v,w列向量

变为求解Az=uAz=uAz=u,z,wz,wz,w可同时求解,A[wz]=[bu]A[w\ z]=[b\ u]A[w z]=[b u]

解x=w+zvTw1−vTzx=w+\frac{zv^Tw}{1-v^Tz}x=w+1−vTzzvTw​
x=(A−uvT)−1b=(A−1+A−1u11−vTzvTA−1)b=w+z11−vTzvTw=w+zvTw1−vTz\begin{aligned} x&=(A-uv^T)^{-1}b\\ &=(A^{-1}+A^{-1}u\frac{1}{1-v^Tz}v^TA^{-1})b\\ &=w+z\frac{1}{1-v^Tz}v^Tw\\ &=w+\frac{zv^Tw}{1-v^Tz}\\ \end{aligned} x​=(A−uvT)−1b=(A−1+A−1u1−vTz1​vTA−1)b=w+z1−vTz1​vTw=w+1−vTzzvTw​​
这里结果跟教授不一样,感觉教授算错了。

Lecture 15 Matrices A(t) Depending on t,Derivative=dA/dt

A发生微小变化时,逆如何变化 dA−1dt\frac{\mathrm{d}{A^{-1}}}{\mathrm{d}{t}}dtdA−1​

假设AAA是随时间变化的矩阵A(t)A(t)A(t)
B−1−A−1=B−1(A−B)A−1B^{-1}-A^{-1}=B^{-1}(A-B)A^{-1} B−1−A−1=B−1(A−B)A−1
令B=A+ΔA,ΔB=A+\Delta{A},\DeltaB=A+ΔA,Δ表示小量变化,上式变为
ΔA−1=(A+ΔA)−1(−ΔA)A−1\Delta{A^{-1}}=(A+\Delta{A})^{-1}(-\Delta{A})A^{-1} ΔA−1=(A+ΔA)−1(−ΔA)A−1
Δ(A−1)\Delta{(A^{-1})}Δ(A−1)表示A−1A^{-1}A−1出现小量变化。两边同时除以Δt\Delta{t}Δt
ΔA−1Δt=(A+ΔA)−1−ΔAΔtA−1\frac{\Delta{A^{-1}}}{\Delta{t}}=(A+\Delta{A})^{-1}\frac{-\Delta{A}}{\Delta{t}}A^{-1} ΔtΔA−1​=(A+ΔA)−1Δt−ΔA​A−1
令Δt→0\Delta{t}\rightarrow0Δt→0,则A+ΔAA+\Delta{A}A+ΔA中可忽略ΔA\Delta{A}ΔA
d(A−1)dt=−A−1dAdtA−1\frac{\mathrm{d}{(A^{-1})}}{\mathrm{d}{t}}=-A^{-1}\frac{\mathrm{d}{A}}{\mathrm{d}{t}}A^{-1} dtd(A−1)​=−A−1dtdA​A−1
假设AAA是一个变量ttt,就是普通的微积分
d1tdt=−1tdtdt1t=−1t2\frac{\mathrm{d}{\frac{1}{t}}}{\mathrm{d}{t}}=-\frac{1}{t}\frac{\mathrm{d}{t}}{\mathrm{d}{t}}\frac{1}{t}=-\frac{1}{t^2} dtdt1​​=−t1​dtdt​t1​=−t21​

A发生微小变化时,特征值如何变化 dλdt\frac{\mathrm{d}{\lambda}}{\mathrm{d}{t}}dtdλ​

矩阵以及特征值、特征向量、转置的特征向量随时间ttt变化
A(t)x(t)=λ(t)x(t)yT(t)A(t)=λ(t)yT(t)增加约束yTx=1当A是对称矩阵时,y=x=q为单位向量不同特征值对应的A的右特征向量和左特征向量正交Ax=λ1xyTA=λ2yTyTAx=λ2yTx=yTλ1x(λ2−λ1)yTx=0yTx=0A(t)x(t)=\lambda(t)x(t)\\ y^T(t)A(t)=\lambda(t)y^T(t)\\ 增加约束y^Tx=1\\ 当A是对称矩阵时,y=x=q为单位向量\\ 不同特征值对应的A的右特征向量和左特征向量正交\\ Ax=\lambda_1x\\ y^TA=\lambda_2y^T\\ y^TAx=\lambda_2y^Tx=y^T\lambda_1x\\ (\lambda_2-\lambda_1)y^Tx=0\\ y^Tx=0 A(t)x(t)=λ(t)x(t)yT(t)A(t)=λ(t)yT(t)增加约束yTx=1当A是对称矩阵时,y=x=q为单位向量不同特征值对应的A的右特征向量和左特征向量正交Ax=λ1​xyTA=λ2​yTyTAx=λ2​yTx=yTλ1​x(λ2​−λ1​)yTx=0yTx=0
矩阵形式
AX=XΛYTA=ΛYTYTX=IAX=X\Lambda\\ Y^TA=\Lambda Y^T\\ Y^TX=I AX=XΛYTA=ΛYTYTX=I
在yTx=1y^Tx=1yTx=1的约束条件下
yT(t)A(t)x(t)=λ(t)yT(t)x(t)=λ(t)dλdt=dyTdtA(t)x(t)+yT(t)dAdtx(t)+yT(t)A(t)dxdtyTx=1dyTxdt=0dyTdtx(t)+yT(t)dxdt=0dλdt=dyTdtA(t)x(t)+yT(t)dAdtx(t)+yT(t)A(t)dxdt=dyTdtλ(t)x(t)+λ(t)yT(t)dxdt+yT(t)dAdtx(t)=λ(t)(dyTdtx(t)+yT(t)dxdt)+yT(t)dAdtx(t)=yT(t)dAdtx(t)dλdt=yT(t)dAdtx(t)y^T(t)A(t)x(t)=\lambda(t)y^T(t)x(t)=\lambda(t)\\ \frac{\mathrm{d}{\lambda}}{\mathrm{d}{t}}=\frac{\mathrm{d}{y^T}}{\mathrm{d}{t}}A(t)x(t)+y^T(t)\frac{\mathrm{d}{A}}{\mathrm{d}{t}}x(t)+y^T(t)A(t)\frac{\mathrm{d}{x}}{\mathrm{d}{t}}\\ y^Tx=1\\ \frac{\mathrm{d}{y^Tx}}{\mathrm{d}{t}}=0\\ \frac{\mathrm{d}{y^T}}{\mathrm{d}{t}}x(t)+y^T(t)\frac{\mathrm{d}{x}}{\mathrm{d}{t}}=0\\ \begin{aligned} \frac{\mathrm{d}{\lambda}}{\mathrm{d}{t}}&=\frac{\mathrm{d}{y^T}}{\mathrm{d}{t}}A(t)x(t)+y^T(t)\frac{\mathrm{d}{A}}{\mathrm{d}{t}}x(t)+y^T(t)A(t)\frac{\mathrm{d}{x}}{\mathrm{d}{t}}\\ &=\frac{\mathrm{d}{y^T}}{\mathrm{d}{t}}\lambda(t)x(t)+\lambda(t)y^T(t)\frac{\mathrm{d}{x}}{\mathrm{d}{t}}+y^T(t)\frac{\mathrm{d}{A}}{\mathrm{d}{t}}x(t)\\ &=\lambda(t)(\frac{\mathrm{d}{y^T}}{\mathrm{d}{t}}x(t)+y^T(t)\frac{\mathrm{d}{x}}{\mathrm{d}{t}})+y^T(t)\frac{\mathrm{d}{A}}{\mathrm{d}{t}}x(t)\\ &=y^T(t)\frac{\mathrm{d}{A}}{\mathrm{d}{t}}x(t)\\ \end{aligned}\\ \frac{\mathrm{d}{\lambda}}{\mathrm{d}{t}}=y^T(t)\frac{\mathrm{d}{A}}{\mathrm{d}{t}}x(t) yT(t)A(t)x(t)=λ(t)yT(t)x(t)=λ(t)dtdλ​=dtdyT​A(t)x(t)+yT(t)dtdA​x(t)+yT(t)A(t)dtdx​yTx=1dtdyTx​=0dtdyT​x(t)+yT(t)dtdx​=0dtdλ​​=dtdyT​A(t)x(t)+yT(t)dtdA​x(t)+yT(t)A(t)dtdx​=dtdyT​λ(t)x(t)+λ(t)yT(t)dtdx​+yT(t)dtdA​x(t)=λ(t)(dtdyT​x(t)+yT(t)dtdx​)+yT(t)dtdA​x(t)=yT(t)dtdA​x(t)​dtdλ​=yT(t)dtdA​x(t)

秩发生变化时,特征值变化

SSS对称矩阵,特征值γ\gammaγ,令γ1≥γ2≥⋯\gamma_1≥\gamma_2≥\cdotsγ1​≥γ2​≥⋯

uuTuu^TuuT为秩1半正定矩阵,有1个非零特征值其余全0,uuTu=(uTu)uuu^Tu=(u^Tu)uuuTu=(uTu)u,非零特征值为uTu=∣∣u∣∣22u^Tu=||u||_2^2uTu=∣∣u∣∣22​,特征向量为uuu

(S+uuT)(S+uu^T)(S+uuT)特征值为λ\lambdaλ,令λ1≥λ2≥⋯\lambda_1≥\lambda_2≥\cdotsλ1​≥λ2​≥⋯

则有λ1≥γ1≥λ2≥γ2⋯\lambda_1≥\gamma_1≥\lambda_2≥\gamma_2\cdotsλ1​≥γ1​≥λ2​≥γ2​⋯

假设Sui=γiui,uiTui=1Su_i=\gamma_iu_i,u_i^Tu_i=1Sui​=γi​ui​,uiT​ui​=1,则(S+CuiuiT)ui=(γi+C)ui,C(S+Cu_iu^T_i)u_i=(\gamma_i+C)u_i,C(S+Cui​uiT​)ui​=(γi​+C)ui​,C为常数

SnS_nSn​为n阶对称阵特征值λ\lambdaλ,Sn−1S_{n-1}Sn−1​为SnS_nSn​删掉最后一行和一列,特征值μ\muμ,λ1≥μ1≥λ2≥μ2⋯\lambda_1≥\mu_1≥\lambda_2≥\mu_2\cdotsλ1​≥μ1​≥λ2​≥μ2​⋯

Lecture 16 Derivatives of Inverse and Singular Values

A发生微小变化时,A2A^2A2如何变化 d(A2)dt\frac{\mathrm{d}{(A^2)}}{\mathrm{d}{t}}dtd(A2)​

(A+ΔA)2−A2Δt=A(ΔA)+(ΔA)A+(ΔA)2Δtlim⁡t→0(A+ΔA)2−A2Δt=AdAdt+dAdtAd(A2)dt=AdAdt+dAdtA\begin{aligned} \frac{(A+\Delta{A})^2-A^2}{\Delta{t}}&=\frac{A(\Delta{A})+(\Delta{A})A+(\Delta{A})^2}{\Delta{t}}\\ \lim_{t\rightarrow0}\frac{(A+\Delta{A})^2-A^2}{\Delta{t}}&=A\frac{\mathrm{d}{A}}{\mathrm{d}{t}}+\frac{\mathrm{d}{A}}{\mathrm{d}{t}}A\\ \frac{\mathrm{d}{(A^2)}}{\mathrm{d}{t}}&=A\frac{\mathrm{d}{A}}{\mathrm{d}{t}}+\frac{\mathrm{d}{A}}{\mathrm{d}{t}}A\\ \end{aligned}\\ Δt(A+ΔA)2−A2​t→0lim​Δt(A+ΔA)2−A2​dtd(A2)​​=ΔtA(ΔA)+(ΔA)A+(ΔA)2​=AdtdA​+dtdA​A=AdtdA​+dtdA​A​

A发生微小变化时,奇异值如何变化 dσdt\frac{\mathrm{d}{\sigma}}{\mathrm{d}{t}}dtdσ​

将u,vu,vu,v均选作单位向量。假设uT(t)=(a1(t),a2(t)),d(uTu)dt=duTdtu+uTdudt=da1dta1+da2dta2+a1da1dt+a2da2dt=2(da1dta1+da2dta2)=2duTdtu=0u^T(t)=(a_1(t),a_2(t)),\frac{\mathrm{d}{(u^Tu)}}{\mathrm{d}{t}}=\frac{\mathrm{d}{u^T}}{\mathrm{d}{t}}u+u^T\frac{\mathrm{d}{u}}{\mathrm{d}{t}}=\frac{\mathrm{d}{a_1}}{\mathrm{d}{t}}a_1+\frac{\mathrm{d}{a_2}}{\mathrm{d}{t}}a_2+a_1\frac{\mathrm{d}{a_1}}{\mathrm{d}{t}}+a_2\frac{\mathrm{d}{a_2}}{\mathrm{d}{t}}=2(\frac{\mathrm{d}{a_1}}{\mathrm{d}{t}}a_1+\frac{\mathrm{d}{a_2}}{\mathrm{d}{t}}a_2)=2\frac{\mathrm{d}{u^T}}{\mathrm{d}{t}}u=0uT(t)=(a1​(t),a2​(t)),dtd(uTu)​=dtduT​u+uTdtdu​=dtda1​​a1​+dtda2​​a2​+a1​dtda1​​+a2​dtda2​​=2(dtda1​​a1​+dtda2​​a2​)=2dtduT​u=0
A=UΣVTAT=VΣUTATU=VΣAT(t)u(t)=σ(t)v(t)uT(t)A(t)=σ(t)vT(t)A(t)v(t)=σ(t)u(t)uT(t)A(t)v(t)=σ(t)uT(t)u(t)σ(t)=uT(t)A(t)v(t)dσdt=duTdtAv+uTdAdtv+uTAdvdt=σduTdtu+σvTdvdt+uTdAdtv=0+0+uTdAdtvdσdt=uTdAdtv\begin{aligned} A&=U\Sigma V^T\\ A^T&=V\Sigma U^T\\ A^TU&=V\Sigma\\ A^T(t)u(t)&=\sigma(t)v(t)\\ u^T(t)A(t)&=\sigma(t)v^T(t)\\ A(t)v(t)&=\sigma(t)u(t)\\ u^T(t)A(t)v(t)&=\sigma(t)u^T(t)u(t)\\ \sigma(t)&=u^T(t)A(t)v(t)\\ \frac{\mathrm{d}{\sigma}}{\mathrm{d}{t}}&=\frac{\mathrm{d}{u^T}}{\mathrm{d}{t}}Av+u^T\frac{\mathrm{d}{A}}{\mathrm{d}{t}}v+u^TA\frac{\mathrm{d}{v}}{\mathrm{d}{t}}\\ &=\sigma \frac{\mathrm{d}{u^T}}{\mathrm{d}{t}}u+\sigma v^T\frac{\mathrm{d}{v}}{\mathrm{d}{t}}+u^T\frac{\mathrm{d}{A}}{\mathrm{d}{t}}v\\ &=0+0+u^T\frac{\mathrm{d}{A}}{\mathrm{d}{t}}v\\ \frac{\mathrm{d}{\sigma}}{\mathrm{d}{t}}&=u^T\frac{\mathrm{d}{A}}{\mathrm{d}{t}}v\\ \end{aligned}\\ AATATUAT(t)u(t)uT(t)A(t)A(t)v(t)uT(t)A(t)v(t)σ(t)dtdσ​dtdσ​​=UΣVT=VΣUT=VΣ=σ(t)v(t)=σ(t)vT(t)=σ(t)u(t)=σ(t)uT(t)u(t)=uT(t)A(t)v(t)=dtduT​Av+uTdtdA​v+uTAdtdv​=σdtduT​u+σvTdtdv​+uTdtdA​v=0+0+uTdtdA​v=uTdtdA​v​
uuu称为左奇异向量,vvv右奇异向量
yTx=xTy(dudt)T=d(uT)dt所以duTdtu=uTdudt=0y^Tx=x^Ty\\ (\frac{\mathrm{d}{u}}{\mathrm{d}{t}})^T=\frac{\mathrm{d}{(u^T)}}{\mathrm{d}{t}}\\ 所以\frac{\mathrm{d}{u^T}}{\mathrm{d}{t}}u=u^T\frac{\mathrm{d}{u}}{\mathrm{d}{t}}=0\\ yTx=xTy(dtdu​)T=dtd(uT)​所以dtduT​u=uTdtdu​=0

特征值的交错

对称矩阵SSS有特征值λ1≥λ2≥⋯,u\lambda_1≥\lambda_2≥\cdots,uλ1​≥λ2​≥⋯,u列向量

S+θuuT,θ>0S+\theta uu^T,\theta>0S+θuuT,θ>0有特征值μ1≥μ2≥⋯\mu_1≥\mu_2≥\cdotsμ1​≥μ2​≥⋯,则μ1≥λ1≥μ2≥λ2≥⋯\mu_1≥\lambda_1≥\mu_2≥\lambda_2≥\cdotsμ1​≥λ1​≥μ2​≥λ2​≥⋯

λ2\lambda_2λ2​增大后不一定是μ2\mu_2μ2​,例如Su=λ2u,(S+θuuT)u=(λ2+θ)uSu=\lambda_2u,(S+\theta uu^T)u=(\lambda_2+\theta)uSu=λ2​u,(S+θuuT)u=(λ2​+θ)u,当θ\thetaθ足够大,λ2+θ≥λ1\lambda_2+\theta≥\lambda_1λ2​+θ≥λ1​时,它应该是μ1\mu_1μ1​而不是μ2\mu_2μ2​

Weyl’s inequality

S,TS,TS,T对称阵,特征值从大到小排列,则
λi+j−1(S+T)≤λi(S)+λj(T)\lambda_{i+j-1}(S+T)≤\lambda_i(S)+\lambda_j(T) λi+j−1​(S+T)≤λi​(S)+λj​(T)
取j=1,λi(S+T)≤λi(S)+λmax(T)j=1,\lambda_i(S+T)≤\lambda_i(S)+\lambda_{max}(T)j=1,λi​(S+T)≤λi​(S)+λmax​(T)

令T=θuuTT=\theta uu^TT=θuuT,得到λ1(T)=θ\lambda_1(T)=\thetaλ1​(T)=θ,其余特征值为000,令j=1j=1j=1,得到λi(S+T)≤λi(S)+θ,μ1≤λ1+θ\lambda_i(S+T)≤\lambda_i(S)+\theta,\mu_1≤\lambda_1+\thetaλi​(S+T)≤λi​(S)+θ,μ1​≤λ1​+θ

对奇异值也适用
σi+j−1(A+B)≤σi(A)+σj(B)\sigma_{i+j-1}(A+B)≤\sigma_i(A)+\sigma_j(B) σi+j−1​(A+B)≤σi​(A)+σj​(B)

一些关于压缩感知(compressed sensing)

矩阵的nuclear norm

∣∣A∣∣N=∑σi||A||_N=\sum{\sigma_i}∣∣A∣∣N​=∑σi​

类似的,向量的L1范数∣∣v∣∣1=∑∣vi∣||v||_1=\sum{|v_i|}∣∣v∣∣1​=∑∣vi​∣

在最小化问题中,加上L1范数最小化的约束,可以得到稀疏解,即每个元素的绝对值都尽量接近0

一个不完整的矩阵,将其补完,一个想法是增加∣∣A∣∣N||A||_N∣∣A∣∣N​最小化的约束

L1范数由L0范数得来(实际上不是范数,因为不满足∣∣cv∣∣0=∣c∣∣∣v∣∣0||cv||_0=|c|||v||_0∣∣cv∣∣0​=∣c∣∣∣v∣∣0​),L0范数表述向量非零元素的个数,L1范数是最接近L0的范数

推至矩阵,跟∣∣A∣∣N||A||_N∣∣A∣∣N​最接近的是A的秩,即非零的奇异值的个数。

在深度学习中,猜测加上∣∣A∣∣N||A||_N∣∣A∣∣N​最小化的约束,得到的梯度下降的答案是最优的,但是没有被证明。

Lecture 17 Rapidly Decreasing Singular Values

为什么世界上有那么多低秩矩阵

定义

一张n∗nn*nn∗n的图XXX,如果逐个元素发送,需要发送n2n^2n2次,将其SVD分解成kkk个秩1矩阵的和,每次发送构成秩1矩阵的一列一行共2n2n2n个元素,发送kkk次,则一共需要发送2kn2kn2kn次

当2kn<n2⇒k<n/22kn<n^2\Rightarrow k<n/22kn<n2⇒k<n/2时称矩阵XXX为低秩矩阵,这是严格定义。通常讨论的低秩矩阵认为k≪n/2k\ll n/2k≪n/2

Numerical rank

对0<ϵ<10<\epsilon<10<ϵ<1,矩阵的numerical rank rankϵ(X)=krank_\epsilon(X)=krankϵ​(X)=k,使得σk+1(X)≤ϵσ1(X),σk>ϵσ1(X)\sigma_{k+1}(X)≤\epsilon\sigma_1(X),\sigma_k>\epsilon\sigma_1(X)σk+1​(X)≤ϵσ1​(X),σk​>ϵσ1​(X)

显然,rank0(X)=rank(X)rank_0(X)=rank(X)rank0​(X)=rank(X)

Eckart-Young:X=UΣVT=∑σiuiviTX=U\Sigma V^T=\sum{\sigma_iu_iv_i^T}X=UΣVT=∑σi​ui​viT​,最接近XXX的秩k矩阵XkX_kXk​为前k项的和,则他们的差异可以用奇异值近似,σk+1(X)=∣∣X−Xk∣∣2\sigma_{k+1}(X)=||X-X_k||_2σk+1​(X)=∣∣X−Xk​∣∣2​

Eckart-Young的表达式要结合上文看。给定ϵ\epsilonϵ,则决定numerical rank,rankϵ(X)=krank_\epsilon(X)=krankϵ​(X)=k,则最接近XXX的秩k矩阵Xk=∑i=1kσiuiviTX_k=\sum_{i=1}^{k}{\sigma_iu_iv_i^T}Xk​=∑i=1k​σi​ui​viT​,差异用σk+1\sigma_{k+1}σk+1​近似(其实就是在ϵ\epsilonϵ满足numerical rank的不等式的情况下忽略σk+2\sigma_{k+2}σk+2​和后续项),计算机将认为XXX和XkX_kXk​是一样的。

有很多满秩矩阵,奇异值下降非常快,在numerical rank的条件下它们都是低秩的,比如Hilbert Matrix,Hjk=1j+k−1H_{jk}=\frac{1}{j+k-1}Hjk​=j+k−11​

上述技术应用于压缩,用合适的ϵ\epsilonϵ和kkk可以控制误差范围。

Vandermonde矩阵V=[1x1⋯x1n−1⋮⋮⋮1xnxnn−1],xiV=\left[\begin{array}{cccc}1&x_1&\cdots&x_1^{n-1}\\\vdots&\vdots&&\vdots\\1&x_n&&x_n^{n-1}\end{array}\right],x_iV=⎣⎢⎡​1⋮1​x1​⋮xn​​⋯​x1n−1​⋮xnn−1​​⎦⎥⎤​,xi​为实数,通常出现在多项式插值中,它是满秩但是numerical rank低秩矩阵,这时候低秩是不好的,求逆非常困难。

世界是平滑(smooth)的

Reade认为世界上有那么多低秩矩阵的原因是世界是平滑的(意思应该是很多矩阵是从平滑函数采样而来)

例如多项式P(j,k)=1+j+jk,Xjk=P(j,k)P(j,k)=1+j+jk,X_{jk}=P(j,k)P(j,k)=1+j+jk,Xjk​=P(j,k),那么XXX在ϵ=0\epsilon=0ϵ=0的时候已经是低秩矩阵,rank(Xn∗n)≤3rank(X_{n*n})≤3rank(Xn∗n​)≤3
X=[11⋯111⋯1⋮⋮⋮11⋯1](全1矩阵,对应多项式的1)+[11⋯122⋯2⋮⋮⋮nn⋯n](对应多项式的j)+[12⋯n24⋯2n⋮⋮⋮n2n⋯n2](对应多项式的jk)X=\left[\begin{array}{cccc}1&1&\cdots&1\\1&1&\cdots&1\\\vdots&\vdots&&\vdots\\1&1&\cdots&1\end{array}\right](全1矩阵,对应多项式的1) +\left[\begin{array}{cccc}1&1&\cdots&1\\2&2&\cdots&2\\\vdots&\vdots&&\vdots\\n&n&\cdots&n\end{array}\right](对应多项式的j) +\left[\begin{array}{cccc}1&2&\cdots&n\\2&4&\cdots&2n\\\vdots&\vdots&&\vdots\\n&2n&\cdots&n^2\end{array}\right](对应多项式的jk) X=⎣⎢⎢⎢⎡​11⋮1​11⋮1​⋯⋯⋯​11⋮1​⎦⎥⎥⎥⎤​(全1矩阵,对应多项式的1)+⎣⎢⎢⎢⎡​12⋮n​12⋮n​⋯⋯⋯​12⋮n​⎦⎥⎥⎥⎤​(对应多项式的j)+⎣⎢⎢⎢⎡​12⋮n​24⋮2n​⋯⋯⋯​n2n⋮n2​⎦⎥⎥⎥⎤​(对应多项式的jk)
三个矩阵秩全为1,因此rank(X)≤3rank(X)\le3rank(X)≤3

通常
P(x,y)=∑s=0m−1∑t=0m−1astxsyt,Xjk=P(j,k),rank(X)≤m2P(x,y)=\sum_{s=0}^{m-1}\sum_{t=0}^{m-1}a_{st}x^sy^t,X_{jk}=P(j,k),rank(X)\le m^2 P(x,y)=s=0∑m−1​t=0∑m−1​ast​xsyt,Xjk​=P(j,k),rank(X)≤m2
对于一般从平滑函数而不是多项式采样的矩阵,例如Hilbert Matrix Hjk=1j+k−1H_{jk}=\frac{1}{j+k-1}Hjk​=j+k−11​,对应的函数f(x,y)=1x+y−1f(x,y)=\frac{1}{x+y-1}f(x,y)=x+y−11​

寻找PPP,近似于fff,使得∣f(x,y)−P(x,y)∣≤ϵn∣∣X∣∣2|f(x,y)-P(x,y)|\le \frac{\epsilon}{n}||X||_2∣f(x,y)−P(x,y)∣≤nϵ​∣∣X∣∣2​(这里nnn应该是XXX为n∗nn*nn∗n矩阵)

从PPP采样,得到矩阵YYY,Yjk=P(j,k)Y_{jk}=P(j,k)Yjk​=P(j,k),则YYY近似于X,∣∣X−Y∣∣2≤ϵ∣∣X∣∣2X,||X-Y||_2\le\epsilon||X||_2X,∣∣X−Y∣∣2​≤ϵ∣∣X∣∣2​

(记了个寂寞)然而对于Hilbert矩阵效果不是很好,rank(H1000=1000)rank(H_{1000}=1000)rank(H1000​=1000),对于ϵ=10−15,rankϵ(H)=28\epsilon=10^{-15},rank_\epsilon(H)=28ϵ=10−15,rankϵ​(H)=28,但是用Reade的方法得到近似的矩阵秩≤719

世界是Sylvester的

意思是大多数矩阵满足Sylvester方程,即AX−XB=C,XAX-XB=C,XAX−XB=C,X是考察的矩阵。对于一个XXX,想要证明它是numerical low rank的,A,B,CA,B,CA,B,C通常比较难找。

对于Hilbert Matrix
[1/23/2⋱n−1/2]H−H[−1/2−3/2⋱−n+1/2]=[1⋯1⋮⋱⋮1⋯1]\left[\begin{array}{cccc} 1/2\\ &3/2\\ &&\ddots\\ &&&n-1/2 \end{array}\right]H-H \left[\begin{array}{cccc} -1/2\\ &-3/2\\ &&\ddots\\ &&&-n+1/2 \end{array}\right]= \left[\begin{array}{ccc} 1&\cdots&1\\ \vdots&\ddots&\vdots\\ 1&\cdots&1 \end{array}\right] ⎣⎢⎢⎡​1/2​3/2​⋱​n−1/2​⎦⎥⎥⎤​H−H⎣⎢⎢⎡​−1/2​−3/2​⋱​−n+1/2​⎦⎥⎥⎤​=⎣⎢⎡​1⋮1​⋯⋱⋯​1⋮1​⎦⎥⎤​
定理:如果XXX满足AX−XB=CAX-XB=CAX−XB=C且A,BA,BA,B是正规矩阵(normal matrix),那么σrk+1(X)≤Zk(E,F)σ1(X),r=rank(C)\sigma_{rk+1}(X)\le Z_k(E,F)\sigma_1(X),r=rank(C)σrk+1​(X)≤Zk​(E,F)σ1​(X),r=rank(C)

正规矩阵指方阵AAH=AHAAA^H=A^HAAAH=AHA,对于实矩阵,AAT=ATAAA^T=A^TAAAT=ATA

ZZZ是Zolotarev数,EEE是包含AAA的特征值的集合,FFF是包含BBB的特征值的集合

关键点在于E,FE,FE,F不相交,当它们不相交时,ZkZ_kZk​随着kkk增加减小得非常快。对于Hilbert Matrix,正是这一点使得它是numerical rank 低秩,此时r=1r=1r=1,在kkk非常小时,ZZZ就已经非常小,因此大多数σ\sigmaσ都可以忽略。

用这种方法,Hilbert矩阵得到的k=34k=34k=34,即nume rank是34,而不是28,但也比719要更接近28得多。

Lecture 18 Counting Parameters in SVD,LU,QR,Saddle Points

各个分解的自由参数

对于满秩的方阵,有n∗nn*nn∗n个元素,即n2n^2n2个自由参数

LU

L是下三角阵,对角元为1,因此有12(1+n)n−n\frac{1}{2}(1+n)n-n21​(1+n)n−n个自由参数,U是上三角阵,没有限制,有12(1+n)n\frac{1}{2}(1+n)n21​(1+n)n个自由参数,加起来为n2n^2n2

QR

Q的第一列有nnn个元素,但因为它是单位向量,所以自由参数有n−1n-1n−1个(当前n−1n-1n−1个元素决定,最后一个元素也决定了)。第二列在n−1n-1n−1的基础上,还要求与第一列内积为0,因此少一个自由参数(最后一项内积被其他项决定),为n−2n-2n−2。依此类推,Q有12(n−1)n\frac{1}{2}(n-1)n21​(n−1)n个自由参数

R是上三角阵,没有特殊限制,有12(n+1)n\frac{1}{2}(n+1)n21​(n+1)n个自由参数。与Q相加为n2n^2n2

XΛX−1X\Lambda X^{-1}XΛX−1

Λ\LambdaΛ显然有nnn个自由参数

XXX可令每一列为单位向量,或手动限制每一列第一个元素为1,有(n−1)n(n-1)n(n−1)n个。X−1X^{-1}X−1由XXX决定,0个。加起来n2n^2n2

QΛQTQ\Lambda Q^TQΛQT

如果是对称矩阵,则不是n2n^2n2

QQQ有12(n−1)n\frac{1}{2}(n-1)n21​(n−1)n个,Λ\LambdaΛ有nnn个,加起来12(n+1)n\frac{1}{2}(n+1)n21​(n+1)n

QS

[polar decomposition](#polar decomposition),QQQ有12(n−1)n\frac{1}{2}(n-1)n21​(n−1)n个,SSS有12(n+1)n\frac{1}{2}(n+1)n21​(n+1)n个,加起来n2n^2n2

SVD

假设Am∗n,m<n,r=mA_{m*n},m<n,r=mAm∗n​,m<n,r=m,则A=Um∗mΣm∗nVn∗nTA=U_{m*m}\Sigma_{m*n}V_{n*n}^TA=Um∗m​Σm∗n​Vn∗nT​

UUU为正交阵,有12(m−1)m\frac{1}{2}(m-1)m21​(m−1)m个,Σ\SigmaΣ有mmm个,VVV中有效的列仅仅有mmm个,其他实际上可没有限制,所以有(n−1)+(n−2)+⋯+(n−m)=mn−12(m+1)m(n-1)+(n-2)+\cdots+(n-m)=mn-\frac{1}{2}(m+1)m(n−1)+(n−2)+⋯+(n−m)=mn−21​(m+1)m个,加起来为mnmnmn

假设rank(A)=rrank(A)=rrank(A)=r,则SVD可以写成A=Um∗rΣr∗rVr∗nTA=U_{m*r}\Sigma_{r*r}V_{r*n}^TA=Um∗r​Σr∗r​Vr∗nT​

UUU的限制是各列为单位正交向量,有(m−1)+(m−2)+⋯+(m−r)=mr−12(r+1)r(m-1)+(m-2)+\cdots+(m-r)=mr-\frac{1}{2}(r+1)r(m−1)+(m−2)+⋯+(m−r)=mr−21​(r+1)r个,Σ\SigmaΣ有rrr个,VVV有(n−1)+(n−2)+⋯+(n−r)=nr−12(r+1)r(n-1)+(n-2)+\cdots+(n-r)=nr-\frac{1}{2}(r+1)r(n−1)+(n−2)+⋯+(n−r)=nr−21​(r+1)r个,加起来为mr+nr−r2mr+nr-r^2mr+nr−r2个

向量和矩阵的求导

可参考https://www.bilibili.com/video/BV1xk4y1B7RQ/?p=4

工具书The Matrix Cookbook

y=f(x)y=f(x)y=f(x),不管y,xy,xy,x是标量还是向量,本质是yyy的逐项对xxx的逐项进行求导

以下采用分母布局,即求导结果写成xxx纵向展开,yyy横向展开的形式,即[∂f1(x)/∂x1∂f2(x)/∂x1⋯∂fn(x)/∂x1∂f1(x)/∂x2⋮∂f1(x)/∂xn]\left[\begin{array}{cccc}\partial{f_1(x)}/\partial{x_1}&\partial{f_2(x)}/\partial{x_1}&\cdots&\partial{f_n(x)}/\partial{x_1}\\\partial{f_1(x)}/\partial{x_2}\\\vdots\\\partial{f_1(x)}/\partial{x_n}\end{array}\right]⎣⎢⎢⎢⎡​∂f1​(x)/∂x1​∂f1​(x)/∂x2​⋮∂f1​(x)/∂xn​​∂f2​(x)/∂x1​⋯∂fn​(x)/∂x1​⎦⎥⎥⎥⎤​

y=aTx=xTa,aT=[a1⋯an]y=a^Tx=x^Ta,a^T=[a_1\ \cdots\ a_n]y=aTx=xTa,aT=[a1​ ⋯ an​]
dy/dx=[∂y/∂x1∂y/∂x2⋮∂y/∂xn]=[a1a2⋮an]=a\mathrm{d}y/\mathrm{d}x= \left[\begin{array}{c}\partial{y}/\partial{x_1}\\\partial{y}/\partial{x_2}\\\vdots\\\partial{y}/\partial{x_n}\end{array}\right] =\left[\begin{array}{c}a_1\\a_2\\\vdots\\a_n\end{array}\right] =a dy/dx=⎣⎢⎢⎢⎡​∂y/∂x1​∂y/∂x2​⋮∂y/∂xn​​⎦⎥⎥⎥⎤​=⎣⎢⎢⎢⎡​a1​a2​⋮an​​⎦⎥⎥⎥⎤​=a
yn∗1=An∗nxn∗1,A=[a11⋯a1n⋮an1⋯ann]y_{n*1}=A_{n*n}x_{n*1},A=\left[\begin{array}{ccc}a_{11}&\cdots&a_{1n}\\\vdots\\a_{n1}&\cdots&a_{nn}\end{array}\right]yn∗1​=An∗n​xn∗1​,A=⎣⎢⎡​a11​⋮an1​​⋯⋯​a1n​ann​​⎦⎥⎤​
y=[f1(x)=∑j=1na1jxjf2(x)=∑j=1na2jxj⋮fn(x)=∑j=1nanjxj]dydx=[a11a21⋯an1a12a22⋯an2⋮a1na2n⋯ann]=ATy=\left[\begin{array}{c} f_1(x)=\sum_{j=1}^{n}{a_{1j}x_j}\\ f_2(x)=\sum_{j=1}^{n}{a_{2j}x_j}\\ \vdots\\ f_n(x)=\sum_{j=1}^{n}{a_{nj}x_j} \end{array}\right]\\ \frac{\mathrm{d}y}{\mathrm{d}x}= \left[\begin{array}{cccc} a_{11}&a_{21}&\cdots&a_{n1}\\ a_{12}&a_{22}&\cdots&a_{n2}\\ \vdots\\ a_{1n}&a_{2n}&\cdots&a_{nn} \end{array}\right]=A^T y=⎣⎢⎢⎢⎡​f1​(x)=∑j=1n​a1j​xj​f2​(x)=∑j=1n​a2j​xj​⋮fn​(x)=∑j=1n​anj​xj​​⎦⎥⎥⎥⎤​dxdy​=⎣⎢⎢⎢⎡​a11​a12​⋮a1n​​a21​a22​a2n​​⋯⋯⋯​an1​an2​ann​​⎦⎥⎥⎥⎤​=AT
y=xTAxy=x^TAxy=xTAx
y1∗1=x1∗nTAn∗nxn∗1=[x1x2⋯xn][x1[a11a21⋮an1]+x2[a12a22⋮an2]+⋯+xn[a1na2n⋮ann]]y=∑i=1n∑j=1naijxixjdydx=[∂∑i=1n∑j=1naijxixj∂x1∂∑i=1n∑j=1naijxixj∂x2⋮∂∑i=1n∑j=1naijxixj∂xn]=[∑j=1na1jxj+∑i=1nai1xi⋮∑j=1nanjxj+∑i=1nainxi]=[a11a12⋯a1n⋮an1an2⋯ann][x1⋮xn]+[a11a21⋯an1⋮a1na2n⋯ann][x1⋮xn]=Ax+ATx=(A+AT)xy_{1*1}=x^T_{1*n}A_{n*n}x_{n*1}= \left[\begin{array}{cccc}x_1&x_2&\cdots&x_n\end{array}\right] [x_1\left[\begin{array}{c}a_{11}\\a_{21}\\\vdots\\a_{n1}\end{array}\right]+x_2\left[\begin{array}{c}a_{12}\\a_{22}\\\vdots\\a_{n2}\end{array}\right]+\cdots+x_n\left[\begin{array}{c}a_{1n}\\a_{2n}\\\vdots\\a_{nn}\end{array}\right]]\\ y=\sum_{i=1}^{n}{\sum_{j=1}^{n}{a_{ij}x_ix_j}}\\ \frac{\mathrm{d}y}{\mathrm{d}x}=\left[\begin{array}{c} \frac{\partial{\sum_{i=1}^{n}{\sum_{j=1}^{n}{a_{ij}x_ix_j}}}}{\partial{x_1}}\\ \frac{\partial{\sum_{i=1}^{n}{\sum_{j=1}^{n}{a_{ij}x_ix_j}}}}{\partial{x_2}}\\ \vdots\\ \frac{\partial{\sum_{i=1}^{n}{\sum_{j=1}^{n}{a_{ij}x_ix_j}}}}{\partial{x_n}} \end{array}\right]\\ =\left[\begin{array}{c} \sum_{j=1}^{n}{a_{1j}x_j}+\sum_{i=1}^{n}{a_{i1}x_i}\\ \vdots\\ \sum_{j=1}^{n}{a_{nj}x_j}+\sum_{i=1}^{n}{a_{in}x_i} \end{array}\right]\\ =\left[\begin{array}{cccc} a_{11}&a_{12}&\cdots&a_{1n}\\ \vdots\\ a_{n1}&a_{n2}&\cdots&a_{nn} \end{array}\right] \left[\begin{array}{c}x_1\\\vdots\\x_n\end{array}\right]+ \left[\begin{array}{cccc} a_{11}&a_{21}&\cdots&a_{n1}\\ \vdots\\ a_{1n}&a_{2n}&\cdots&a_{nn} \end{array}\right] \left[\begin{array}{c}x_1\\\vdots\\x_n\end{array}\right]\\ =Ax+A^Tx\\ =(A+A^T)x y1∗1​=x1∗nT​An∗n​xn∗1​=[x1​​x2​​⋯​xn​​][x1​⎣⎢⎢⎢⎡​a11​a21​⋮an1​​⎦⎥⎥⎥⎤​+x2​⎣⎢⎢⎢⎡​a12​a22​⋮an2​​⎦⎥⎥⎥⎤​+⋯+xn​⎣⎢⎢⎢⎡​a1n​a2n​⋮ann​​⎦⎥⎥⎥⎤​]y=i=1∑n​j=1∑n​aij​xi​xj​dxdy​=⎣⎢⎢⎢⎢⎢⎡​∂x1​∂∑i=1n​∑j=1n​aij​xi​xj​​∂x2​∂∑i=1n​∑j=1n​aij​xi​xj​​⋮∂xn​∂∑i=1n​∑j=1n​aij​xi​xj​​​⎦⎥⎥⎥⎥⎥⎤​=⎣⎢⎡​∑j=1n​a1j​xj​+∑i=1n​ai1​xi​⋮∑j=1n​anj​xj​+∑i=1n​ain​xi​​⎦⎥⎤​=⎣⎢⎡​a11​⋮an1​​a12​an2​​⋯⋯​a1n​ann​​⎦⎥⎤​⎣⎢⎡​x1​⋮xn​​⎦⎥⎤​+⎣⎢⎡​a11​⋮a1n​​a21​a2n​​⋯⋯​an1​ann​​⎦⎥⎤​⎣⎢⎡​x1​⋮xn​​⎦⎥⎤​=Ax+ATx=(A+AT)x
矩阵Am∗nA_{m*n}Am∗n​对矩阵Bp∗lB_{p*l}Bp∗l​求导,有m∗n∗p∗lm*n*p*lm∗n∗p∗l项元素,有4维,写不下,但是本质是一样的

矩阵求导的乘法公式
dUTVdx=dVTUdx=∂U∂xV+∂V∂xUUn∗1=[u1(x)u2(x)⋮un(x)],Vn∗1=[v1(x)v2(x)⋮vn(x)],x=[x1x2⋮xn]UTV=∑i=1nui(x)vi(x)dUTVdx=dVTUdx=[∂∑i=1nui(x)vi(x)∂x1⋮∂∑i=1nui(x)vi(x)∂xn]考察其中一项∂ui(x)vi(x)∂xj=∂ui(x)∂xjvi(x)+∂vi(x)∂xjui(x)(函数的求导法则)∂∑i=1nui(x)vi(x)∂xj=∑i=1n∂ui(x)∂xjvi(x)+∑i=1n∂vi(x)∂xjui(x)=∂U∂xjV+∂V∂xjU(U视为y,横向展开,因此偏导得到行向量,结果仍然是一个数)dUTVdx=[∂U∂x1V∂U∂x2V⋮∂U∂xnV]+[∂V∂x1U∂V∂x2U⋮∂V∂xnU]=∂U∂xV+∂V∂xU\frac{\mathrm{d}{U^TV}}{\mathrm{d}{x}}=\frac{\mathrm{d}{V^TU}}{\mathrm{d}{x}}=\frac{\partial{U}}{\partial{x}}V+\frac{\partial{V}}{\partial{x}}U\\ U_{n*1}=\left[\begin{array}{c}u_1(x)\\u_2(x)\\\vdots\\u_n(x)\end{array}\right], V_{n*1}=\left[\begin{array}{c}v_1(x)\\v_2(x)\\\vdots\\v_n(x)\end{array}\right], x=\left[\begin{array}{c}x_1\\x_2\\\vdots\\x_n\end{array}\right]\\ U^TV=\sum_{i=1}^{n}{u_i(x)v_i(x)}\\ \frac{\mathrm{d}{U^TV}}{\mathrm{d}{x}}=\frac{\mathrm{d}{V^TU}}{\mathrm{d}{x}}= \left[\begin{array}{c} \frac{\partial{\sum_{i=1}^{n}{u_i(x)v_i(x)}}}{\partial{x_1}}\\ \vdots\\ \frac{\partial{\sum_{i=1}^{n}{u_i(x)v_i(x)}}}{\partial{x_n}} \end{array}\right]\\ 考察其中一项\\ \frac{\partial{u_i(x)v_i(x)}}{\partial{x_j}}=\frac{\partial{u_i(x)}}{\partial{x_j}}v_i(x)+\frac{\partial{v_i(x)}}{\partial{x_j}}u_i(x)(函数的求导法则)\\ \frac{\partial{\sum_{i=1}^{n}{u_i(x)v_i(x)}}}{\partial{x_j}}=\sum_{i=1}^{n}{\frac{\partial{u_i(x)}}{\partial{x_j}}v_i(x)}+\sum_{i=1}^{n}{\frac{\partial{v_i(x)}}{\partial{x_j}}u_i(x)}\\ =\frac{\partial{U}}{\partial{x_j}}V+\frac{\partial{V}}{\partial{x_j}}U(U视为y,横向展开,因此偏导得到行向量,结果仍然是一个数)\\ \frac{\mathrm{d}{U^TV}}{\mathrm{d}{x}}=\left[\begin{array}{c} \frac{\partial{U}}{\partial{x_1}}V\\ \frac{\partial{U}}{\partial{x_2}}V\\ \vdots\\ \frac{\partial{U}}{\partial{x_n}}V \end{array}\right]+ \left[\begin{array}{c} \frac{\partial{V}}{\partial{x_1}}U\\ \frac{\partial{V}}{\partial{x_2}}U\\ \vdots\\ \frac{\partial{V}}{\partial{x_n}}U \end{array}\right]\\ =\frac{\partial{U}}{\partial{x}}V+\frac{\partial{V}}{\partial{x}}U dxdUTV​=dxdVTU​=∂x∂U​V+∂x∂V​UUn∗1​=⎣⎢⎢⎢⎡​u1​(x)u2​(x)⋮un​(x)​⎦⎥⎥⎥⎤​,Vn∗1​=⎣⎢⎢⎢⎡​v1​(x)v2​(x)⋮vn​(x)​⎦⎥⎥⎥⎤​,x=⎣⎢⎢⎢⎡​x1​x2​⋮xn​​⎦⎥⎥⎥⎤​UTV=i=1∑n​ui​(x)vi​(x)dxdUTV​=dxdVTU​=⎣⎢⎢⎡​∂x1​∂∑i=1n​ui​(x)vi​(x)​⋮∂xn​∂∑i=1n​ui​(x)vi​(x)​​⎦⎥⎥⎤​考察其中一项∂xj​∂ui​(x)vi​(x)​=∂xj​∂ui​(x)​vi​(x)+∂xj​∂vi​(x)​ui​(x)(函数的求导法则)∂xj​∂∑i=1n​ui​(x)vi​(x)​=i=1∑n​∂xj​∂ui​(x)​vi​(x)+i=1∑n​∂xj​∂vi​(x)​ui​(x)=∂xj​∂U​V+∂xj​∂V​U(U视为y,横向展开,因此偏导得到行向量,结果仍然是一个数)dxdUTV​=⎣⎢⎢⎢⎡​∂x1​∂U​V∂x2​∂U​V⋮∂xn​∂U​V​⎦⎥⎥⎥⎤​+⎣⎢⎢⎢⎡​∂x1​∂V​U∂x2​∂V​U⋮∂xn​∂V​U​⎦⎥⎥⎥⎤​=∂x∂U​V+∂x∂V​U

Saddle points from constraints/from xTSxxTx\frac{x^TSx}{x^Tx}xTxxTSx​

解最优化问题min⁡Ax=b12xTSxAm∗n,xn∗1,bm∗1,S对称正定引入拉格朗日算子L(x,λm∗1)=12xTSx±(正负无所谓,这里取正)λT(Ax−b)即L(x,λ)=12xTSx+λT(Ax−b)求导得到鞍点∂L∂x=Sx+ATλ=0∂L∂λ=Ax−b=0即求解[SATA0][xλ]=[0b]左边矩阵称为KKT矩阵做块消元[SATA0]→[SAT0−AS−1AT]左上为正定矩阵,右下为负定矩阵,前n个主元为正,后n个主元为负,一半特征值为正,另一半负解最优化问题\\ \min_{Ax=b}{\frac{1}{2}x^TSx}\\ A_{m*n},x_{n*1},b_{m*1},S对称正定\\ 引入拉格朗日算子\\ L(x,\lambda_{m*1})=\frac{1}{2}x^TSx\pm(正负无所谓,这里取正)\lambda^T(Ax-b)\\ 即L(x,\lambda)=\frac{1}{2}x^TSx+\lambda^T(Ax-b)\\ 求导得到鞍点\\ \frac{\partial{L}}{\partial{x}}=Sx+A^T\lambda=0\\ \frac{\partial{L}}{\partial{\lambda}}=Ax-b=0\\ 即求解\left[\begin{array}{cc}S&A^T\\A&0\end{array}\right]\left[\begin{array}{c}x\\\lambda\end{array}\right]=\left[\begin{array}{c}0\\b\end{array}\right]\\ 左边矩阵称为KKT矩阵\\ 做块消元\\ \left[\begin{array}{cc}S&A^T\\A&0\end{array}\right]\rightarrow\left[\begin{array}{cc}S&A^T\\0&-AS^{-1}A^T\end{array}\right]\\ 左上为正定矩阵,右下为负定矩阵,前n个主元为正,后n个主元为负,一半特征值为正,另一半负 解最优化问题Ax=bmin​21​xTSxAm∗n​,xn∗1​,bm∗1​,S对称正定引入拉格朗日算子L(x,λm∗1​)=21​xTSx±(正负无所谓,这里取正)λT(Ax−b)即L(x,λ)=21​xTSx+λT(Ax−b)求导得到鞍点∂x∂L​=Sx+ATλ=0∂λ∂L​=Ax−b=0即求解[SA​AT0​][xλ​]=[0b​]左边矩阵称为KKT矩阵做块消元[SA​AT0​]→[S0​AT−AS−1AT​]左上为正定矩阵,右下为负定矩阵,前n个主元为正,后n个主元为负,一半特征值为正,另一半负

Rayleigh quotient(瑞利商)

R(x)=xTSxxTxR(x)=\frac{x^TSx}{x^Tx}R(x)=xTxxTSx​,S为对称矩阵

min⁡R(x)=λn,x=qn\min{R(x)}=\lambda_n,x=q_nminR(x)=λn​,x=qn​,上式最小值为SSS最小的特征值,xxx取对应特征向量

max⁡R(x)=λ1,x=q1\max{R(x)}=\lambda_1,x=q_1maxR(x)=λ1​,x=q1​,同样。

Lecture 19 Saddle Points Continued, Maxmin Principle

Lecture 20 Definitions and Inequalities

mean=E[x]=∑i=1npixi=mvariance=E[(x−m)2]=E[x2]−m2=σ2mean=E[x]=\sum_{i=1}^{n}{p_ix_i}=m\\ variance=E[(x-m)^2]=E[x^2]-m^2=\sigma^2\\ mean=E[x]=i=1∑n​pi​xi​=mvariance=E[(x−m)2]=E[x2]−m2=σ2

马尔可夫不等式(Markov Inequality)

样本X(x1,x2,⋯,xn)≥0X(x_1,x_2,\cdots,x_n)\ge0X(x1​,x2​,⋯,xn​)≥0,概率p1,⋯,pnp_1,\cdots,p_np1​,⋯,pn​,对于a>0,P(X≥a)=∑pi(备注:xi≥a)≤E[X]a=mean(X)a=Xˉaa>0,P(X\ge a)=\sum{p_i}(备注:x_i\ge a)\le \frac{E[X]}{a}=\frac{mean(X)}{a}=\frac{\bar{X}}{a}a>0,P(X≥a)=∑pi​(备注:xi​≥a)≤aE[X]​=amean(X)​=aXˉ​
E[X]=∑allxpixi≥∑xi≥apixi≥∑xi≥aapi∑xi≥api≤E[x]aE[X]=\sum_{all\ x}{p_ix_i}\ge \sum_{x_i\ge a}{p_ix_i}\ge \sum_{x_i \ge a}{ap_i}\\ \sum_{x_i \ge a}{p_i}\le \frac{E[x]}{a}\\ E[X]=all x∑​pi​xi​≥xi​≥a∑​pi​xi​≥xi​≥a∑​api​xi​≥a∑​pi​≤aE[x]​

切比雪夫不等式(Chebyshev Inequality)

样本X(x1,x2,⋯,xn)≥0X(x_1,x_2,\cdots,x_n)\ge0X(x1​,x2​,⋯,xn​)≥0,概率p1,⋯,pnp_1,\cdots,p_np1​,⋯,pn​,对于a>0,Prob(∣x−m∣≥a)=∑∣x−m∣≥api≤σ2a2a>0,Prob(|x-m|\ge a)=\sum_{|x-m|\ge a}{p_i}\le \frac{\sigma^2}{a^2}a>0,Prob(∣x−m∣≥a)=∑∣x−m∣≥a​pi​≤a2σ2​
令Y=(X−m)2Yˉ=∑piyi=∑pi(xi−m)2=σ2运用Markov不等式∑yi≥a2pi=∑(xi−m)2≥a2pi≤Yˉa2=σ2a2即∑∣x−m∣≥api≤σ2a2令Y=(X-m)^2\\ \bar{Y}=\sum{p_iy_i}=\sum{pi(x_i-m)^2}=\sigma^2\\ 运用Markov不等式\\ \sum_{y_i\ge a^2}{p_i}=\sum_{(x_i-m)^2\ge a^2}{p_i}\le\frac{\bar{Y}}{a^2}=\frac{\sigma^2}{a^2}\\ 即\sum_{|x-m|\ge a}{p_i}\le\frac{\sigma^2}{a^2}\\ 令Y=(X−m)2Yˉ=∑pi​yi​=∑pi(xi​−m)2=σ2运用Markov不等式yi​≥a2∑​pi​=(xi​−m)2≥a2∑​pi​≤a2Yˉ​=a2σ2​即∣x−m∣≥a∑​pi​≤a2σ2​

协方差矩阵(Covariance Matrix)

V=VT=∑allxi,yipij[xi−mxyj−my][xi−mxyj−my]=[σx2σxyσyx=σxyσy2]V=V^T=\sum_{all\ x_i,y_i}{p_{ij}\left[\begin{array}{c}x_i-m_x\\y_j-m_y\end{array}\right][x_i-m_x\ y_j-m_y]}=\left[\begin{array}{cc}\sigma_x^2&\sigma_{xy}\\\sigma_{yx}=\sigma_{xy}&\sigma_y^2\end{array}\right]V=VT=∑all xi​,yi​​pij​[xi​−mx​yj​−my​​][xi​−mx​ yj​−my​]=[σx2​σyx​=σxy​​σxy​σy2​​]

VVV是对称矩阵、半正定或正定矩阵(用xTVxx^TVxxTVx证,∑\sum∑的每一项都是(半)正定的,概率是≥0的)

pijp_{ij}pij​是X=xi,Y=yjX=x_i,Y=y_jX=xi​,Y=yj​时的联合概率(Joint Probability),mmm是均值(期望)。X,YX,YX,Y相关性越大,σxy\sigma_{xy}σxy​越大(可以为负,表示负相关即X,YX,YX,Y结果相反);两者完全独立时σxy=0\sigma_{xy}=0σxy​=0,VVV为对角阵。

Lecture 21 Minimizing a Function Step by Step

泰勒公式(Taylor Series)

x标量F(x+Δx)≈F(x)+ΔxdFdx+12(Δx)2d2Fdx2x=[x1x2⋯xn]TF(x+Δx)≈F(x)+(Δx)T∇F(x)+12(Δx)TH(Δx)H(Hessianmatrix)对称,Hjk=∂2F∂xj∂xk=Hkj以上F是标量函数f=[f1(x)f2(x)⋯fn(x)]Tf(x+Δx)≈f(x)+JΔxJ(Jacobianmatrix),Jjk=∂fj∂xkx标量\\ F(x+\Delta{x})≈F(x)+\Delta{x}\frac{\mathrm{d}{F}}{\mathrm{d}{x}}+\frac{1}{2}(\Delta{x})^2\frac{\mathrm{d}^2F}{\mathrm{d}{x}^2}\\ x=[x_1\ x_2\ \cdots\ x_n]^T\\ F(x+\Delta{x})≈F(x)+(\Delta{x})^T\nabla{F(x)}+\frac{1}{2}(\Delta{x})^TH(\Delta{x})\\ H(Hessian\ matrix)对称,H_{jk}=\frac{\partial^2F}{\partial{x_j}\partial{x_k}}=H_{kj}\\ 以上F是标量函数\\ f=[f_1(x)\ f_2(x)\ \cdots\ f_n(x)]^T\\ f(x+\Delta{x})≈f(x)+J\Delta{x}\\ J(Jacobian\ matrix),J_{jk}=\frac{\partial{f_j}}{\partial{x_k}}\\ x标量F(x+Δx)≈F(x)+ΔxdxdF​+21​(Δx)2dx2d2F​x=[x1​ x2​ ⋯ xn​]TF(x+Δx)≈F(x)+(Δx)T∇F(x)+21​(Δx)TH(Δx)H(Hessian matrix)对称,Hjk​=∂xj​∂xk​∂2F​=Hkj​以上F是标量函数f=[f1​(x) f2​(x) ⋯ fn​(x)]Tf(x+Δx)≈f(x)+JΔxJ(Jacobian matrix),Jjk​=∂xk​∂fj​​

牛顿方法(Newton’s Method)

用于获得方程的近似解,例如逼近f=0f=0f=0的解,nnn个方程和未知数。

假设x∗x^*x∗为f(x)=0f(x)=0f(x)=0的解(f,xf,xf,x都是向量),在x∗x^*x∗的邻域内选初始点x0x_0x0​做泰勒展开取线性项,得到f(x)≈f(x0)+J(x0)(x−x0)f(x)≈f(x_0)+J(x_0)(x-x_0)f(x)≈f(x0​)+J(x0​)(x−x0​),令右边为0,得到近似解x1x_1x1​。令xk+1=xk+Δx,f(xk)+J(xk)(xk+1−xk)=0,xk+1=xk−J−1f(xk)x_{k+1}=x_k+\Delta{x},f(x_k)+J(x_k)(x_{k+1}-x_k)=0,x_{k+1}=x_k-J^{-1}f(x_k)xk+1​=xk​+Δx,f(xk​)+J(xk​)(xk+1​−xk​)=0,xk+1​=xk​−J−1f(xk​)

例如求f(x)=x2−9=0f(x)=x^2-9=0f(x)=x2−9=0
xk+1=xk−12xk(xk2−9)=12xk+921xkxk+1−3=12xk(xk−3)2x_{k+1}=x_k-\frac{1}{2x_k}(x_k^2-9)=\frac{1}{2}x_k+\frac{9}{2}\frac{1}{x_k}\\ x_{k+1}-3=\frac{1}{2x_k}(x_k-3)^2\\ xk+1​=xk​−2xk​1​(xk2​−9)=21​xk​+29​xk​1​xk+1​−3=2xk​1​(xk​−3)2
每一次迭代,xkx_kxk​以平方的速度收敛,更接近真实解(因为是在真实解的邻域取初始值,平方项小于1,会越来越小。平方速度收敛的性质推广开来也适用)

Minimizing F(x)

第一种方法,沿着图像最陡的方向下降(Steepest Descent)

xk+1=xk−s∇F(xk)x_{k+1}=x_k-s\nabla{F(x_k)}xk+1​=xk​−s∇F(xk​),sss为学习率,防止步长过大图像由下降再转为上升,深度学习中精确计算学习率复杂,所以要人工设定调整。

第二种方法,问题等价于求导数为0,即∇F=0\nabla{F}=0∇F=0,运用牛顿方法

此处fff即为∇F\nabla{F}∇F,因此xk+1=xk−H−1(xk)∇F(xk)x_{k+1}=x_k-H^{-1}(x_k)\nabla{F}(x_k)xk+1​=xk​−H−1(xk​)∇F(xk​),HHH为Hessian矩阵。

第一种方法是粗略地直接选择梯度方向下降,牛顿方法区别在于下降的方向是精确的方向。

Steepest Descent收敛的速度是线性(HHH换成简单的一个数sss,所以显然不能期待像牛顿方法一样以平方速度收敛)

考虑计算开销,实际中使用第一种方法。

凸性(Convexity)

以上最小化方法适用的范围是,所要最小化的函数是凸函数(现实中很多达不到这个要求,所以在图像局部表现为凸函数的时候,可以求得局部最小值?)

最典型,也最简单的问题是
min⁡x∈KF(x)\min_{x\in K}{F(x)}\\ x∈Kmin​F(x)
FFF是一个凸函数,KKK是一个凸集,问题没有鞍点和局部最优解,只有全局最优解,一旦找到最小值就是全局最小值。常见的比如
min⁡Ax=bF(x)\min_{Ax=b}{F(x)}\\ Ax=bmin​F(x)
Ax=bAx=bAx=b解得的xxx构成一个仿射(affine)(其实就是从某个标准的向量空间做线性变换得到它,加法数乘平移),不能说子空间,因为解不一定包含零向量(仅当b=0包含)

Convex Set K

凸集KKK的性质是从集合内任选两点做线段,线段上的点都在KKK内

以三角形内的点为例

凸集的并集一般不是交集

凸集的交集一定是交集

Convex Function

在函数图像上以及函数图像上方的点构成凸集,则该函数为凸函数。

更常用的验证方法为,fff输出为标量

当xxx为标量时,d2fdx2≥0\frac{\mathrm{d}^2{f}}{\mathrm{d}{x}^2}\ge0dx2d2f​≥0恒成立,则fff为凸函数

当xxx为向量时,Hessian矩阵HHH为正定或半正定矩阵恒成立,则为凸函数

多个凸函数f1,f2,⋯,fn,min⁡{f1,f2,⋯,fn}f_1,f_2,\cdots,f_n,\min\{f_1,f_2,\cdots,f_n\}f1​,f2​,⋯,fn​,min{f1​,f2​,⋯,fn​}通常不是凸函数(类似并集),max⁡{f1,f2,⋯,fn}\max\{f_1,f_2,\cdots,f_n\}max{f1​,f2​,⋯,fn​}一定是凸函数(其图像本就在所有凸函数上方,构成凸集。类似交集)。

二次型函数f(x),(eg:f(x)=x12+x22)f(x),(eg:f(x)=x_1^2+x_2^2)f(x),(eg:f(x)=x12​+x22​)通常(也可能一定,这里没细说)可以写成f(x)=12xTSxf(x)=\frac{1}{2}x^TSxf(x)=21​xTSx,这里的SSS就是Hessian矩阵HHH。

凸函数没有局部最小值,没有鞍点,一旦找到最小值,就是全局最小值。

Lecture 22 Gradient Descent:Downhill to a Minimum

纯二次型函数(没有交叉相乘项),例如f(x)=12(x2+by2)=12xTSx,S=[1b]f(x)=\frac{1}{2}(x^2+by^2)=\frac{1}{2}x^TSx,S=\left[\begin{array}{cc}1\\&b\end{array}\right]f(x)=21​(x2+by2)=21​xTSx,S=[1​b​]

SSS的条件数(Condition number)决定了函数收敛到最优解的速度(这里没说是什么方法,应该是steepest descent)。假设b<1b<1b<1,条件数就是1/b1/b1/b,即SSS对称时,是λmax/λmin\lambda_{max}/\lambda_{min}λmax​/λmin​,当条件数太大时,会遇到问题(步长太大?)。SSS不对称,则用σmax/σmin\sigma_{max}/\sigma_{min}σmax​/σmin​

最优化问题中FFF取得最优解的点x∗x^*x∗称作arg⁡min⁡(F)\arg\min(F)argmin(F)

凸函数f(Xn∗n)=−log⁡(det⁡(X)),∇f=−(X−1)Tf(X_{n*n})=-\log(\det(X)),\nabla{f}=-(X^{-1})^Tf(Xn∗n​)=−log(det(X)),∇f=−(X−1)T

Xij−1=Cjidet⁡(X)X^{-1}_{ij}=\frac{C_{ji}}{\det(X)}Xij−1​=det(X)Cji​​,梯度用链式求导法则以及将行列式按行展开得到

梯度下降

f(x+Δx)≈f(x)+(Δx)T∇f,f(x+Δx)−f(x)≈(Δx)T∇ff(x+\Delta{x})≈f(x)+(\Delta{x})^T\nabla{f},f(x+\Delta{x})-f(x)≈(\Delta{x})^T\nabla{f}f(x+Δx)≈f(x)+(Δx)T∇f,f(x+Δx)−f(x)≈(Δx)T∇f

右边是内积的形式,因此当Δx\Delta{x}Δx与梯度同向时值最大,逆着梯度方向就减小最多。

求F(x)F(x)F(x)最小值,迭代xk+1=xk−sk∇F(xk),skx_{k+1}=x_k-s_k\nabla{F(x_k)},s_kxk+1​=xk​−sk​∇F(xk​),sk​为第kkk次迭代的步长即学习率

最优的学习率可以通过线搜索获得(exact line search,思想大概是定一个区间,然后按比例aaa缩短左端或者右端,每次检查两端F(x+Δx)−F(x)F(x+\Delta{x})-F(x)F(x+Δx)−F(x)的值,保留最小者,类似二分查找),得到最优的F(xk+1)F(x_{k+1})F(xk+1​)

应该是因为计算开销太大所以现实没人用吧

梯度方向即为法向,垂直于切线、切面。

Lecture 23 Accelerating Gradient Descent(Use Momentum)

Momentum

xk+1=xk−szkzk=∇f(xk)+βzk−1x_{k+1}=x_k-sz_k\\ z_k=\nabla{f(x_k)}+\beta z_{k-1}\\ xk+1​=xk​−szk​zk​=∇f(xk​)+βzk−1​

s为学习率,β\betaβ也是人调的超参数

当f=12xTSxf=\frac{1}{2}x^TSxf=21​xTSx时,∇f=Sx\nabla{f}=Sx∇f=Sx

公式变为
xk+1=xk−szkzk+1−Sxk+1=βzk[10−S1][xz]k+1=[1−s0β][xz]kx_{k+1}=x_k-sz_k\\ z_{k+1}-Sx_{k+1}=\beta z_k\\ \left[\begin{array}{cc} 1&0\\ -S&1 \end{array}\right] \left[\begin{array}{c}x\\z\end{array}\right]_{k+1} =\left[\begin{array}{cc} 1&-s\\ 0&\beta \end{array}\right] \left[\begin{array}{c}x\\z\end{array}\right]_k\\ xk+1​=xk​−szk​zk+1​−Sxk+1​=βzk​[1−S​01​][xz​]k+1​=[10​−sβ​][xz​]k​
这里假设SSS是对称正定矩阵,xk=ckq,zk=dkq,Sxk=ckλqx_k=c_kq,z_k=d_kq,Sx_k=c_k\lambda qxk​=ck​q,zk​=dk​q,Sxk​=ck​λq
[10−λ1][cd]k+1=[1−s0β][cd]k[cd]k+1=[1−sλβ−λs][cd]k=R[cd]k\left[\begin{array}{cc} 1&0\\ -\lambda&1 \end{array}\right] \left[\begin{array}{c}c\\d\end{array}\right]_{k+1} =\left[\begin{array}{cc} 1&-s\\0&\beta \end{array}\right] \left[\begin{array}{c}c\\d\end{array}\right]_k\\ \left[\begin{array}{c}c\\d\end{array}\right]_{k+1}= \left[\begin{array}{cc} 1&-s\\\lambda&\beta-\lambda s \end{array}\right] \left[\begin{array}{c}c\\d\end{array}\right]_{k}=R\left[\begin{array}{c}c\\d\end{array}\right]_{k}\\ [1−λ​01​][cd​]k+1​=[10​−sβ​][cd​]k​[cd​]k+1​=[1λ​−sβ−λs​][cd​]k​=R[cd​]k​
RRR的特征值由s,βs,\betas,β决定,函数收敛的速度由RRR的条件数κ=Mm\kappa=\frac{M}{m}κ=mM​决定,MMM是RRR最大的特征值,mmm是最小特征值,条件数越小收敛越快

最优的选择为
s=(2M+m)2β=(M−mM+m)2∣eigenvaluesofR∣<(M−mM+m)2s=(\frac{2}{\sqrt{M}+\sqrt{m}})^2\\ \beta=(\frac{\sqrt{M}-\sqrt{m}}{\sqrt{M}+\sqrt{m}})^2\\ |eigenvalues\ of\ R|<(\frac{\sqrt{M}-\sqrt{m}}{\sqrt{M}+\sqrt{m}})^2\\ s=(M​+m​2​)2β=(M​+m​M​−m​​)2∣eigenvalues of R∣<(M​+m​M​−m​​)2
不是,写了半天就讲了个特例?实际中好像也不这么用啊?

Nesterov

xk+1=xk+β(xk−xk−1)−s∇f(xk+γ(xk−xk−1))x_{k+1}=x_k+\beta(x_k-x_{k-1})-s\nabla{f(x_k+\gamma(x_k-x_{k-1}))}\\ xk+1​=xk​+β(xk​−xk−1​)−s∇f(xk​+γ(xk​−xk−1​))

Lecture 24 Linear Programming and Two-Person Games

linear programming(线性规划)

min⁡Ax=bx≥0cTx\min_{Ax=b\\x\ge0}{c^Tx}\\ Ax=bx≥0min​cTx

ccc是费用向量(cost vector),因为cTxc^TxcTx是一次方表达式,所以叫线性规划

一般Am∗n,m<nA_{m*n},m<nAm∗n​,m<n

xxx的取值范围称为feasible set,记作KKK

因为费用是线性的,最小值会在边界点取到。一种计算最小值方法叫simplex method,从一个边界点出发,计算最陡的边(类似梯度下降),沿着边到达新的边界点,重复。实际消耗步骤是多项式级,但是理论上是指数级。另一种方法是interior point methods(没有详细讲,大致是不止遍历各个边界点,解决过程中xxx可以取KKK内部的点,可以使用微积分和梯度下降和牛顿方法。两种方法哪一种更快看情况。)

再另一种方法是解决它的对偶问题。

dual problem

max⁡ATy≤cbTy\max_{A^Ty\le c}{b^Ty}\\ ATy≤cmax​bTy

(对于An∗mT,m<nA_{n*m}^T,m<nAn∗mT​,m<n,方程数比未知数多,所以比较好解?)

弱对偶性(weak duality)

bTy=xTATy≤xTc=cTxb^Ty=x^TA^Ty\le x^Tc=c^Tx\\ bTy=xTATy≤xTc=cTx

x≥0x\ge0x≥0的作用体现在不等号那里。

(强)对偶性(duality)

the minimax theorem:线性规划里bTyb^TybTy的最大值和cTxc^TxcTx的最小值相等,即最优解相等,bTy∗=cTx∗b^Ty^*=c^Tx^*bTy∗=cTx∗

simplex method可以同时解决两个对偶问题的最优解。(那不是废话吗都遍历了?)

在非线性规划里,以上最大值和最小值可能不相等,有差值(gap)。

max flow min cut

简单点了一下,没太看懂

Two-person Game

零和游戏,x付出,y收取,x需要付出最小,y需要收取最大

算代价矩阵的期望

理解的重点是让最坏的情况代价尽量小(收获尽量大),因此令每一行(列)期望相等,求得概率。举例说明,如果其中一行期望偏大,会被对方发觉,然后被利用让对方总是选更小的那个。因此期望相等是最优的情况。

Lecture 25 Stochastic Gradient Descent

SGD

梯度下降(batch gradient descent)
ak+1=ak−s1n∑x=x1xn∇fx(ak)a为要学习的参数,x为样本a_{k+1}=a_k-s\frac{1}{n}\sum_{x=x_1}^{x_n}{\nabla f_{x}(a_k)}\\ a为要学习的参数,x为样本\\ ak+1​=ak​−sn1​x=x1​∑xn​​∇fx​(ak​)a为要学习的参数,x为样本
SGD
ak+1=ak−s∇fxi(ak)xi为从x1,⋯,xn中随机选择的样本a_{k+1}=a_k-s\nabla{f_{x_i}(a_k)}\\ x_i为从x_1,\cdots,x_n中随机选择的样本\\ ak+1​=ak​−s∇fxi​​(ak​)xi​为从x1​,⋯,xn​中随机选择的样本
每一次迭代,不计算所有样本的梯度取平均,而是随机选一个样本计算梯度做迭代

当特征数量和样本数量非常大时,计算所有样本的梯度非常消耗时间

初期可以快速地减小误差(min⁡f(x),f(x)\min{f(x)},f(x)minf(x),f(x)的值下降非常快),越接近最优解,步长越大波动越大,图像上看在最优解附近越分散

因为深度学习更看重在未见过的数据上的性能,所以在已见过的数据上达到最优也不一定在未见过的数据上最优,因此快速迭代达到最优解附近,在最优解附近波动是可以接受的,最终在新数据上不会差很多。

以一维为例
min⁡f(x)=12∑i=1n(aix−bi)2\min{f(x)=\frac{1}{2}\sum_{i=1}^{n}{(a_ix-b_i)^2}}\\ minf(x)=21​i=1∑n​(ai​x−bi​)2
所有元素皆为标量

图像上,每一个组成都是一个向上的二次函数,一个组成fi(x)=12(aix−bi)2f_i(x)=\frac{1}{2}(a_ix-b_i)^2fi​(x)=21​(ai​x−bi​)2

f(x)f(x)f(x)的最优解
∇f(x)=∑i=1n(aix−bi)ai=0x∗=∑aibi∑ai2\nabla{f(x)}=\sum_{i=1}^{n}{(a_ix-b_i)a_i}=0\\ x^*=\frac{\sum{a_ib_i}}{\sum{a_i^2}}\\ ∇f(x)=i=1∑n​(ai​x−bi​)ai​=0x∗=∑ai2​∑ai​bi​​
fi(x)f_i(x)fi​(x)的最优解
∇fi(x)=(aix−bi)ai=0x=biai\nabla{f_i(x)}=(a_ix-b_i)a_i=0\\ x=\frac{b_i}{a_i}\\ ∇fi​(x)=(ai​x−bi​)ai​=0x=ai​bi​​
假设bpap=min⁡biai,bqaq=max⁡biai\frac{b_p}{a_p}=\min{\frac{b_i}{a_i}},\frac{b_q}{a_q}=\max{\frac{b_i}{a_i}}ap​bp​​=minai​bi​​,aq​bq​​=maxai​bi​​
bpap=∑ai2bpap∑ai2≤x∗=∑ai2biai∑ai2≤∑ai2bqaq∑ai2=bqaq\frac{b_p}{a_p}=\frac{\sum{a_i^2\frac{b_p}{a_p}}}{\sum{a_i^2}}\le x^*=\frac{\sum{a_i^2\frac{b_i}{a_i}}}{\sum{a_i^2}}\le\frac{\sum{a_i^2\frac{b_q}{a_q}}}{\sum{a_i^2}}=\frac{b_q}{a_q}\\ ap​bp​​=∑ai2​∑ai2​ap​bp​​​≤x∗=∑ai2​∑ai2​ai​bi​​​≤∑ai2​∑ai2​aq​bq​​​=aq​bq​​
因此
x∗∈[bpap,bqaq]x^*\in[\frac{b_p}{a_p},\frac{b_q}{a_q}]\\ x∗∈[ap​bp​​,aq​bq​​]
在这个区间外,∇f(x)\nabla{f(x)}∇f(x)和∇fi(x)\nabla{f_i(x)}∇fi​(x)符号相同,后者是前者的一个分量(一个组成方向),因此,在梯度下降的一开始,随机初始化的点落在区间外,梯度下降和SGD都可以达到回归区间(接近最优解)的效果,SGD计算开销小,回归非常快。

在区间内,符号不再一直相同,所以SGD有时会离最优解更远,有时更近,图像上就体现出波动和分散。

高维情况类似,低维为高维的思考提供直觉。

在实践中,按经验看如果SGD某一轮迭代得到的函数值已经落到最优附近(min⁡f(x)\min{f(x)}minf(x)小于某值),则可以提前终止,否则一直波动浪费时间。当然也可以继续迭代让模型更普适化更稳定更鲁棒(健壮),一切看你的心情和想法(玄学开始了)

SGD有两种方法,一是每次从所有样本中随机取一种,可能重复取(replacement);二是每取走一个样本就将它从可取样本中去除,不会重复取,直到所有样本都被取一遍(without replacement)。哪一个更好没有定论,实际中都使用第二种,实现为将数据集打乱然后遍历,因为第一种每次都从很大量的样本中随机选一个开销太大。然而实际上有数学理论分析作为基础的是第一种,而不是第二种。对mini-batch也一样。

取单个的样本可能有很大的方差,例如真实值是0,正无穷和负无穷的平均值是0,但是方差极大。为了减小方差实际中更多用mini-batch,一组batch可能10,100,1000个样本。
ak+1=ak−s1∣Ik∣∑j∈Ik∇fxj(ak)a_{k+1}=a_k-s\frac{1}{|I_k|}\sum_{j\in I_k}{\nabla{f_{x_j}(a_k)}}\\ ak+1​=ak​−s∣Ik​∣1​j∈Ik​∑​∇fxj​​(ak​)
按理说mini-batch越大越接近full gradient descent,理论上效果更好,但实际中更容易过拟合。加入一些噪声更能增加模型的普适性鲁棒性。

为什么SGD这种丑陋的优化方法比很多优雅的方法在深度学习中效果要好,还没有答案(课程是18年,还在找普适化的理论);为什么SGD在深度学习中有如此好的效果也没有严格的理论支撑,更多的是上述的直觉。

Lecture 26 Structure of Neural Nets for Deep Learning

不懂为什么讲了一节课平面将高维空间分成多少份的问题

NNN个平面两两相交将mmm维空间分成

r(N,m)=C0N+C1N+⋯+CmNr(N,m)=C_0^N+C_1^N+\cdots+C_m^Nr(N,m)=C0N​+C1N​+⋯+CmN​份

r(N,m)=r(N−1,m)+r(N−1,m−1)r(N,m)=r(N-1,m)+r(N-1,m-1)r(N,m)=r(N−1,m)+r(N−1,m−1)

Lecture 27 Backpropagation:Find Partial Derivatives

讲了一些计算图,讲得并不好,说得不清楚。

用矩阵乘法举例说明计算顺序的重要性,后向传播是计算偏微分的正确顺序。

Am∗n,Bn∗p,Cp∗q,(AB)CA_{m*n},B_{n*p},C_{p*q},(AB)CAm∗n​,Bn∗p​,Cp∗q​,(AB)C的计算开销是mnp+mpq,A(BC)mnp+mpq,A(BC)mnp+mpq,A(BC)的计算开销是npq+mnqnpq+mnqnpq+mnq,假设q=1,m,n,pq=1,m,n,pq=1,m,n,p很大,则(AB)C(AB)C(AB)C的开销为mp(n+1)mp(n+1)mp(n+1),A(BC)A(BC)A(BC)的开销为n(m+p)n(m+p)n(m+p),后者比前者小得多。

Lecture 28 Completing a Rank-One Matrix,Circulants!

Rank-One Matrix

一个秩1矩阵uvT,um∗1,vn∗1uv^T,u_{m*1},v_{n*1}uvT,um∗1​,vn∗1​,则它有m+n−1m+n-1m+n−1个自由度,因为可以将uuu第一个元素化为1,按倍数调整其他元素,结果不变。

任意给定m+n−1m+n-1m+n−1个矩阵元素,能将这个m∗nm*nm∗n矩阵填满为秩1矩阵当且仅当以行号为一部分节点,以列号为一部分节点,作二分图,以给定元素的位置为边连接节点(例如a11a_{11}a11​位置给定了元素则连接行1和列1节点),图中无回路。

Circulants

Circulants(回路、循环)矩阵如下

一个4x4的矩阵只有4个不同的元素,每个对角线有4个元素且都相同
C=[2510025110255102]C=\left[\begin{array}{cccc} 2&5&1&0\\ 0&2&5&1\\ 1&0&2&5\\ 5&1&0&2\\ \end{array}\right]\\ C=⎣⎢⎢⎡​2015​5201​1520​0152​⎦⎥⎥⎤​
置换矩阵P=[1111]P=\left[\begin{array}{cccc}&1\\&&1\\&&&1\\1\end{array}\right]P=⎣⎢⎢⎡​1​1​1​1​⎦⎥⎥⎤​是Circulants矩阵

两个Circulants矩阵的乘积仍是Circulants矩阵

以4阶为例,假设Circulants矩阵CCC的4个不同元素是c0,c1,c2,c3c_0,c_1,c_2,c_3c0​,c1​,c2​,c3​,则任意C=c0I+c1P+c2P2+c3P3C=c_0I+c_1P+c_2P^2+c_3P^3C=c0​I+c1​P+c2​P2+c3​P3,即任意C,DC,DC,D可以表达为PPP的多项式,CDCDCD仍是PPP的多项式,且P4=IP^4=IP4=I,因此最终表达式仍是4阶Circulants矩阵。

C,PC,PC,P特征向量相同

Lecture 31 Eigenvectors of Circulant Matrices:Fourier Matrix

cyclic convolution

循环卷积?cyclic convolution matrix(circulants matrix)CCC由其一行或者一列ccc决定,CvCvCv相当于ccc和vvv做循环卷积c⊗vc\otimes vc⊗v,计算方式为将ccc和vvv做竖式乘法,举例
cT=[1,2,3]vT=[4,5,6]c⊗v=12345661218510154812413282718c^T=[1,2,3]\\ v^T=[4,5,6]\\ c\otimes v=\\ \frac{\begin{array}{cccccc}&&&1&2&3\\&&&4&5&6\end{array}}{\frac{\begin{array}{ccccc}&&6&12&18\\&5&10&15\\4&8&12\end{array}}{\begin{array}{ccccc}4&13&28&27&18\end{array}}}\\ cT=[1,2,3]vT=[4,5,6]c⊗v=4​13​28​27​18​4​58​61012​1215​18​​​​14​25​36​​
如果是非循环卷积c∗vc*vc∗v,则结果就是[4,13,28,27,18]T,1+2+3=6,4+5+6=15,6∗15=90,4+13+28+27+18=90[4,13,28,27,18]^T,1+2+3=6,4+5+6=15,6*15=90,4+13+28+27+18=90[4,13,28,27,18]T,1+2+3=6,4+5+6=15,6∗15=90,4+13+28+27+18=90,即两个向量的元素和的成绩等于卷积后向量的元素和,可以用这种方法检验卷积的正确性。

循环卷积c⊗vc\otimes vc⊗v,实际上可以对应circulants matrix,以及多项式乘法。例如ccc可以对应1+2x+3x21+2x+3x^21+2x+3x2,vvv对应4+5x+6x24+5x+6x^24+5x+6x2,且x0=x3=1x^0=x^3=1x0=x3=1,则c⊗vc\otimes vc⊗v对应(1+2x+3x2)(4+5x+6x2)=4+13x+28x2+27x3+18x4(1+2x+3x^2)(4+5x+6x^2)=4+13x+28x^2+27x^3+18x^4(1+2x+3x2)(4+5x+6x2)=4+13x+28x2+27x3+18x4,系数对应卷积结果,将x3,x4x^3,x^4x3,x4化为1,x1,x1,x,得到31+31x+28x231+31x+28x^231+31x+28x2,c⊗v=[31,31,28]T,31+31+28=90=6∗15c\otimes v=[31,31,28]^T,31+31+28=90=6*15c⊗v=[31,31,28]T,31+31+28=90=6∗15。实际上就是多一个将周期项相加的步骤。

还说了一些卷积矩阵(Convolution Matrix\Toeplitz Matrix)的内容,其乘以向量即为对向量做非循环卷积,感觉跟认知的卷积相差很多

Toeplitz矩阵
T=[t0t1t2t3⋯tnt−1t0t1t2⋯tn−1t−2t−1t0t1t2⋯t−3t−2t−1t0t1⋯⋮⋯]T=\left[\begin{array}{cccccc} t_0&t_1&t_2&t_3&\cdots&t_n\\ t_{-1}&t_0&t_1&t_2&\cdots&t_{n-1}\\ t_{-2}&t_{-1}&t_0&t_1&t_2&\cdots\\ t_{-3}&t_{-2}&t_{-1}&t_0&t_1&\cdots\\ \vdots&\cdots\\ \end{array}\right]\\ T=⎣⎢⎢⎢⎢⎢⎡​t0​t−1​t−2​t−3​⋮​t1​t0​t−1​t−2​⋯​t2​t1​t0​t−1​​t3​t2​t1​t0​​⋯⋯t2​t1​​tn​tn−1​⋯⋯​⎦⎥⎥⎥⎥⎥⎤​
即每一条对角线的元素都相等

教授举例的卷积矩阵还要求关于主对角线对称,即t1=t−1,t2=t−2,⋯t_1=t_{-1},t_2=t_{-2},\cdotst1​=t−1​,t2​=t−2​,⋯

因为大量元素重复,所以可以节约很多存储空间,不需要那么多权重,以及计算开销,(第一行就决定了整个卷积矩阵)因此对一张图做卷积以及卷积神经网络特别重要。

置换矩阵P的特征值和特征向量

P=[1111]P=\left[\begin{array}{cccc}&1\\&&1\\&&&1\\1\end{array}\right]P=⎣⎢⎢⎡​1​1​1​1​⎦⎥⎥⎤​

PPT=I,PPP^T=I,PPPT=I,P为正交矩阵,奇异值为1。

特征值由解行列式求得,nnn阶PPP的特征值为λn=1\lambda^n=1λn=1

正交矩阵的特征向量也是正交的。

特征向量正交的矩阵有对称矩阵(对称矩阵特征值是实数),正交矩阵(特征值模长为1,因为正交矩阵不改变向量长度,∣∣Qx∣∣=∣∣x∣∣||Qx||=||x||∣∣Qx∣∣=∣∣x∣∣),反对称矩阵(特征值为虚数,对向量做旋转)。以上统称为正规矩阵(Normal Matrix),性质和检验方法是AHA=AAHA^HA=AA^HAHA=AAH

任意Circulants矩阵是正规矩阵,任意两个Circulants矩阵乘法满足交换律,任意Circulants矩阵的特征向量相同,都和P的特征向量一样(以上都说同阶,用P的多项式表达,一目了然)

888阶PPP的特征值1,w=e2πi8,w2,⋯,w71,w=\mathrm{e}^{\frac{2\pi i}{8}},w^2,\cdots,w^71,w=e82πi​,w2,⋯,w7,对应的特征向量构成8阶傅里叶矩阵F8F_8F8​

F8F_8F8​各列正交可以由PPP是正规矩阵得到,也可以做点乘(18.06笔记,暴力计算)。

简便一点的计算可以尝试如下方法,举例:
e1=[11111111],e2=[1ww2w3w4w5w6w7]e1Te2=1+w+w2+w3+w4+w5+w6+w7=tw8=w0=1wt=tt=0e_1=\left[\begin{array}{c}1\\1\\1\\1\\1\\1\\1\\1\end{array}\right], e_2=\left[\begin{array}{c}1\\w\\w^2\\w^3\\w^4\\w^5\\w^6\\w^7\end{array}\right]\\ e_1^Te_2=1+w+w^2+w^3+w^4+w^5+w^6+w^7=t\\ w^8=w^0=1\\ wt=t\\ t=0\\ e1​=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡​11111111​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤​,e2​=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡​1ww2w3w4w5w6w7​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤​e1T​e2​=1+w+w2+w3+w4+w5+w6+w7=tw8=w0=1wt=tt=0
即求内积之后整个式子乘以ttt的第一项,推出t=0t=0t=0(没有对任意两列的情况做验证,应该可以)

Lecture 32 ImageNet is a Convolutional Neural Network(CNN),The Convolution Rule

cn∗1,dn∗1(c∗d)k=∑icidk−i用多项式展开看待。类似的,有f(x),g(x)f∗g(x)=∫−∞∞f(t)g(x−t)dtc_{n*1},d_{n*1}\\ (c*d)_{k}=\sum_{i}{c_id_{k-i}}\\ 用多项式展开看待。类似的,有\\ f(x),g(x)\\ f*g(x)=\int_{-\infin}^{\infin}f(t)g(x-t)\mathrm{d}{t}\\ cn∗1​,dn∗1​(c∗d)k​=i∑​ci​dk−i​用多项式展开看待。类似的,有f(x),g(x)f∗g(x)=∫−∞∞​f(t)g(x−t)dt

Circulant矩阵的特征值是Fc,FFc,FFc,F是特征向量构成的傅里叶矩阵,ccc是Circulant矩阵的第一行,也是用PPP表示的多项式展开的系数。

n阶Circulant矩阵C,DC,DC,D,CDCDCD由c⊗dc\otimes dc⊗d决定,分别是各自的第一行,结果是乘积的第一行。Fn(c⊗d)F_n(c\otimes d)Fn​(c⊗d)是CDCDCD的特征值

C,DC,DC,D特征向量一样,做特征值分解,再相乘,得到C=XΛCX−1,D=XΛDX−1,CD=XΛCΛDX−1C=X\Lambda_CX^{-1},D=X\Lambda_DX^{-1},CD=X\Lambda_C\Lambda_DX^{-1}C=XΛC​X−1,D=XΛD​X−1,CD=XΛC​ΛD​X−1,即CDCDCD特征值是C,DC,DC,D对应相同特征向量的特征值的乘积。

Convolution Rule:

Fn(c⊗d)=(Fnc)⋅∗(Fnd),⋅∗F_n(c\otimes d)=(F_nc)\cdot*(F_nd),\cdot*Fn​(c⊗d)=(Fn​c)⋅∗(Fn​d),⋅∗表示两个向量对应位置元素相乘。

傅里叶矩阵乘以向量,由于FFT的存在,只需要nlog⁡(n)n\log(n)nlog(n)的时间,因此计算FcFcFc非常快。

Convolution Rule重要在于,c⊗dc\otimes dc⊗d复杂度是n2n^2n2,左侧复杂度为n2+nlog⁡(n)n^2+n\log(n)n2+nlog(n),右侧复杂度为2nlog⁡(n)+n2n\log(n)+n2nlog(n)+n

2维函数卷积f∗g(x,y)=∫−∞∞∫−∞∞f(u,t)g(x−u,y−t)dudtf*g(x,y)=\int_{-\infin}^{\infin}{\int_{-\infin}^{\infin}{f(u,t)g(x-u,y-t)\mathrm{d}{u}\mathrm{d}{t}}}f∗g(x,y)=∫−∞∞​∫−∞∞​f(u,t)g(x−u,y−t)dudt

Lecture 33 Neural Nets and the Learning Function

介绍了一些浅显基础的神经网络,跳过。

Distance Matrix

给定距离矩阵DDD,表示RdR^dRd中任意两点xi,xjx_i,x_jxi​,xj​的距离,求各点的位置矩阵XXX

dij=∣∣xi−xj∣∣2=xiTxi−xiTxj−xjTxi+xjTxjd_{ij}=||x_i-x_j||^2=x_i^Tx_i-x_i^Tx_j-x_j^Tx_i+x_j^Tx_jdij​=∣∣xi​−xj​∣∣2=xiT​xi​−xiT​xj​−xjT​xi​+xjT​xj​

定义di=diid_i=d_{ii}di​=dii​上式写成矩阵形式

D=[11⋮1][d1d2⋯dn]+[d1d2⋮dn][11⋯1]−2XTXD=\left[\begin{array}{c}1\\1\\\vdots\\1\end{array}\right]\left[\begin{array}{cccc}d_1&d_2&\cdots&d_n\end{array}\right]+\left[\begin{array}{c}d_1\\d_2\\\vdots\\d_n\end{array}\right]\left[\begin{array}{cccc}1&1&\cdots&1\end{array}\right]-2X^TXD=⎣⎢⎢⎢⎡​11⋮1​⎦⎥⎥⎥⎤​[d1​​d2​​⋯​dn​​]+⎣⎢⎢⎢⎡​d1​d2​⋮dn​​⎦⎥⎥⎥⎤​[1​1​⋯​1​]−2XTX

得到在iii行jjj列有di+dj−2xiTxj=xiTxi+xjTxj−2xiTxj=dijd_i+d_j-2x_i^Tx_j=x_i^Tx_i+x_j^Tx_j-2x_i^Tx_j=d_{ij}di​+dj​−2xiT​xj​=xiT​xi​+xjT​xj​−2xiT​xj​=dij​

XTX=G=−12D+12[11⋮1][d1d2⋯dn]+12[d1d2⋮dn][11⋯1]X^TX=G=-\frac{1}{2}D+\frac{1}{2}\left[\begin{array}{c}1\\1\\\vdots\\1\end{array}\right]\left[\begin{array}{cccc}d_1&d_2&\cdots&d_n\end{array}\right]+\frac{1}{2}\left[\begin{array}{c}d_1\\d_2\\\vdots\\d_n\end{array}\right]\left[\begin{array}{cccc}1&1&\cdots&1\end{array}\right]XTX=G=−21​D+21​⎣⎢⎢⎢⎡​11⋮1​⎦⎥⎥⎥⎤​[d1​​d2​​⋯​dn​​]+21​⎣⎢⎢⎢⎡​d1​d2​⋮dn​​⎦⎥⎥⎥⎤​[1​1​⋯​1​]

问题转化为给定XTXX^TXXTX,求XXX

XXX必定有多个解,如果求得一个解XXX,那么QXQXQX相当于对XXX即各个位置的点做旋转,XTXX^TXXTX不变,点之间的距离不变。

一种解法是求XTXX^TXXTX的特征值和特征向量,另一种是对它做消元

XTXX^TXXTX是对称(半)正定矩阵,分解为XTX=QΛQTX^TX=Q\Lambda Q^TXTX=QΛQT,求得其中一个解为X=QΛ1/2QTX=Q \Lambda^{1/2}Q^TX=QΛ1/2QT,同样为对称(半)正定矩阵。

消元(LU分解),得到XTX=LDUX^TX=LDUXTX=LDU,其中L,UL,UL,U对角线为1,D1,D1,D是对角阵。注意XTXX^TXXTX对称,所以结果必定为XTX=LDLTX^TX=LDL^TXTX=LDLT,得到其中一个解为X=D1/2LTX=D^{1/2}L^TX=D1/2LT。求得LDLTLDL^TLDLT的这个过程叫Cholesky Factorization。此时XXX是一个上三角矩阵。这种方法比特征分解快得多。

Lecture 34 Distance Matrices,Procrustes Problem

当且仅当距离矩阵DDD中的数字满足三角不等式时,XXX位置矩阵才存在,GGG才是(半)正定矩阵。

procrustes problem(普氏问题)

两组不同的向量xix_ixi​和yiy_iyi​,寻找最合适的正交矩阵QQQ使得YQ≈XYQ≈XYQ≈X

如果X,YX,YX,Y都是各列正交的,则可以求得一个准确的QQQ

问题的表示为
min⁡QTQ=I∣∣YQ−X∣∣F2=tr((YQ−X)T(YQ−X))=∑σYQ−X2\min_{Q^TQ=I}{||YQ-X||_F^2}=tr((YQ-X)^T(YQ-X))=\sum{\sigma_{YQ-X}^2}\\ QTQ=Imin​∣∣YQ−X∣∣F2​=tr((YQ−X)T(YQ−X))=∑σYQ−X2​
注意∣∣QA∣∣F2=∣∣A∣∣F2||QA||_F^2=||A||_F^2∣∣QA∣∣F2​=∣∣A∣∣F2​,因为QA=[Qa1⋯Qan]QA=[Qa_1\ \cdots\ Qa_n]QA=[Qa1​ ⋯ Qan​],而QQQ乘以列向量相当于旋转,不改变列向量长度,(Qx)TQx=xTx(Qx)^TQx=x^Tx(Qx)TQx=xTx,因此每一列的长度不变,矩阵的F范数不变

QAQAQA或AQAQAQ不改变奇异值

tr(ATB)=tr(BTA)(tr(A)=tr(AT))tr(A^TB)=tr(B^TA)(tr(A)=tr(A^T))tr(ATB)=tr(BTA)(tr(A)=tr(AT))

tr(ATB)=tr(BAT)(tr(AB)=tr(BA)),∑tr(A^TB)=tr(BA^T)(tr(AB)=tr(BA)),\sumtr(ATB)=tr(BAT)(tr(AB)=tr(BA)),∑交换求和顺序证。教授用AB,BAAB,BAAB,BA特征值相等因此它们的和即迹相等证,但是没有详细说明,如果AB非方阵似乎有点麻烦。

上述最优化问题的解为(书本P258)
YTX=UΣVTQbest=UVTY^TX=U\Sigma V^T\\ Q_{best}=UV^T\\ YTX=UΣVTQbest​=UVT

Lecture 35 Finding Clusters in Graphs

上节课遗留了一个为什么神经网络有效的问题,没有视频。

一张图,将节点分成规模大致相等的k(这里k=2)类,并找到这k类的中心。

用数学语言描述,则将节点分为a,ba,ba,b两组,中心分别为x,yx,yx,y。寻找x,yx,yx,y使得
min⁡a∪b=allnodesa∩b=∅∑∣∣ai−x∣∣2+∑∣∣bi−y∣∣2\min_{a\cup b=all\ nodes\\a\cap b=\varnothing}{\sum{||a_i-x||^2}+\sum{||b_i-y||^2}}\\ a∪b=all nodesa∩b=∅min​∑∣∣ai​−x∣∣2+∑∣∣bi​−y∣∣2

k-means

一种方法是k-means算法。首先随机选取k个点,尽量分散,然后遍历各个点,将其并入最接近的那一类,重新计算类中心。重复此过程。

spectral clustering

图的矩阵

incidence matrix,边为行号,节点为列号,边的起点写-1,终点写1,这里表示为A

degree matrix,对角矩阵,表示每个节点相连的边数,这里表示为D

adjacency matrix,行列都是节点,填1表示两个节点相连,对称矩阵,这里表示为B

拉普拉斯矩阵(Laplacian matrix)L=ATA=D−BL=A^TA=D-BL=ATA=D−B,对称半正定矩阵

Lx=0Lx=0Lx=0的解为全1,dim⁡N(L)=1\dim{N(L)}=1dimN(L)=1,L有特征值0,对应向量全1。

Fiedler vector,L大于0的最小特征值对应的特征向量。

将图分为2部分的情况,Fiedler vecotr将有2个组成,一部分正,一部分负,对应将图的节点分为2堆。如果分为3堆,则需要求下一个特征值和特征向量(即一共3个)。(具体是不是下一个最小的特征值没说,也没说怎么分)

Lecture 36 Alan Edelman and Julia Language

介绍Julia语言,反正我又不用。

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

  1. MIT | 数据分析、信号处理和机器学习中的矩阵方法 笔记系列 Lecture 6 Singular Value Decomposition (SVD)

    本系列为MIT Gilbert Strang教授的"数据分析.信号处理和机器学习中的矩阵方法"的学习笔记. Gilbert Strang & Sarah Hansen | ...

  2. lu分解法matlab_MIT 18.065—机器学习中的矩阵方法02 矩阵乘法与矩阵分解

    数据分析.信号处理和机器学习中的矩阵方法 第02讲 矩阵乘法与矩阵分解 新MIT 线性代数|机器学习(中英机翻字幕)18.065 by Gilbert Strang_哔哩哔哩 (゜-゜)つロ 干杯~- ...

  3. 机器学习(十一)——机器学习中的矩阵方法(1)LU分解、QR分解

    http://antkillerfarm.github.io/ 因子分析的EM估计(续) 去掉和各参数无关的部分后,可得: ∑i=1mE[logp(x(i)|z(i);μ,Λ,Ψ)]=∑i=1mE[1 ...

  4. 机器学习(十三)——机器学习中的矩阵方法(3)病态矩阵、协同过滤的ALS算法(1)

    http://antkillerfarm.github.io/ 向量的范数(续) 范数可用符号∥x∥λ\|x\|_\lambda∥x∥λ​表示.常用的有: ∥x∥1=∣x1∣+⋯+∣xn∣\|x\|_ ...

  5. 机器学习(十三)——机器学习中的矩阵方法(3)病态矩阵、协同过滤的ALS算法(1)...

    http://antkillerfarm.github.io/ 向量的范数(续) 范数可用符号∥x∥λ表示. 经常使用的有: ∥x∥1=|x1|+⋯+|xn| ∥x∥2=x21+⋯+x2n−−−−−− ...

  6. 机器学习(十二)——机器学习中的矩阵方法(2)特征值和奇异值

    http://antkillerfarm.github.io/ QR分解(续) 令A=[a1,⋯,an]A=[\mathbf{a}_1, \cdots, \mathbf{a}_n],其中aia_i为列 ...

  7. 机器学习中的矩阵方法(附录A): 病态矩阵与条件数

    转载地址:https://www.cnblogs.com/daniel-D/p/3219802.html 思路:利用范数考察Ax = b中b的扰动对于x的影响

  8. 机器学习中的优化方法小结

    来源|福大命大@知乎,https://zhuanlan.zhihu.com/p/158215009 前几天听了林宙辰老师的一个报告,讲的是机器学习中的优化方法[1],做个笔记.推荐机器学习的人去听听. ...

  9. 机器学习中的矩阵向量求导(四) 矩阵向量求导链式法则

    在机器学习中的矩阵向量求导(三) 矩阵向量求导之微分法中,我们讨论了使用微分法来求解矩阵向量求导的方法.但是很多时候,求导的自变量和因变量直接有复杂的多层链式求导的关系,此时微分法使用起来也有些麻烦. ...

最新文章

  1. Linux 软件看门狗 watchdog
  2. JVM-03内存区域与内存溢出异常(下)【OutOfMemoryError案例】
  3. APPSERV下安装pear db和auth
  4. 学业水平考试网登录_江西2020年下半年普通高中学业水平考试成绩查询时间及入口...
  5. J钓鱼 (vector + queue)
  6. android p dp5,谷歌释出Android P第5个开发者预览版更新!
  7. 【LeetCode 剑指offer刷题】查找与排序题12:Top K Frequent Elements
  8. 苹果手机html查看器在哪,web前端案例-苹果手机图片查看器
  9. 罗永浩回应“鲨鱼皮技术遭质疑”;消息称马蜂窝开启裁员;Dart 2.7 发布 | 极客头条...
  10. AngularJs学习笔记--html compiler
  11. 【转载】【凯子哥带你学Framework】Activity界面显示全解析(下)
  12. Linux shell 数组
  13. 2019第四次新生周赛——YZJ的牛肉干
  14. 手机连接Wi-Fi不能上网之DNS异常
  15. 用PS抠图做电子签名
  16. 基于Java实现一个简单的记事本Android App
  17. html5性格测试,9种性格测试
  18. 共轭梯度法确实存在数值精度的要求
  19. 3 有限马尔可夫决策过程(Finite Markov Decision Processes)
  20. 结缘OpenStack:运营商NFV部署加速 要开源也要保障

热门文章

  1. php获取远程文件大小转mb,php获取文件大小_php获取文件大小并转换gb,mb,kb代码
  2. kubevirt(三)迁移(migration)
  3. Elasticsearch查询must与should不能同层级使用
  4. win10删除开机密码_电脑要开机时,按什么键才能一键还原?
  5. 堆 AcWing 839. 模拟堆
  6. 学习注意力机制【1】
  7. Repairing a Road NBUT - 1465
  8. 液压与气压传动基础知识点
  9. Unity Mecanim动画系统 之 IK(Inverse Kinematics即反向动力学)的相关说明和简单使用
  10. Adapting Meta Knowledge Graph Information for Multi-Hop Reasoning over Few-Shot Relations