广州市公司网站建设平台,山西工程建设招标网,app介绍视频模板,ps做网站需注意什么文章目录1. 奇异值分解的定义与性质1.1 定义1.2 两种形式1.2.1 紧奇异值分解1.2.2 截断奇异值分解1.3 几何解释1.4 主要性质2. 奇异值分解与矩阵近似2.1 弗罗贝尼乌斯范数2.2 矩阵的最优近似2.3 矩阵的外积展开式3. 奇异值分解Python计算4. SVD应用一种矩阵因子分解方法矩阵的奇…
文章目录1. 奇异值分解的定义与性质1.1 定义1.2 两种形式1.2.1 紧奇异值分解1.2.2 截断奇异值分解1.3 几何解释1.4 主要性质2. 奇异值分解与矩阵近似2.1 弗罗贝尼乌斯范数2.2 矩阵的最优近似2.3 矩阵的外积展开式3. 奇异值分解Python计算4. SVD应用一种矩阵因子分解方法矩阵的奇异值分解一定存在但不唯一奇异值分解可以看作是矩阵数据压缩的一种方法即用因子分解的方式近似地表示原始矩阵这种近似是在平方损失意义下的最优近似
1. 奇异值分解的定义与性质
1.1 定义
Am×nUΣVTUUTImVVTInΣdiag(σ1,σ2,...,σp)σ1≥σ2≥...≥σp≥0pmin(m,n)A_{m \times n} U \Sigma V^T\\ UU^TI_m\\ VV^TI_n\\ \Sigmadiag(\sigma_1,\sigma_2,...,\sigma_p) \\ \sigma_1\ge \sigma_2 \ge...\ge\sigma_p \ge0\\ p\min(m,n)Am×nUΣVTUUTImVVTInΣdiag(σ1,σ2,...,σp)σ1≥σ2≥...≥σp≥0pmin(m,n)
UΣVTU \Sigma V^TUΣVT 称为矩阵 AAA 的奇异值分解SVDUUU 是 mmm 阶正交矩阵 VVV 是 nnn 阶正交矩阵Σ\SigmaΣ 是 m×nm \times nm×n 的对角矩阵σi\sigma_iσi 称为矩阵 AAA 的奇异值UUU 的列向量左奇异向量VVV 的列向量右奇异向量
1.2 两种形式
1.2.1 紧奇异值分解
上面的SVD称为完全SVD Am×nUrΣrVrTA_{m \times n} U_r \Sigma_r V_r^TAm×nUrΣrVrT 紧奇异值分解仅由前 rrr 列得到对角矩阵 Σr\Sigma_rΣr 的秩与原始矩阵 AAA 的秩相等
1.2.2 截断奇异值分解
只取最大的 k 个奇异值 (kr,r为矩阵的秩)(k r, r 为矩阵的秩)(kr,r为矩阵的秩) 对应的部分就得到矩阵的截断奇异值分解
实际应用中提到的经常指的 截断SVD
Am×n≈UkΣkVkT,0kRank(A)A_{m \times n} \approx U_k \Sigma_k V_k^T,\quad 0kRank(A)Am×n≈UkΣkVkT,0kRank(A)
在实际应用中常常需要对矩阵的数据进行压缩将其近似表示奇异值分解提供了一种方法奇异值分解是在平方损失弗罗贝尼乌斯范数意义下对矩阵的最优近似紧奇异值分解—无损压缩截断奇异值分解—有损压缩
1.3 几何解释
矩阵的SVD也可以看作是将其 对应的线性变换 分解为 旋转变换、缩放变换及旋转变换的组合。 这个变换的组合一定存在。
1.4 主要性质
(1) 由 AUΣVTAU\Sigma V^TAUΣVT 有
ATA(UΣVT)T(UΣVT)V(ΣTΣ)VTAAT(UΣVT)(UΣVT)TU(ΣΣT)UTA^TA(U\Sigma V^T)^T(U\Sigma V^T)V(\Sigma^T\Sigma)V^T\\ AA^T(U\Sigma V^T)(U\Sigma V^T)^TU(\Sigma\Sigma^T)U^TATA(UΣVT)T(UΣVT)V(ΣTΣ)VTAAT(UΣVT)(UΣVT)TU(ΣΣT)UT 对称矩阵 ATAA^TAATA 和 AATAA^TAAT 的特征分解 可由矩阵 AAA 的奇异值分解矩阵表示 (2) AVUΣ⇒Avjσjuj,j1,2,...,nATUVΣT⇒ATujσjvj,j1,2,...,n;ATuj0,jn1,n2,...,mAVU\Sigma \Rightarrow Av_j\sigma_ju_j,j1,2,...,n\\ A^TUV\Sigma^T \Rightarrow A^Tu_j\sigma_jv_j,j1,2,...,n;A^Tu_j0,jn1,n2,...,mAVUΣ⇒Avjσjuj,j1,2,...,nATUVΣT⇒ATujσjvj,j1,2,...,n;ATuj0,jn1,n2,...,m (3) SVD奇异值 σ1,σ1,...,σn\sigma_1,\sigma_1,...,\sigma_nσ1,σ1,...,σn 是唯一的但矩阵 U,VU,VU,V 不唯一 (4) 矩阵 AAA 和 Σ\SigmaΣ 的秩相等等于正奇异值 σi\sigma_iσi 的个数 rrr (5) 矩阵 AAA 的 rrr 个右奇异向量 v1,v2,...,vrv_1,v_2,...,v_rv1,v2,...,vr 构成 ATA^TAT 的值域 的一组标准正交基 矩阵 AAA 的 n−rn-rn−r 个右奇异向量 vr1,vr2,...,vnv_r1,v_r2,...,v_nvr1,vr2,...,vn 构成 AAA 的零空间 的一组标准正交基 矩阵 AAA 的 rrr 个左奇异向量 u1,u2,...,uru_1,u_2,...,u_ru1,u2,...,ur 构成 AAA 的值域 的一组标准正交基 矩阵 AAA 的 m−rm-rm−r 个左奇异向量 ur1,ur2,...,umu_r1,u_r2,...,u_mur1,ur2,...,um 构成 ATA^TAT 的零空间 的一组标准正交基
2. 奇异值分解与矩阵近似
2.1 弗罗贝尼乌斯范数
奇异值分解也是一种矩阵近似的方法这个近似是在弗罗贝尼乌斯范数Frobenius norm意义下的近似 矩阵的弗罗贝尼乌斯范数是 向量的L2范数的直接推广对应着机器学习中的平方损失函数
设矩阵 A[aij]m×nA[a_{ij}]_{m \times n}A[aij]m×n, 其弗罗贝尼乌斯范数为∣∣A∣∣F(∑i1m∑j1n(aij)2)1/2||A||_F \bigg( \sum\limits_{i1}^m \sum\limits_{j1}^n(a_{ij})^2\bigg)^{1/2}∣∣A∣∣F(i1∑mj1∑n(aij)2)1/2
假设 AAA 的奇异值分解为 AUΣVTAU\Sigma V^TAUΣVT 其中对角矩阵 Σdiag(σ1,σ2,...,σp)\Sigmadiag(\sigma_1,\sigma_2,...,\sigma_p)Σdiag(σ1,σ2,...,σp)则 ∣∣A∣∣F(σ12σ22...σn2)1/2||A||_F \bigg(\sigma_1^2\sigma_2^2...\sigma_n^2\bigg)^{1/2}∣∣A∣∣F(σ12σ22...σn2)1/2
2.2 矩阵的最优近似
奇异值分解 是在平方损失弗罗贝尼乌斯范数意义下对矩阵的最优近似即数据压缩
紧奇异值分解是在弗罗贝尼乌斯范数意义下的无损压缩截断奇异值分解是有损压缩。截断奇异值分解得到的矩阵的秩为k通常远小于原始矩阵的秩r所以是由低秩矩阵实现了对原始矩阵的压缩
2.3 矩阵的外积展开式
矩阵 AAA 的奇异值分解 UΣVTU\Sigma V^TUΣVT 也可以由外积形式表示
将 AAA 的奇异值分解看成矩阵 UΣU\SigmaUΣ 和 VTV^TVT 的乘积将 UΣU\SigmaUΣ 按列向量分块将 VTV^TVT 按行向量分块即得
3. 奇异值分解Python计算
import numpy as np
a np.random.randint(-10,10,(4, 3)).astype(float)
print(a)
print(-----------------)
u, sigma, vT np.linalg.svd(a)
print(u)
print(-----------------)
print(sigma)
print(-----------------)
print(vT)
print(-----------------)
# 将sigma 转成矩阵
SigmaMat np.zeros((4,3))
SigmaMat[:3, :3] np.diag(sigma)
print(SigmaMat)
print(------验证-------)
a_ np.dot(u, np.dot(SigmaMat, vT))
print(a_)结果
[[-6. 8. 9.][ 6. 8. -8.][ 6. -1. 2.][ 6. 9. -9.]]
-----------------
[[-0.30430452 0.93673281 0.17295875 -0.00395842][ 0.64134399 0.19762952 0.04109474 -0.74022408][ 0.06410812 -0.16033168 0.98267774 0.0672931 ][ 0.70140345 0.24034966 -0.05235412 0.66897256]]
-----------------
[19.56867211 12.83046891 6.0370638 ]
-----------------
[[ 0.52466311 0.45709993 -0.71818401][-0.30821258 0.88838353 0.34026417][ 0.79355758 0.04282928 0.60698602]]
-----------------
[[19.56867211 0. 0. ][ 0. 12.83046891 0. ][ 0. 0. 6.0370638 ][ 0. 0. 0. ]]
------验证-------
[[-6. 8. 9.][ 6. 8. -8.][ 6. -1. 2.][ 6. 9. -9.]]4. SVD应用
请参考基于奇异值分解SVD的图片压缩实践