SVD分解

正奇异值:设$A=A_{m \times n}, rank(A)=p>0$,则$\lambda ({A^H}A)$与$\lambda (A{A^H})$恰有p个正特征根,${\lambda _1} > 0,{\lambda _2} > 0,...,{\lambda _p} > 0$

$\lambda ({A^H}A) = \{ {\lambda _1},{\lambda _2},...,{\lambda _p},0,...,0\} $  n-p个0

$\lambda (A{A^H}) = \{ {\lambda _1},{\lambda _2},...,{\lambda _p},0,...,0\} $  m-p个0

称$\sqrt {{\lambda _1}} ,\sqrt {{\lambda _2}} ,,...,\sqrt {{\lambda _p}} $为正奇异值,记为$S^{+}(A) = \{ \sqrt {{\lambda _1}} ,\sqrt {{\lambda _2}} ,,...,\sqrt {{\lambda _p}} \} $

正奇异值分解:任意$A=A_{m \times n}$,秩$rank(A)=r>0$,则有$A = P\Delta {Q^H}$,

\[\Delta {\rm{ = }}\left[ {\begin{array}{*{20}{c}}
{\sqrt {{\lambda _1}} }&0&0&0\\
0&{\sqrt {{\lambda _2}} }&0&0\\
0&0&{...}&0\\
0&0&0&{\sqrt {{\lambda _p}} }
\end{array}} \right]\]

P和Q为半酉阵,$P^HP=Q^HQ=I$

