线性算法及应用(4)

正交

  • 内积映射: ( u , v ) ∈ V × V ↦ < u , v > ∈ R (u,v) \in V \times V \mapsto <u,v> \in R (u,v)V×V<u,v>R,满足

    • 对称性: < u , v > = < v , u > <u,v>=<v,u> <u,v>=<v,u>
    • 非负性: < u , u > ≥ 0 <u,u> \ge 0 <u,u>0
    • 正定性: < u , u > = 0    ⟺    u = 0 <u,u>=0 \iff u=0 <u,u>=0u=0
    • 线性: < c 1 u + c 2 v , w > = c 1 < u , w > + c 2 < v , w > <c_1u+c_2v,w>=c_1<u,w>+c_2<v,w> <c1u+c2v,w>=c1<u,w>+c2<v,w>
    • 如果空间 V V V中定义了内积,叫做内积空间
  • 在向量空间里,一般定义 < u , v > : = u t v <u,v>:=u^tv <u,v>:=utv,也记做 u ⋅ v u \cdot v uv

  • 正交:内积为零, u ⋅ v = 0 u \cdot v=0 uv=0;在 R 2 , R 3 R^2,R^3 R2,R3中, u ⋅ v = ∥ u ∥ ⋅ ∥ v ∥ cos ⁡ θ u \cdot v=\Vert u \Vert \cdot \Vert v \Vert \cos{\theta} uv=uvcosθ,其中距离 ∥ u ∥ : = < u , u > \Vert u \Vert := \sqrt{<u,u>} u:=<u,u>

  • 正交于空间 V V V的所有向量组成子空间,叫做 V V V正交补空间,记做 V ⊥ V^{\perp} V

  • A ∈ R m × n A \in R^{m \times n} ARm×n,定义零空间 N u l ( A ) = { x ∣ A x = 0 ,   x ∈ R n } Nul(A) = \{x|Ax=0,\,x \in R^n\} Nul(A)={xAx=0,xRn}

  • A ∈ R m × n A \in R^{m \times n} ARm×n,由它的行向量张成的空间叫做行空间 R o w ( A ) Row(A) Row(A),由它的列向量张成的空间叫做列空间 C o l ( A ) Col(A) Col(A)

  • R o w ( A ) ⊥ = N u l ( A ) Row(A)^{\perp}=Nul(A) Row(A)=Nul(A) C o l ( A ) ⊥ = N u l ( A T ) Col(A)^{\perp}=Nul(A^T) Col(A)=Nul(AT)

  • 正交投影 y y y u u u上的正交投影为, y ^ = p r o j u ( y ) = y ⋅ u u ⋅ u u \hat y = proj_u(y) = \dfrac{y \cdot u}{u \cdot u}u y^=proju(y)=uuyuu,且 y = y ^ + z y=\hat y+z y=y^+z,这里的 z ⊥ u z \perp u zu叫做 y y y正交于 u u u的分量

  • 正交集合 S = { u 1 , ⋯   , u p } S=\{u_1,\cdots,u_p\} S={u1,,up},各向量相互正交。它张成空间 W W W,并且 S S S是一组正交基。对于 y ∈ W y \in W yW,那么有: y = c 1 u 1 + ⋯ + c p u p y=c_1u_1+\cdots+c_pu_p y=c1u1++cpup,其中 c j = y ⋅ u j u j ⋅ u j c_j = \dfrac{y \cdot u_j}{u_j \cdot u_j} cj=ujujyuj ( c j u j c_ju_j cjuj就是 y y y u j u_j uj上的正交投影)

  • 矩阵 U ∈ R m × n U \in R^{m \times n} URm×n的列向量都有单位长度; U U U的列向量相互正交    ⟺    U T U = I \iff U^TU=I UTU=I

    对于 x , y ∈ R n x,y \in R^n x,yRn

    • ∥ U x ∥ = ∥ x ∥ \Vert Ux \Vert = \Vert x \Vert Ux=x
    • ( U x ) ⋅ ( U y ) = x ⋅ y (Ux) \cdot (Uy)=x \cdot y (Ux)(Uy)=xy
    • ( U x ) ⋅ ( U y ) = 0    ⟺    x ⋅ y = 0 (Ux) \cdot (Uy)=0 \iff x \cdot y=0 (Ux)(Uy)=0xy=0
  • 正交分解定理 W ⊆ R n W \sube R^n WRn,对于每个 y ∈ R n y \in R^n yRn,可以唯一地写作 y = y ^ + z y=\hat y+z y=y^+z,其中 y ^ ∈ W ,   z ∈ W ⊥ \hat y \in W,\,z \in W^\perp y^W,zW;当 { u 1 , ⋯   , u p } \{u_1,\cdots,u_p\} {u1,,up} W W W的一组正交基,那么 y ^ = c 1 u 1 + ⋯ + c p u p ,   c j = y ⋅ u j u j ⋅ u j \hat y = c_1u_1+\cdots+c_pu_p,\,c_j = \dfrac{y \cdot u_j}{u_j \cdot u_j} y^=c1u1++cpup,cj=ujujyuj,且 z = y − y ^ z=y-\hat y z=yy^;这里的 y ^ \hat y y^叫做 y y y W W W上的正交投影,记为 p r o j W ( y ) proj_W(y) projW(y)

  • { u 1 , ⋯   , u p } \{u_1,\cdots,u_p\} {u1,,up} W ⊆ R n W \sube R^n WRn单位正交基,令 U = [ u 1    u 2    ⋯    u p ] U=[u_1\,\,u_2\,\,\cdots\,\,u_p] U=[u1u2up],那么: p r o j W ( y ) = ( y ⋅ u 1 ) u 1 + ⋯ + ( y ⋅ u p ) u p = U U T y proj_W(y) = (y \cdot u_1)u_1+\cdots+(y \cdot u_p)u_p = UU^Ty projW(y)=(yu1)u1++(yup)up=UUTy

  • 如果 y ∈ W y \in W yW,那么 p r o j W ( y ) = y proj_W(y)=y projW(y)=y

  • 最佳近似定理 W ⊆ R n W \sube R^n WRn,对于每个 y ∈ R n y \in R^n yRn,令 y ^ = p r o j W ( y ) \hat y=proj_W(y) y^=projW(y),那么 y ^ \hat y y^ W W W里靠近 y y y最近点 ∥ y − y ^ ∥ < ∥ y − v ∥ ,   y ^ ≠ v ∈ W \Vert y-\hat y \Vert < \Vert y-v \Vert,\,\hat y \not = v \in W yy^<yv,y^=vW

  • Cauchy-Schwarz Inequality ∀ u , v ∈ V ,   ∣ < u , v > ∣ ≤ ∥ u ∥ ⋅ ∣ v ∥ \forall u,v \in V,\,|<u,v>| \le \Vert u \Vert \cdot \vert v \Vert u,vV,<u,v>uv

  • Triangle Inequality ∀ u , v ∈ V ,   ∥ u + v ∥ ≤ ∥ u ∥ + ∣ v ∥ \forall u,v \in V,\,\Vert u+v \Vert \le \Vert u \Vert + \vert v \Vert u,vV,u+vu+v

