数值分析期末复习

LU Decomposition

Basics

标准 LU 分解就是不带行交换的高斯消元的矩阵语言。

可逆矩阵 A∈Rn×n 存在标准 LU 分解的充要条件是,前 n 个顺序主子式均不为零
不可逆矩阵

forward-backward-substitution.png

Example: Regression of multiple experiments

Any linear system:

相对于已经存在的采样(线性)系统而言,新增一条采样可以是冗余采样、矛盾采样、有效采样。

n 次采样(A 为方阵):

多余 n 次采样(A 为 Thin 矩阵):

‖Ax→−b→‖22=‖Ax→‖22−2(ATb→)⋅x→+‖b→‖2∇x→‖Ax→−b→‖22=2ATAx→−2ATb→(Normal Equation)ATAx→=ATb→

少于 n 次采样(A 为 Fat 矩阵):

方程角度:

线性变换角度:

Regularization of under-determined system

Tikhonov regularization、ridge regression、guassian prior:

minx→‖Ax→−b→‖22+α‖x→‖22(ATA+αIn)x→=ATb→

α 越小,poor conditioned 的可能性越大;α 越大,近似解的误差越大

Lasso、Laplace prior:使用 1-范数

Elastic Net:同时使用 1-范数和 2-范数

Example: Image Alignment

Gram 矩阵和 Cholesky Factorization

对称、半正定

对于正定对阵矩阵 C,其 LU 分解可以具有更加简洁的形式:Ek⋯E1CE1T⋯EkT=In⇒C=E1−1⋯Ek−1(EkT)−1⋯(E1T)−1=LLT

‖Li:‖22=Cii

half storage required

cholesky_factorization_code.png

衡量向量和矩阵的大小、距离

向量 p-范数和矩阵 Frobenius 范数

‖A‖Fro=∑i=1m∑jnAij2

矩阵诱导范数

‖A‖p=max‖x‖p=1‖Ax‖p

诱导 1-范数

‖A‖1=max‖x‖1=1‖Ax‖1=max‖x‖1=1∑i=1n|∑j=1mAijxj|≤max‖x‖1=1∑j=1m(∑i=1n|Aij|)|xj|≤maxj∑i=1n|Aij|

诱导 infty-范数

‖A‖∞=max‖x‖∞=1‖Ax‖∞=max‖x‖∞=1maxi|∑j=1mAijxj|≤maximax‖x‖∞=1∑j=1m|Aij||xj|≤maxi∑j=1m|Aij|

诱导 2-范数、谱范数

‖A‖22=max‖x→‖2=1‖Ax→‖22=max‖x→‖2=1x→TATAx→=max‖x→‖2=1x→TVΣTΣVT=max‖x→‖2=1x→TΣTΣx→=max1≤i≤nσi2xi2≤max1≤i≤nσi2

Ax→=b→ 的条件数

限制为可逆方阵 A,考虑 b→ 的一个扰动 δb→ 满足 A(x→+δx→)=b→+δb→ 也即 δx→=A−1δb→,根据诱导 2-范数的性质我们有 ‖δx→‖2≤‖A−1‖2⋅‖δb→‖2,结合 ‖b→‖2≤‖A‖2⋅‖x→‖2 得到

‖δx→‖2‖x→‖2≤(‖A‖2⋅‖A−1‖2)‖δb→‖2‖b→‖2

求解 Overdetermined

QR

求解 ATAx→=ATb→ 时 LU 分解并不好用,条件数被平方,用 QR 分解

ATAx→=ATb→⇔RTQTQRx→=RTQTb→⇔RTRx→=RTQTb→

当 A 列满秩时 R 一定是可逆矩阵,我们有 x→=R−1QTb→,非列满秩时 R 一定不可逆

投影

考虑标准内积 ⋅,x→ 向 b→ 投影,投影向量 p→=kb→‖b‖2=ke→ 满足

k=argminl‖le→−x→‖22=argminll2+‖x→‖22−2l⋅e→⋅x→=e→⋅x→p→=b→⋅x→‖b‖22b→⊥(x→−p→)

向量到向量的投影推广到向量(一维空间)到高维空间的投影:考虑空间 S=span{e1→,e2→,⋯,en→} 一组标准正交基 e1→,e2→,⋯,en→,x→ 在分量 ei→ 上的投影向量 projei→x→=(ei→⋅x→)ei→

Gram-Schmidt 正交化

gramschmidt-orthogonalization.png

Gram-Schmidt 正交化是最自然的思路,每次取出一个向量并减去它到已经生成的子空间上的投影得到新的标准正交基。

每次计算投影向量都需要和 aj 做内积,计算 aj 过程中的误差会被逐步放大。比如 a1 本身参与了 k−1 次运算,受到 a1 误差影响的 a2 参与了 k−2 次运算,依次类推,我们最终得到 pk 大约叠加了 Θ(k2) 次有 a1 误差参与的计算。aj 的误差分量可能在与 vi 的运算过程中得到放大。