(1)求$\lambda (A{A^H}) = \lambda ({A^H}A) = \{ {\lambda _1},{\lambda _2},...,{\lambda _p}$与特征向量$x_1,x_2,...,x_r$

(2)令这里的$x_1,x_2,...,x_r$得互相垂直

\[P = \left[ {\begin{array}{*{20}{c}}
{\frac{{A{X_1}}}{{\left| {A{X_1}} \right|}}}&{\frac{{A{X_2}}}{{\left| {A{X_2}} \right|}}}&{...}&{\frac{{A{X_r}}}{{\left| {A{X_r}} \right|}}}
\end{array}} \right]\]

\[Q = \left[ {\begin{array}{*{20}{c}}
{\frac{{{X_1}}}{{\left| {{X_1}} \right|}}}&{\frac{{{X_2}}}{{\left| {{X_2}} \right|}}}&{...}&{\frac{{{X_r}}}{{\left| {{X_r}} \right|}}}
\end{array}} \right]\]

$P=P_{m \times r}, Q=Q_{n \times r}$

(3)有$A = P\Delta {Q^H}$

奇异值分解:

(1)根据正奇异值分解得到$A = P\Delta {Q^H}

(2)扩充$W=[Q_{m \times r},Q_{m \times (n-r)}], V=[P_{n \times r},P_{n \times (n-r)}]$使得P和Q为从半酉阵扩展为酉阵

(3)$\Delta_{r \times r}$0扩充为$\Delta_{n \times n}$

\[D {\rm{ = }}\left[ {\begin{array}{*{20}{c}}
\Delta &0\\
0&0
\end{array}} \right]\]

(4)有

\[{\rm{A = W}}\left[ {\begin{array}{*{20}{c}}
\Delta &0\\
0&0
\end{array}} \right]{V^H}\]

证明:

\[{\rm{A = W}}\left[ {\begin{array}{*{20}{c}}
\Delta &0\\
0&0
\end{array}} \right]{V^H} = \left[ {\begin{array}{*{20}{c}}
{{P_{m \times r}}}&{{P_{m \times (m - r)}}}
\end{array}} \right]{\left[ {\begin{array}{*{20}{c}}
\Delta &0\\
0&0
\end{array}} \right]_{m \times n}}{\left[ {\begin{array}{*{20}{c}}
{{Q_{n \times r}}}&{{Q_{n \times (n - r)}}}
\end{array}} \right]^H} = {P_{m \times r}}\Delta {Q_{n \times r}} = A\]

奇异值分解性质:

(1)方阵$A=A_{n \times n}$,有$S_1S_2...S_n=|det(A)|=$|\lambda_1lambda_2...lambda_n|$

\[\lambda (A) = \{ {\lambda _1},{\lambda _1},...,{\lambda _n}\} \]

\[\lambda (A{A^H}) = \lambda ({A^H}A) = \{ {t_1},{t_2},...,{t_n}\} \]

\[S(A) = \{ \sqrt {{t_1}} ,\sqrt {{t_2}} ,...,\sqrt {{t_n}} \} \]

有:

\[\sqrt {{t_1}} \sqrt {{t_2}} ...\sqrt {{t_n}}  = \left| {\det (A)} \right| = \left| {{\lambda _1}{\lambda _1}...{\lambda _n}} \right|\]

证明:

\[\det ({A^H}A) = \det (A{A^H}) = \det ({A^H})\det (A) = \det (\overline {{A^T}} )\det (A) = \overline {\det (A)} \det (A) = {\left| {\det (A)} \right|^2} \Rightarrow \det ({A^H}A) = {\left| {\det (A)} \right|^2}\]

\[\det ({A^H}A) = {t_1}{t_2}...{t_n} = {({S_1}{S_2}...{S_n})^2}\]

\[{\left| {\det (A)} \right|^2} = {\left| {{\lambda _1}{\lambda _1}...{\lambda _n}} \right|^2}\]

\[{({S_1}{S_2}...{S_n})^2} = {\left| {\det (A)} \right|^2} = {\left| {{\lambda _1}{\lambda _1}...{\lambda _n}} \right|^2} \Rightarrow ({S_1}{S_2}...{S_n}) = \left| {\det (A)} \right| = \left| {{\lambda _1}{\lambda _1}...{\lambda _n}} \right|\]

所以:

\[({S_1}{S_2}...{S_n}) = \left| {\det (A)} \right| = \left| {{\lambda _1}{\lambda _1}...{\lambda _n}} \right|\]

 正SVD分解性质

(1)${\rm{A}} = P\Delta {Q^H} \Rightarrow {A^H} = Q{\Delta ^H}{P^H}$

(2)由正SVD:$A=P \delta Q^H$:

\[\Delta {\rm{ = }}\left[ {\begin{array}{*{20}{c}}
{\sqrt {{\lambda _1}} }&0&0&0\\
0&{\sqrt {{\lambda _2}} }&0&0\\
0&0&{...}&0\\
0&0&0&{\sqrt {{\lambda _p}} }
\end{array}} \right]\]

\[P = \left[ {\begin{array}{*{20}{c}}
{{X_1}}&{{X_2}}&{...}&{{X_r}}
\end{array}} \right]({X_1} \bot {X_2} \bot ... \bot {X_r})\]

\[Q = \left[ {\begin{array}{*{20}{c}}
{{Y_1}}&{{Y_2}}&{...}&{{Y_r}}
\end{array}} \right]({Y_1} \bot {Y_2} \bot ... \bot {Y_r})\]

有:

\[A = \left[ {\begin{array}{*{20}{c}}
{{X_1}}&{{X_2}}&{...}&{{X_r}}
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
{\sqrt {{\lambda _1}} }&0&0&0\\
0&{\sqrt {{\lambda _2}} }&0&0\\
0&0&{...}&0\\
0&0&0&{\sqrt {{\lambda _r}} }
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
{Y_1^H}\\
{\begin{array}{*{20}{c}}
{Y_2^H}\\
{...}
\end{array}}\\
{Y_r^H}
\end{array}} \right] = \sqrt {{\lambda _1}} {X_1}Y_1^H + ... + \sqrt {{\lambda _r}} {X_r}Y_r^H\]

可以令$\sqrt {{\lambda _1}}  \ge \sqrt {{\lambda _2}}  \ge ... \ge \sqrt {{\lambda _r}} $

\[A{\rm{ = }}\sqrt {{\lambda _1}} {X_1}Y_1^H + ... + \sqrt {{\lambda _r}} {X_r}Y_r^H \approx \sqrt {{\lambda _1}} {X_1}Y_1^H\]

可以近似表达A

(3)

\[A = {A_{m \times n}},{S^ + }(A) = \{ {S_1},{S_2},...,{S_r}\}  \Rightarrow tr({A^H}A) = tr(A{A^H}) = \sum {{{\left| {{a_{ij}}} \right|}^2}} \]

原文地址:https://www.cnblogs.com/codeDog123/p/10206787.html

时间: 2024-10-11 15:57:22

SVD分解的相关文章

机器学习中的矩阵方法04:SVD 分解

机器学习中的矩阵方法04:SVD 分解 前面我们讲了 QR 分解有一些优良的特性,但是 QR 分解仅仅是对矩阵的行进行操作(左乘一个酉矩阵),可以得到列空间.这一小节的 SVD 分解则是将行与列同等看待,既左乘酉矩阵,又右乘酉矩阵,可以得出更有意思的信息.奇异值分解( SVD, Singular Value Decomposition ) 在计算矩阵的伪逆( pseudoinverse ),最小二乘法最优解,矩阵近似,确定矩阵的列向量空间,秩以及线性系统的解集空间都有应用. 1. SVD 的形式

矩阵的SVD分解

转自 http://blog.csdn.net/zhongkejingwang/article/details/43053513(实在受不了CSDN的广告) 在网上看到有很多文章介绍SVD的,讲的也都不错,但是感觉还是有需要补充的,特别是关于矩阵和映射之间的对应关系.前段时间看了国外的一篇文章,叫A Singularly Valuable Decomposition The SVD of a Matrix,觉得分析的特别好,把矩阵和空间关系对应了起来.本文就参考了该文并结合矩阵的相关知识把SVD

机器学习Python实现 SVD 分解

这篇文章主要是结合机器学习实战将推荐算法和SVD进行相应的结合 任何一个矩阵都可以分解为SVD的形式 其实SVD意义就是利用特征空间的转换进行数据的映射,后面将专门介绍SVD的基础概念,先给出python,这里先给出一个简单的矩阵,表示用户和物品之间的关系 这里我自己有个疑惑? 对这样一个DATA = U(Z)Vt 这里的U和V真正的几何含义  :  书上的含义是U将物品映射到了新的特征空间, V的转置  将 用户映射到了新的特征空间 下面是代码实现,同时SVD还可以用于降维,降维的操作就是通过

SVD分解的理解

对称阵A 相应的,其对应的映射也分解为三个映射.现在假设有x向量,用A将其变换到A的列空间中,那么首先由U'先对x做变换: 由于正交阵" U的逆=U' ",对于两个空间来讲,新空间下的" 基E' 坐标 x' ,原空间E 坐标x "有如下关系 EX=E'X' ===> X=E'X' ===> X'=(E'的逆)x ==> x向量在新的"基"下的新坐标  (E的转置)X: 1.那么对于上式UTx先可以理解为:将x用A的所有特征向量表

SVD分解 求解超定方程组

做平差的时候,需要解误差方程组,而 有的书本上说解线性的误差方程组,并不需要初值. 在查阅了测量平差书本之后,书里描述,一般是需要参数的初始值的. 这就产生了疑问. 因为非线性方程的线性化之后,舍掉了二次项之后的值,会造成平差模型的弱化.因此在进行非线性方程的平差过程中,一般是对改正值进行一个迭代计算,使其精化. 而线性化之后的各参数的系数中,包含了其他的未知参数,因此在计算的过程之中,必须使用初值. 原本就是线性方程组的平差模型,也可以直接使用SVD分解来解误差方程组. 1.解最小二乘超定方程

Mathmatica SVD分解

mathmathica初识. Mathmatica 进行SVD分解,利用Help帮助获取SVD分解的函数SingularValueDecomposition[] 导入数据:G= Import["D:\\mathmatica\17.txt","Table"],此时以二维数组格式将数据储存之G数组中. 进行SVD分解: [U,S,Vt] = SingularValueDecomposition[G]; 以矩阵格式输出数组: MatirxForm[U]; MatrixFo

(转)机器学习之SVD分解

一.SVD奇异值分解的定义 假设是一个的矩阵,如果存在一个分解: 其中为的酉矩阵,为的半正定对角矩阵,为的共轭转置矩阵,且为的酉矩阵.这样的分解称为的奇异值分解,对角线上的元素称为奇异值,称为左奇异矩阵,称为右奇异矩阵. 二.SVD奇异值分解与特征值分解的关系 特征值分解与SVD奇异值分解的目的都是提取一个矩阵最重要的特征.然而,特征值分解只适用于方阵,而SVD奇异值分解适用于任意的矩阵,不一定是方阵. 这里,和是方阵,和为单位矩阵,为的特征向量,为的特征向量.和的特征值为的奇异值的平方. 三.

SVD++分解

在现实情况下,用户的显式反馈严重不足,但一般拥有大量隐式反馈信息.所以在偏置svd基础上增加了用户的隐式反馈信息,该方法融合了用户的显式和隐式信息. 1.预测评分公式为   其中,有全局平均分,user的偏置信息,item的偏置信息,Ni为该用户评价过的所有item集合,从隐式反馈出发,作为用户偏好的补充,ys为隐式偏好. 2.损失函数为平方误差+L2正则项,其中是真实评分. 3.利用SGD训练更新,其中. 4.程序,(数据movielens 100k,https://github.com/ji

Python中怎样实现奇异值SVD分解

1 >>> from numpy import *; 2 >>> U,Sigma,VT=linalg.svd([[1,1],[]7,7]) 3 SyntaxError: invalid syntax 4 >>> U,Sigma,VT=linalg.svd([[1,1],[7,7]]) 5 >>> U 6 array([[-0.14142136, -0.98994949], 7 [-0.98994949, 0.14142136]]) 8