奇异值分解——matlab中svd函数用法总结

本文介绍了奇异值分解(SVD)的基本概念及其在矩阵分解中的作用。SVD将矩阵分解为三个矩阵的乘积,用于PCA降维以压缩数据和去除噪声,也可应用于推荐系统中解析用户和物品的关系。SVD中的U和V是正交单位向量,Σ是对角奇异值矩阵,揭示了矩阵的旋转和缩放效应。通过不同参数设置,SVD可以产生经济规模的分解。SVD在数据处理和信息检索等领域有着广泛的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了学PCA,发现要用到svd就先研究研究。

svd奇异值分解函数声明翻译

%SVD    Singular value decomposition.

SVD奇异值分解

%   [U,S,V] = SVD(X) produces a diagonal matrix S, of the same 
%   dimension as X and with nonnegative diagonal elements in
%   decreasing order, and unitary matrices U and V so that
%   X = U*S*V'.

[U,S,V] = SVD(X) 生成一个对角矩阵S,它的维数与X相同,
对角元素的降序为非负,酉矩阵U和V使 X = USV’

%   S = SVD(X) returns a vector containing the singular values.

S = SVD(X) 返回包含单数值的向量。

%   [U,S,V] = SVD(X,0) produces the "economy size"
%   decomposition. If X is m-by-n with m > n, then only the
%   first n columns of U are computed and S is n-by-n.
%   For m <= n, SVD(X,0) is equivalent to SVD(X).

产生“经济规模”的分解。如果X是m-by-n且m>n,则只计算U的前n列,S是n-by-n。对于m<=n,SVD(X,0)相当于SVD(X)。

%   [U,S,V] = SVD(X,'econ') also produces the "economy size"
%   decomposition. If X is m-by-n with m >= n, then it is
%   equivalent to SVD(X,0). For m < n, only the first m columns 
%   of V are computed and S is m-by-m.

[U,S,V]=SVD(X,‘econ’)也会产生“经济规模”分解。如果X是m-by-n且m>=n,则它等价于SVD(X,0)。对于m<n,只计算V的前m列,S是m-by-m。

自己的理解

看了几个推导没整明白,放弃推到,反正我就是用,我先了解U,S,V是干啥用的就行。
在这里插入图片描述
上诉公式为奇异值分解公式,与matlab中输出的U,S,V相对应。

  • 特点1:奇异值分解可以把一个大矩阵,分解成三个小矩阵相乘。

由于这个重要的性质,SVD可以用于PCA降维,来做数据压缩和去噪。也可以用于推荐算法,将用户和喜好对应的矩阵做特征分解,进而得到隐含的用户需求来做推荐。同时也可以用于NLP中的算法,比如潜在语义索引

  • 特点2:U和V是两组正交单位向量,Σ是对角阵,表示奇异值,它表示我们找到了U和V这样两 A矩阵的作用是将一个向量从V这组正交基向量的空间旋转到U这组正交基向量空间, 并对每个方向进行了一定的缩放,缩放因子就是各个奇异值。如果维度比大,则表示还进行了投影。可以说奇异值分解将一个矩阵原本混合在一起的三种作用效果,分解出来了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值