本系列文章由 youngpan1101 出品,转载请注明出处。
文章链接: http://blog.csdn.net/youngpan1101/article/details/54574130
作者:宋洋鹏(youngpan1101)
邮箱: yangpeng_song@163.com
齐次线性方程组
设有齐次线性方程组:
⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪a11x1+a12x2+...+a1nxna21x1+a22x2+...+a2nxn.........................am1x1+am2x2+...+amnxn=0=0....=0(1)
令
A=⎡⎣⎢⎢⎢a11a21...am1a12a22...am2............a1na2n...amn⎤⎦⎥⎥⎥m×n,x=⎡⎣⎢⎢⎢x1x2...xn⎤⎦⎥⎥⎥n×1
则方程组 (1) 可以写成向量方程 Ax=0 。解的性质
(1) 若 x=ξ1,x=ξ2 为 Ax=0 的解,则 x=ξ1+ξ2 也是 Ax=0 的解。
(2) 若 x=ξ1 为 Ax=0 的解, k 为是实数,则x=kξ1 也是 Ax=0 的解。可知,方程组的全体解向量所组成的集合,对于加法和数乘运算时封闭的,因此构成一个向量空间,称此向量空间为齐次线性方程组 Ax=0 的 解空间。
基础解系的定义
η1,η2,...,ηt 称为齐次线性方程组 Ax=0 的基础解系,则有
(1) η1,η2,...,ηt 是 Ax=0 的一组线性无关的解;
(2) Ax=0 的任一解都可由 η1,η2,...,ηt 线性表示。
如果 η1,η2,...,ηt 为齐次线性方程组 Ax=0 的一组基础解系,那么, Ax=0 的通解可以表示为 x=k1η1+k2η2+...+ktηt ,其中 k1,k2,...,kt 是任意常数。定理
n 元齐次线性方程组Am×nx=0 的全体解所构成的集合 S 是一个向量空间,当系数矩阵A 的秩 rank(Am×n)=r 时,解空间 S 的维数为n−r 。- r=rank(A)=n ,该解空间维数为 0,也就是说该解空间只含有零向量。
- r=rank(A)<n ,齐次线性方程组解空间维数 =n−rank(A)>0 ,该方程组有非零解,而且不唯一。此时,方程组的解可以表示为 x=k1η1+k2η2+...+kn−rηn−r 。
非齐次线性方程组
设有非齐次线性方程组:
⎧⎩⎨⎪⎪⎪⎪⎪⎪⎪⎪a11x1+a12x2+⋯+a1nxna21x1+a22x2+⋯+a2nxn.........................am1x1+am2x2+...+amnxn=b1=b2....=bm(2)
令
A=⎡⎣⎢⎢⎢a11a21...am1a12a22...am2............a1na2n...amn⎤⎦⎥⎥⎥m×n,x=⎡⎣⎢⎢⎢x1x2...xn⎤⎦⎥⎥⎥n×1,b=⎡⎣⎢⎢⎢b1b2...bm⎤⎦⎥⎥⎥m×1
则方程组 (2) 可以写成向量方程 Ax=b , 向量 b 中元素不全为 0 。方程组的解
令矩阵A 的增广矩阵为
A˜=⎡⎣⎢⎢⎢⎢⎢a11a21⋮am1a12a22⋮am2⋯⋯⋮⋯a1na2n⋮amnb1b2⋮bm⎤⎦⎥⎥⎥⎥⎥m×(n+1)- rank(A)<rank(A˜) , 方程组 (2) 无解
- rank(A)=rank(A˜)=n , 方程组 (2) 有唯一解
- rank(A)=rank(A˜)<n , 方程组 (2) 有无穷解
- rank(A)>rank(A˜) 不可能出现, 因为增广矩阵的秩大于等于系数矩阵的秩(矩阵加入一列,其秩只能增大,不可能变小)
奇异值分解:SVD
reference:
- 矩阵奇异值分解
- 矩阵分解——SVD分解
- [数学]齐次线性方程组的解、SVD、最小二乘法
- SVD解线性方程组——秘密大起底
- 机器学习中的数学(5)-强大的矩阵奇异值分解(SVD)及其应用
- SVD分解的并行实现
- 并行计算奇异值分解–Jacobi旋转
- 奇异值分解(SVD)是计算机视觉领域中一种使用最为广泛的矩阵分解技术
- 奇异值和特征值的重要意义相似,都是为了提取出矩阵的主要特征
奇异值的定义
设 A∈Cm×nr ,且 AHA 的特征值为 ( AH 为 A 的复共轭转置矩阵)
λ1≥λ2≥...≥λr>λr+1=⋯=λm=0
称 σi=λi−−√(i=1,2,...,r) 为矩阵 A 的正奇异值,简称 奇异值 。
注:A 的正奇异值个数 r=rank(A) ,并且 A 与AH 有相同的奇异值。
存在 m 阶酉矩阵U 和 n 阶酉矩阵V ,使得
A=UDVH=U[Σ0(m−r)×r0r×(n−r)0(m−r)×(n−r)]VH,其中Σ=⎡⎣⎢⎢⎢⎢⎢σ1σ2⋱σr⎤⎦⎥⎥⎥⎥⎥
上式中 D 的对角元叫做A 的奇异值, U 中的列向量称为A 的左奇异向量, V 中的列向量称为A 的右奇异向量。SVD 解线性方程组
(1) 解非齐次线性方程组 ( Ax=b )
当 A 的行数大于列数时,需要求解最小二乘解,即使得||Ax−b||2 最小的 x ,由2-范数具有酉不变性,有:
||Ax−b||2=∣∣∣∣∣∣∣∣U[Σ0(m−r)×r0r×(n−r)0(m−r)×(n−r)]VHx−b∣∣∣∣∣∣∣∣=∣∣∣∣∣∣∣∣[Σ0(m−r)×r0r×(n−r)0(m−r)×(n−r)]VHx−UHb∣∣∣∣∣∣∣∣
所以 Ax=b 的最小二乘解即是 [Σ0(m−r)×r0r×(n−r)0(m−r)×(n−r)]VHx=UHb 的最小二乘解。
令 y=VHx , c=UHb , [Σ0(m−r)×r0r×(n−r)0(m−r)×(n−r)]y=c 表达成矩阵的形式如下:
⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢σ1σ2⋱0(m−r)×rσr0r×(n−r)0(m−r)×(n−r)⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥m×n⋅⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢y1y2⋮yrY(n−r)×1⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥n×1=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢c1c2⋮crC(m−r)×1⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥m×1
故 Dy=c 的最小二乘解为 y=[c1σ1,c2σ2,⋯,crσr,0,⋯,0n−r]T ,原方程组的最小二乘解为 x=VHy 。
(2) 解齐次线性方程组 ( Ax=0 )
相似的情况,把问题转化为 min(||Ax||2) 的非线性优化问题, x=0 是该方程的一个特解,为了避免这种情况(实际应用中 x=0 往往不是我们想要的),这里增加一个约束,比如 ||x||2=1 ,这样,问题就变为:
min(||Ax||2),||x||2=1
又
||Ax||=||UDVHx||=||DVHx||(2−范数的酉不变性)
令 y=VHx ,问题变为
min(||Dy||),||y||=1
因为对角阵 D 的对角元素按递减的顺序排列,所以最优解在y=[0,0,⋯,1]T 处取得,又因为 x=Vy ,所以最优解是 V <script type="math/tex" id="MathJax-Element-95">V</script> 的最小奇异值对应的列向量。