modified-gramschmidt-orthogonalization.png
Modified Gram-Schmidt 正交化,从对每个 vi 都计算子空间的投影到构建子空间时就直接剔除 vi 的分量。得到的 ak 取决于 vk,vk 受到 a1,a2,…,ak−1 的影响,在 vk 被 ai 修正时,vk 已经失去了前 i−1 个基方向上的分量,在这些方向上不会放大 ai 的误差

Householder QR

x→ 关于 projb→x→ 轴对称向量为

2projb→x→−x→=2b→(b→T⋅x→)‖b‖22−x→=2(b→⋅b→T)x→b→T⋅b→−x→=(2(b→⋅b→T)b→T⋅b→−I)x→=−Hb→x→

x→ 关于镜面(法向量为 b→,单位法向量为 v→)的镜像向量为 x−2projb→x→=Hb→x→=Hv→x→=(I−2v→⋅v→T)x→
householderQR.png

Eigen

Basics

A 可对角化的充要条件是其特征空间生成 Rn。R 内 A 可正交对角化的充要条件是 A 为实对称矩阵。

对角化能极大简化求逆

PCA

最小化垂直重构误差等价于最大化投影方差。

判断数据之间的相关性(PCA 主成分分析):

minv→∑i‖xi→−projv→xi→‖22s.t.‖v→2‖=1

等价于

\max_{\vec{v}}\lVert X^T \vec{v} \rVert _{2}^2 \quad s.t. \lVert \vec{v} \rVert { #2_} {2} = 1

等价于求解 XXT 的主特征向量。求出的 v→

主特征向量

采用迭代法 Akv→≈λ1kc1x→1 而不是解 det(A−λI)=0 然后解 (A−λI)v→=0→

Power iteration 使用迭代 ωk→=Avk−1→,vk→=ωk→/‖ωk→‖ 求最大特征值。
Inverse iteration 使用迭代 ωk→=A−1vk−1→,vk→=ωk→/‖ωk→‖ 求最小特征值,求逆用 A=LU 代替。
Shifted (A−σI)v→=(λ−σ)v→

SVD

argcritv→‖Av→‖2/‖v→‖2

等价于

argcritv→‖Av→‖22s.t.‖v→‖2=1

等价于求 ATA 的特征向量。

Example: Overdetermined Equation and Pseudo Inverse

求解超定方程时施加 2-范数限制

min‖x→‖22s.t.ATAx→=ATb→

限制条件等价于 VΣTΣVTx→=VΣTUTb→⇔ΣTΣ(VTx→)=ΣT(UTb→),令 y→=VTx→,d→=UTb→ 转化为 σi2yi=σdi,取 Σij+=1σiδij if σi≠0 else Ciδij where Ci is arbitrary 那么有 x→=Vy→=VΣ+UTb→,其中 A+=VΣ+UT 称为 A 的伪逆。

伪逆对于超定方程给出最小化 2-范数的解,对欠定方程给出在 2-范数意义下的最佳近似解。

Example: Low Rank Approximation

求 Ax→ 近似解时,可以舍弃较小 σi 的谱;求 A+x→ 的近似解时可以舍弃较大 σi 的谱

Eckart-Young-Mirsky 定理,用之秩至多为 k 的矩阵 A~ 来逼近 A,在 Frobenius 范数和谱范数的意义下,按照奇异值大小取前 k 大的谱作为 A~ 是所有谱组合中的的最优解

Proof?

Example: Least Square with Tikonov Regularization

Tikonov 正则化的最小二乘法 (ATA+αI)x→=ATb→ 的解 x→=VDUTb→,Dii=σi/(σi2+α2)

Detail?

Example: Rigid Alignment

minRTR=I3,t→∈R3∑i‖Rx1i→+t→−x2i→‖22

通过最小二乘处理 t→

minRTR=I3‖RX1−X2t‖Fro2

Orthogonal Procrustes Theorem:

Detail?

Example: Eigenfaces(Minimum Reconstruction Error)

C∈Rn×d∧CTC=Id×d 最小化 ‖X−CCTX‖Fro 的取值是 U 的前 d 列,X=UΣVT

Detail?

求根

二分法

牛顿迭代法

切线法

en+1=en−f(xn)f[xn,xn−1]=en−enf[xn,x⋆]f[xn,xn−1]=en(f[xn−1,xn]−f[xn,x⋆])f[xn,xn−1]=enen−1f[xn−1,xn,x⋆]f[xn,xn−1]=enen−1⋅f″(ηn)f′(ξn) where ηn∈I(xn−1,xn,x⋆),ξn∈I(xn−1,xn)

不动点迭代求不动点