【无标题】

奇异值分解(Singular Value Decomposition)是机器学习领域广泛应用的算法,可以用于降维,推荐系统,自然语言处理等领域。

          Ax=λx     (式-1)

A为n阶矩阵,x为非零向量,λ为常数,则称λ为A的特征值,x为A的特征向量

对于多个λ特征值,则有一个特征向量矩阵,得到如下公式

为特征向量矩阵,主对角线上为特征值,其余为0。

1. 右奇异矩阵V

      特征分解只能对方阵进行。对于非方阵的矩阵可以使用奇异值分解(SVD)。

        使用SVD,您可以将矩阵分解为三个矩阵。我们将这些新矩阵视为空间的子变换。不是在一个动作中进行转换,而是将其分解为三个动作。

        最后,我们会将SVD应用于图像处理,看到SVD对示例图像的影响。

        我们将A分解为3个矩阵(而不是使用特征分解的两个):


奇异值分解 (SVD)
         矩阵 U、D 和 V 具有以下属性:

        U和V是正交矩阵并且

        D是一个对角矩阵(除对角线外全为 0)。 然而D不一定是正方形的。 

        U称为A的左奇异向量,而V称为A的右奇异向量。沿D对角线的值是A的奇异值。

        以下是分解的维度:


奇异值分解的维度
         奇异值的对角矩阵不是正方形,而是具有 A 的形状。

        下面是Numpy文档中提供的示例,创建了一个与 A 形状相同的零矩阵并用奇异值填充它:

smat = np.zeros((9, 6), dtype=complex)
smat[:6, :6] = np.diag(s)
        对于奇异值分解背后的直觉需要对矩阵变换的思想进行一些解释。这里有几个示例展示了如何通过 2D 方阵转换空间。 希望可以更好地理解:A 是一个矩阵,可以看作是一个线性变换。 该变换可以分解为三个子变换:1. 旋转,2. 重新缩放,3. 旋转。 这三个步骤对应于三个矩阵 U、D 和 V。
 

2. 对于奇异值,它跟我们特征分解中的特征值类似,在奇异值矩阵中也是按照从大到小排列,而且奇异值的减少特别的快,在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上的比例。也就是说,我们也可以用最大的k个的奇异值和对应的左右奇异向量来近似描述矩阵。也就是说:

    其中k要比n小很多,也就是一个大的矩阵A可以用三个小的矩阵

来表示。

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

3.行降维和列将维

本节通过协方差的角度去理解行降维和列降维,首先探讨下协方差的含义:

单个变量用方差描述,无偏方差公式:

a3e6251c5f246d24ce919c1e2a368d1e.png

0d7e9a10b80a86f144b486267dd08887.png

两个变量用协方差描述,协方差公式:

f7d28cf36fef26e5ec967529723e2515.png

多个变量(如三个变量)之间的关系可以用协方差矩阵描述:

908be191efbb7ba256b43227300851be.png

相关系数公式:

707449b8e8bed501c1b9b58b15bcb0f3.png

由上式可知,协方差是描述变量间的相关关系程度:

1)协方差cov(x,y) > 0时,变量x与y正相关;

2)协方差cov(x,y)<0时,变量x与y负相关;

3)协方差cov(x,y)=0时,变量x与y不相关;

 

4.任何矩阵都能进行SVD分解,SVD可以用于行降维和列降维,SVD在数据压缩、推荐系统和语义分析有广泛的应用,SVD与PCA的缺点一样,分解出的矩阵解释性不强 .

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值