奇异值:
奇异值分解法是线性代数中重要的矩阵分解法,在信号处理、统计学等领域有着重要的应用。
定义:设a为m*n次矩阵,a '表示a的转置矩阵,A'*A的n个特征值的非负平方根称为a的奇异值。 记为I(a )。
设A‘*A的特征值为I(a‘*a ),则I ) a )=sqrt )I ) a ) ) a )。
核酸矩阵:
奇异矩阵是线性代数的概念,是相应行列式等于0的矩阵。 奇异矩阵的判断方法:首先,看该矩阵是否为方阵(即行数和列数相等的矩阵)。 如果行数和列数不相等,就不能说是特异矩阵和非特异矩阵)。 其次,看这个方阵的行列式|A|是否等于0,如果等于0,就称矩阵a为奇异矩阵; 在不等于0的情况下,将矩阵a称为非奇异矩阵。
另外,根据|A|0可知矩阵a是可逆的,另一个重要结论:可逆矩阵是非奇异矩阵,非奇异矩阵也是可逆矩阵。 当a是奇异矩阵时,AX=0有非零解或无解。 当a为非奇异矩阵时,有AX=0,只有唯一的零解。
svd
设a为m*n次矩阵,a '表示a的转置矩阵,A'*A的n个特征值的非负平方根称为a的奇异值。 记为I(a )。
这几天进行实验涉及奇异值分解SVD(singularvalue )
decomposition ),关于这样的问题,
做PCA的时候把400张图像按照向量排列,结果形成了比如10000*400大小的矩阵。
使用svd函数进行奇异值分解寻找主要成分时,MATLAB提示内存溢出。 稍后我想起了还有一个叫svds的函数。 看到别人在使用,我以为只是一个变体,试着使用了一下,确实和预想的一样。 但是今天很不安,所以我进入变量中一看,发现这个大矩阵被分解了
分解普通svd得到的10000*10000、10000*400、400*400、400 * 400*6三个10000*6、400 * 6的矩阵的乘积,而不是大小为10000*10000、10000*400的矩阵的乘积,吓了我一跳赶紧考试,
发现所有的M*N大小矩阵都是分解为m * 6,6 * 6,N*6大小矩阵的乘积。 为什么会出现6呢? 确实让人纳闷。 帮助
查看svds时,发现了SVDS(a )
返回的是svds返回的最大的6个特征值和与其对应的特征行向量和特征列向量,
幸运的是,我们的实验中在svds得到的列向量中又取了前5个最大的列向量,这与普通svd得到的结果一致,令人吃惊。 还得到了其他一些。 例如
更改此默认设置,然后单击、
例如,用[u,d,v]=svds(A,10 )可获得最大的10个特征值和与其对应的最大的特征行向量和特征列向量,
[u,d,v]=svds(A,10,0 )获得最小的10个特征值和与其对应的特征行向量和特征列向量,
[u,d,v]=SVDS(a,10,2 )获得10个最接近2的特征值以及相应的特征矩阵向量和特征矩阵向量。
也就是说,与svd相比,svds的定制性更高。
奇异值分解非常有用,对于矩阵a(m*n ),存在u ) m ) m ) m ),v ) n ),s ) m*n ),满足a=u * s * v’。
在u和v中分别是a的奇异向量,s是a的奇异值。
AA '正交单位特征向量为u,特征值为S'S,
A'A的正交单位特征向量构成v,特征值(与AA '相同)构成SS '。 因此,奇异值分解与模态问题密切相关
定理和推论
定理:设a为m*n次复矩阵,则存在m次酉矩阵u和n次酉矩阵v,为
a=u * s * v’
其中s=Diag(I,2,r ),i0
(i=1,…,r ),r=rank(A ) ) a )。
推论:
若设a为m*n次实矩阵,则存在m次正交矩阵u和n次正交矩阵v,因此
a=u * s * v’
其中s=Diag(I,2,r ),i0
(i=1,…,r ),r=rank(A ) ) a )。
说明:
1、奇异值分解非常有用,对于矩阵a(m*n ),存在(u ) m ) m ),v ) n ),s ) m*n ),满足A=
u * s * v’。 在u和v中分别是a的奇异向量,s是a的奇异值。 aa的正交单位特征向量为u,特征值为ss,aa的正交单位特征向量为v,特征值(与aa相同)为ss。 因此,奇异值分解与模态问题密切相关。
2,
奇异值分解提供关于a的一些信息。 例如,非零的奇异值的个数(s的阶数)与a的秩相同,一旦秩r确定,u的前r列构成a的列向量空间的正交基。
matlab奇异值分解
函数svd
格式s=SVD(a ) %返回矩阵a的奇异值向量
[U,s,v]=SVD(a ) %返回2个与a相同大小的对角矩阵s,酉矩阵u,v,满足=
是U*S*V '。 如果a是mn阵,那么u是mm阵,v是nn阵。 奇异值在s的对角线上,非负递减排列
[U1,S1,V1]=SVD(x,0 ) %引起了a的“经济”分解,矩阵u的前n列和nn次的
S。说明:
1.“经济型”分解节省存储空间。
2. U*S*V'=U1*S1*V1'。[1]
矩阵近似值
奇异值分解在统计中的主要应用为主成分分析(PCA),它是一种数据分析方法,用来找出大量数据中所隐含的“模式”,它可以用在模式识别,数据压缩等方面。PCA算法的作用是把数据集映射到低维空间中去。
数据集的特征值(在SVD中用奇异值表征)按照重要性排列,降维的过程就是舍弃不重要的特征向量的过程,而剩下的特征向量张成空间为降维后的空间。
正交矩阵
正交矩阵是实数特殊化的酉矩阵,因此总是正规矩阵。尽管我们在这里只考虑实数矩阵,
这个定义可用于其元素来自任何域的矩阵。正交矩阵毕竟是从内积自然引出的,对于复
数的矩阵这导致了归一要求。注意正交矩阵的定义:n阶‘实矩阵’ A称为正交矩阵,如果:A×A′=E(E为单位矩阵,
A'表示“矩阵A的转置矩阵”。) 若A为正交阵,则下列诸条件是等价的:
1) A 是正交矩阵
2) A×A′=E(E为单位矩阵)
3) A′是正交矩阵
4) A的各行是单位向量且两两正交
5) A的各列是单位向量且两两正交
6) (Ax,Ay)=(x,y) x,y∈R