https://www.bilibili.com/video/BV1b4411j7V3?p=2
[ 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
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(Am∗n)=r,Cm∗r,Rr∗n,Mr∗r
为了求 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稀疏。
[ 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包含剩余信息。
写了那么多其实这部分内容并不重要,在这门课不会再出现了
当 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=∣∣Qx∣∣2=xTQTQx=xTx=∣∣x∣∣2,∣∣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θ]
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=I−2uuT。 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=I−4uuT+4uuTuuT=I
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=21[111−1],H4=41[H2H2H2−H2],H2n+1=2n+11[H2nH2nH2n−H2n]
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⎦⎥⎥⎤
假设 A n ∗ n A_{n*n} An∗n有 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} An∗n,Bn∗n均可逆, 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)M−1
反对称矩阵没有实特征值
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=λxH−xHAHx=−λxHx又A=−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=[01−10],作用在二维实向量上, 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同方向,因此特征值和特征向量都是复数。
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} Um∗m,Vn∗n,下标大于 r r r的向量从 N ( A T ) , N ( A ) N(A^T),N(A) N(AT),N(A)取,但因为这部分在计算中会全部等于0,没有信息量,所以SVD的矩阵中可以只取下标小于等于 r r r的部分。
任意矩阵 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 Am∗n=Um∗rΣr∗rVn∗rT=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 m∗n正交阵。
由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
向量 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=∣∣v∣∣2=∑i=1nvi2,L1范数 l 1 = ∣ ∣ v ∣ ∣ 1 = ∑ i = 1 n ∣ v i ∣ 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 ∣ v i ∣ l^{\infty}=||v||_{\infty}=\max_{i=1,\cdots,n}{|v_i|} l∞=∣∣v∣∣∞=maxi=1,⋯,n∣vi∣
最小化L1范数时优秀的向量的稀疏向量
常数 c , ∣ ∣ c v ∣ ∣ = ∣ 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∣∣称为 A A A的范数(the norm of A A A),是矩阵尺度(大小)的一种测量
∣ ∣ A ∣ ∣ 2 = σ 1 ||A||_2=\sigma_1 ∣∣A∣∣2=σ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}} ∣∣A∣∣F=∑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} ∣∣A∣∣Nuclear=∑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
如果 B B B是秩 k k k矩阵,那么 A , B A,B A,B的距离 ∣ ∣ A − B ∣ ∣ ≥ ∣ ∣ A − A k ∣ ∣ ||A-B||≥||A-A_k|| ∣∣A−B∣∣≥∣∣A−Ak∣∣
对3种范数,定理都成立
对一组数据点构成的矩阵,先对每一项数据均值化(例如身高加和为0),再求协方差矩阵 A A T N − 1 \frac{AA^T}{N-1} N−1AAT,求出近似直线,直线的斜率就是 σ 1 \sigma_1 σ1(?教授没说清楚)
跟最小二乘不同,这里误差是点到直线的垂直距离,最小二乘是竖直距离
(教授这部分说得比较模糊,似乎留到练习课了)
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=∣∣v∣∣p=(∑i=1n∣vi∣p)1/p
L0范数 l 0 = ∣ ∣ v ∣ ∣ 0 = 非 零 成 分 的 个 数 , ∣ ∣ c v ∣ ∣ 0 = ∣ ∣ v ∣ ∣ 0 l^0=||v||_0=非零成分的个数,||cv||_0=||v||_0 l0=∣∣v∣∣0=非零成分的个数,∣∣cv∣∣0=∣∣v∣∣0
S范数 ∣ ∣ v ∣ ∣ S = v T S v ||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使得 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)或菱形的某一边。扩张到高维也适用可是并不能画出高维图像呢
∣ ∣ A ∣ ∣ 2 = σ 1 ||A||_2=\sigma_1 ∣∣A∣∣2=σ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}} ∣∣A∣∣2=maxfor all x∣∣x∣∣2∣∣Ax∣∣2,可以理解为将 ∣ ∣ x ∣ ∣ 2 ||x||_2 ∣∣x∣∣2放大的一个系数
上述最优化问题中,获取最优解时的 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 ∣∣v1∣∣2∣∣Av1∣∣2=∣∣Av1∣∣2=∣∣σ1u1∣∣2=∣σ1∣∣∣u1∣∣2=σ1)
∣ ∣ 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}} ∣∣A∣∣F=∑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(Am∗nBn∗m)=∑(AB)ii=i=1∑m(j=1∑naijbji)=j=1∑n(i=1∑mbjiaij)=∑(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)} ∣∣A∣∣F=∑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} ∣∣A∣∣F=∑i=1rσi2
∣ ∣ A ∣ ∣ N = ∑ i = 1 r σ i ||A||_N=\sum_{i=1}^{r}{\sigma_i} ∣∣A∣∣N=∑i=1rσi
A m ∗ n A_{m*n} Am∗n将 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+=A−1,画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 A−1=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 ∣∣Ax−b∣∣22
损失函数(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 ∣∣Ax−b∣∣22=(Ax−b)T(Ax−b)=xTATAx−2bTAx+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=Vn∗nΣn∗m+Um∗mTUΣm∗nVT=VIn∗nVT=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} Rn∗n满秩(否则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=R−1(RT)−1RTQTb=R−1QTb
当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 ∣∣Ax−b∣∣22+δ2∣∣x∣∣22(线性回归变为嵴回归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Σ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⋱σr0⋱⎦⎥⎥⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎡σ12+δ2σ1⋱σr2+δ2σr0⋱⎦⎥⎥⎥⎥⎤n∗m=⎣⎢⎢⎢⎢⎡σ11⋱σr10⋱⎦⎥⎥⎥⎥⎤=Σn∗m+=VΣ+UT=A+
因此 x ^ = A + b \hat{x}=A^+b x^=A+b总是成立的
这一节是为了解决大尺寸的矩阵,或近似奇异(列非常接近相关,或者说奇异值非常接近0)矩阵的Ax=b问题,减小电脑的计算误差
A = [ a 1 a 2 ⋯ a n ] A=[\begin{array}{cccc}a_1&a_2&\cdots&a_n\end{array}] A=[a1a2⋯an],挑选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 ∣∣Ai∣∣2太小时,标准化时其作为分母,计算机会引入非常大的误差。
用于解决很大的稀疏矩阵Ax=b的问题
A n ∗ n , b n A_{n*n},b_n An∗n,bn,那么 b , A b , A ( A b ) , ⋯ , A j − 1 b b,Ab,A(Ab),\cdots,A^{j-1}b b,Ab,A(Ab),⋯,Aj−1b构成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表示出来。(然而怎么求系数根本没提,这节课上了个寂寞,教授你在干什么)
满秩矩阵 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 An∗n=A0=Qn∗nRn∗n=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=R0A0R0−1=Q0−1A0Q0=Q0TA0Q0
重复这个过程,对角线下的元素会越来越小,最后对角线会非常接近特征值, λ n \lambda_n λn首先在对角线最后准确地出现。
加入偏移量会加速上述过程,更快得到特征值
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 A0−sI=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=Q0−1(A0−sI)Q0+sI=Q0−1A0Q0−sI+sI
因此仍然相似。
程序(matlab)计算特征值的方式,先将矩阵消元(程序似乎用相似变换做)化为Hessenberg矩阵(上三角+下面多一行对角线),再进行有偏移的QR过程
如果A对称,则后续得到的 A i A_i Ai对称,Hessenberg矩阵是一个三对角线矩阵,只有中央三条对角线,同样是对称矩阵
算法分为两步,第一步得到很多0,且这些0的位置在第二步过程中仍然为0,第二步进行QR过程。相似变换不改变特征值, B = M A M − 1 B=MAM^{-1} B=MAM−1,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子空间做近似,表示出特征值、奇异值等矩阵的特征。(一百万规模的矩阵用一百维子空间就可以精确地近似,比如特征向量可以用一百维近似表示出来)。都是教授说的,没有证明,没有详述。
均值、期望 m e a n = E = p ∗ 对 应 样 本 x mean=E=p*对应样本x mean=E=p∗对应样本x
方差 σ 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[(x−mean)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∣∣=2∣∣a1∣∣,取样概率 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) Am∗nBn∗p=∑(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} AB≈s∑j=1saijbijT∗n=s∑j=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(ajbjT∗n)/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=sAB∗s=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=C∣∣aj∣∣∣∣bjT∣∣,C=∑∣∣aj∣∣∣∣bjT∣∣,使得概率和为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=∑pjs2pj2∣∣aj∣∣2∣∣bjT∣∣2−s2∣∣AB∣∣F2
总方差 σ 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(∑pj∣∣aj∣∣2∣∣bjT∣∣2−∣∣AB∣∣F2),利用 p j = ∣ ∣ a j ∣ ∣ ∣ ∣ b j T ∣ ∣ C p_j=\frac{||a_j||||b_j^T||}{C} pj=C∣∣aj∣∣∣∣bjT∣∣, σ 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(∑C1∣∣aj∣∣∣∣bjT∣∣−∣∣AB∣∣F2)=s1(C2−∣∣AB∣∣F2)
也没解释为什么求方差的时候矩阵的平方这样处理,这节课真的看了个寂寞
现在证明上式是能得到的最小方差,选择的概率是最优概率
最小化方差即最小化 ∑ ∣ ∣ a j ∣ ∣ 2 ∣ ∣ b j T ∣ ∣ 2 s p j \sum{\frac{||a_j||^2||b_j^T||^2}{sp_j}} ∑spj∣∣aj∣∣2∣∣bjT∣∣2,利用拉格朗日乘子,加入约束项
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