算法

  • Gram-Schmidt Process:产生正交基的算法

    • 给定 W ⊆ R n W \sube R^n WRn的任意一组基 { x 1 , ⋯   , x p } \{x_1,\cdots,x_p\} {x1,,xp}
    • 计算 v 1 = x 1 v_1=x_1 v1=x1,令 W 1 = S p a n { v 1 } W_1 = Span\{v_1\} W1=Span{v1}
    • 计算 v k = x k − p r o j W k − 1 x k v_{k}=x_k - proj_{W_{k-1}}x_{k} vk=xkprojWk1xk,它与 v j ,   j ≤ k − 1 v_j,\,j \le k-1 vj,jk1都正交,令 W k = S p a n { v 1 , ⋯   , v k } W_{k}=Span\{v_1,\cdots,v_k\} Wk=Span{v1,,vk}
    • 那么 { v 1 , ⋯   , v p } \{v_1,\cdots,v_p\} {v1,,vp} W W W的一组正交基,且 S p a n { v 1 , ⋯   ,   v k } = S p a n { x 1 , ⋯   , x k } ,   1 ≤ k ≤ p Span\{v_1,\cdots,\,v_k\} = Span\{x_1,\cdots,x_k\},\, 1 \le k \le p Span{v1,,vk}=Span{x1,,xk},1kp
    • 易知, v k = x k − ∑ j = 1 k x k ⋅ v j v j ⋅ v j v j v_k = x_k - \sum_{j=1}^k \dfrac{x_k \cdot v_j}{v_j \cdot v_j}v_j vk=xkj=1kvjvjxkvjvj
  • 单位正交基可以由正交基得到: u i = v i ∥ v i ∥ u_i=\dfrac{v_i}{\Vert v_i \Vert} ui=vivi

  • QR分解:对于各列向量线性无关的矩阵 A ∈ R m × n A \in R^{m \times n} ARm×n (列满秩,必定 m ≥ n m \ge n mn),那么有分解: A = Q R A=QR A=QR,其中 Q ∈ R m × n Q \in R^{m \times n} QRm×n C o l ( A ) Col(A) Col(A)的单位正交基,而 R ∈ R n × n R \in R^{n \times n} RRn×n是上三角可逆方阵,且 R i i > 0 R_{ii}>0 Rii>0

    • A A A的列向量是 { x 1 , ⋯   , x n } \{x_1,\cdots,x_n\} {x1,,xn},它是 C o l ( A ) Col(A) Col(A)的一组基。
    • 用Gram-Schmidt Process算法,计算 C o l ( A ) Col(A) Col(A)的单位正交基 { u 1 , ⋯   , u n } \{u_1,\cdots,u_n\} {u1,,un},令 Q = [ u 1   ⋯   u n ] Q=[u_1\,\cdots\,u_n] Q=[u1un]
    • 由于 S p a n { v 1 , ⋯   ,   v k } = S p a n { x 1 , ⋯   , x k } Span\{v_1,\cdots,\,v_k\} = Span\{x_1,\cdots,x_k\} Span{v1,,vk}=Span{x1,,xk},因此 x k = r 1 k u 1 + ⋯ + r k k u k + 0 → x_k = r_{1k}u_1+\cdots+r_{kk}u_k+ \overrightarrow 0 xk=r1ku1++rkkuk+0 ,令 r k = [ r 1 k    ⋯   r k k    0   ⋯   0 ] t r_k = [r_{1k}\,\,\cdots\,r_{kk}\,\,0\,\cdots\,0]^t rk=[r1krkk00]t,则 x k = Q ⋅ r k x_k=Q\cdot r_k xk=Qrk;令 R = [ r 1   ⋯   r n ] R=[r_1\,\cdots\,r_n] R=[r1rn]
    • 易知, A = [ x 1   ⋯   x n ] = [ Q   r 1   ⋯   Q   r n ] = Q R A=[x_1\,\cdots\,x_n]=[Q\,r_1\,\cdots\,Q\,r_n]=QR A=[x1xn]=[Qr1Qrn]=QR
  • 在计算机上,Gram-Schmidt Process计算每个 v k v_k vk时会有小的误差,并会随着计算累积误差,往往使得 u j T u k u_j^Tu_k ujTuk并不接近0;这可以通过重新排列计算来减少误差。为了计算QR分解,我们往往对 A A A左乘一系列正交矩阵 (类似LU分解),使得它变成上三角矩阵。

  • 最小二乘法 A ∈ R m × n A \in R^{m \times n} ARm×n b ∈ R m b \in R^m bRm,那么方程 A x = b Ax=b Ax=b不一定有解,它的最小二乘解定义为: x ^ \hat x x^,使得 ∥ b − A x ^ ∥ ≤ ∥ b − A x ∥ ,   ∀ x ∈ R n \Vert b-A\hat x \Vert \le \Vert b-Ax \Vert,\,\forall x \in R^n bAx^bAx,xRn

    • b ^ = p r o j C o l ( A ) ( b ) \hat b = proj_{Col(A)}(b) b^=projCol(A)(b),那么 A x ^ = b ^ A\hat x=\hat b Ax^=b^,即 x ^ = [ b ^ ] A \hat x = [\hat b]_{A} x^=[b^]A
    • b = b ^ + z = A x ^ + z b=\hat b+z=A\hat x +z b=b^+z=Ax^+z,那么 z ⊥ C o l ( A ) z \perp Col(A) zCol(A),从而 z ∈ N u l ( A T ) z \in Nul(A^T) zNul(AT),即 A T ( b − A x ^ ) = 0 A^T(b-A\hat x)=0 AT(bAx^)=0
    • A x = b Ax=b Ax=b的最小二乘解 x ^ \hat x x^满足方程: A T A x = A T b A^TAx=A^Tb ATAx=ATb,后者叫做normal equations
    • A T A A^TA ATA可逆 (等价于 A A A列满秩,也等价于 A x = b ,   ∀ b ∈ R m Ax=b,\,\forall b \in R^m Ax=b,bRm都有唯一最小二乘解),那么最小二乘解是: x ^ = ( A T A ) − 1 A T b \hat x=(A^TA)^{-1}A^Tb x^=(ATA)1ATb
    • 如果 A A A不是列满秩,那么虽然投影 b ^ \hat b b^唯一,但 A x ^ = b ^ A\hat x=\hat b Ax^=b^的解 x ^ = [ b ^ ] A \hat x=[\hat b]_A x^=[b^]A不唯一
  • 对于列满秩长矩阵 A ∈ R m × n A \in R^{m \times n} ARm×n,它可以分解为 A = Q R A=QR A=QR;那么,对于任意的 b ∈ R m b \in R^m bRm,方程 A x = b Ax=b Ax=b的最小二乘解是: x ^ = R − 1 Q T b \hat x=R^{-1} Q^T b x^=R1QTb

  • x ^ \hat x x^ R x = Q T b Rx=Q^Tb Rx=QTb的解,并且求解这个方程 (利用 [ R   ∣   Q T b ] [R\,|\,Q^Tb] [RQTb]的行约减) 比计算与逆矩阵的乘法要快得多。

  • 一般线性模型 y = X β + ϵ y=X \beta + \epsilon y=Xβ+ϵ;给定 X , y X,y X,y,求最小二乘解 β ^ \hat \beta β^

  • 其他曲线模型: y = β 0 f 0 ( x ) + ⋯ + β k f k ( x ) + ϵ y=\beta_0f_0(x)+\cdots+\beta_kf_k(x)+\epsilon y=β0f0(x)++βkfk(x)+ϵ;已知函数 f j f_j fj,对于固定的参数 β j \beta_j βj,根据点集 ( x i , y i ) (x_i,y_i) (xi,yi),确定出 β ^ j \hat \beta_j β^j

    • 它其实也是线性模型,因为点集 ( x i , y i ) (x_i,y_i) (xi,yi)给定后, f j ( x i ) f_j(x_i) fj(xi)是固定值。

    • 例如, y = β 0 + β 1 x + β 2 x 2 + ϵ y=\beta_0+\beta_1 x+\beta_2 x^2+\epsilon y=β0+β1x+β2x2+ϵ,可以写作
      y = [ 1 x 1 x 1 2 ⋮ 1 x n x n 2 ] [ β 0 β 1 β 2 ] + [ ϵ 0 ϵ 1 ϵ 2 ] = X β + ϵ y= \begin{bmatrix} 1 & x_1 & x_1^2\\ & \vdots \\ 1 & x_n & x_n^2\\ \end{bmatrix} \begin{bmatrix} \beta_0\\ \beta_1\\ \beta_2\\ \end{bmatrix} + \begin{bmatrix} \epsilon_0\\ \epsilon_1\\ \epsilon_2\\ \end{bmatrix} = X\beta+\epsilon y=11x1xnx12xn2β0β1β2+ϵ0ϵ1ϵ2=Xβ+ϵ

  • 对于多变元曲线,举例,二变元曲线,可写作: y = β 0 f 0 ( u , v ) + ⋯ + β k f k ( u , v ) y=\beta_0f_0(u,v)+\cdots+\beta_kf_k(u,v) y=β0f0(u,v)++βkfk(u,v),其中 f j f_j fj是已知函数, β j \beta_j βj是固定的未知参数;给定点集 ( ( u i , v i ) , y i ) ((u_i,v_i),y_i) ((ui,vi),yi),它还是 y = X β + ϵ y=X\beta+\epsilon y=Xβ+ϵ形式。例如 y = β 0 + β 1 u + β 2 v y=\beta_0+\beta_1 u+\beta_2 v y=β0+β1u+β2v,可以写作 y = β 0 + ( β 1 u + β 2 v ) + ( β 3 u 2 + β 4 u v + β 5 v 2 ) y=\beta_0+(\beta_1 u+\beta_2 v) + (\beta_3u^2+\beta_4uv+\beta_5v^2) y=β0+(β1u+β2v)+(β3u2+β4uv+β5v2);更多变元的类似,略。

  • 一元整系数多项式空间 P n P_n Pn上的内积函数:对于 p , q ∈ P n p,q \in P_n p,qPn,给定离散实数 t 0 , ⋯   , t n t_0,\cdots,t_n t0,,tn,定义为
    < p , q > = p ( t 0 ) q ( t 0 ) + p ( t 1 ) q ( t 1 ) + ⋯ + p ( t n ) q ( t n ) <p,q>=p(t_0)q(t_0)+p(t_1)q(t_1)+\cdots+p(t_n)q(t_n) <p,q>=p(t0)q(t0)+p(t1)q(t1)++p(tn)q(tn)
    易证,它满足内积的要求,因此它是内积函数。

  • 利用上述的内积,可以对 P n P_n Pn利用Gram-Schmidt Process计算一组正交基 { p 0 ( x ) , p 1 ( x ) , ⋯   , p n + 1 ( x ) } \{p_0(x),p_1(x),\cdots,p_{n+1}(x)\} {p0(x),p1(x),,pn+1(x)};例如,取定离散点 { − 2 , − 1 , 0 , 1 , 2 } \{-2,-1,0,1,2\} {2,1,0,1,2},那么 { p 0 ( x ) = 1 ,   p 1 ( x ) = x ,   p 2 ( x ) = t 2 − 2 } \{p_0(x)=1,\,p_1(x)=x,\,p_2(x)=t^2-2\} {p0(x)=1,p1(x)=x,p2(x)=t22} P 2 P_2 P2的一组正交基

  • 利用上述的 P n P_n Pn的正交基,给定点集 ( x i , y i ) (x_i,y_i) (xi,yi),那么我们也可以用至多n度的一元多项式做拟合,计算最小二乘解 p ^ ( x ) \hat p(x) p^(x)

  • 连续一元多项式空间上,取值自 C [ a , b ] C[a,b] C[a,b]的任意两个多项式 f ( x ) , g ( x ) f(x),g(x) f(x),g(x),可以定义内积函数: < f , g > = 1 b − a ∫ a b f ( t ) g ( t ) d t <f,g> = \dfrac{1}{b-a}\int_a^b f(t)g(t) dt <f,g>=ba1abf(t)g(t)dt

  • C [ 0 , 2 π ] C[0,2\pi] C[0,2π]上, ∀ n ≥ 1 ,   { 1 , cos ⁡ t , sin ⁡ t , ⋯   , cos ⁡ n t , sin ⁡ n t } \forall n \ge 1,\, \{ 1,\cos{t},\sin{t},\cdots,\cos{nt},\sin{nt} \} n1,{1,cost,sint,,cosnt,sinnt}相互正交。应用:傅里叶级数、傅里叶变换。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值