特征值分解、PCA和奇异值分解计算过程

参考链接:

https://www.cnblogs.com/jian-gao/p/10781649.html
https://www.matools.com/blog/190127138
https://zhuanlan.zhihu.com/p/114553439
https://www.cnblogs.com/jian-gao/p/10781649.html
https://www.cnblogs.com/pinard/p/6251584.html
https://blog.csdn.net/yzy_1996/article/details/100540556

奇异值分解可以将一个比较复杂的矩阵用更小更简单的几个子矩阵的相乘来表示,这些小矩阵描述的是矩阵的重要的特性。就像是描述一个人一样,给别人描述说这个人长得浓眉大眼,方脸,络腮胡,而且带个黑框的眼镜,这样寥寥的几个特征,就让别人脑海里面就有一个较为清楚的认识,实际上,人脸上的特征是有着无数种的,之所以能这么描述,是因为人天生就有着非常好的抽取重要特征的能力,让机器学会抽取重要的特征,SVD是一个重要的方法。

奇异值分解和特征值分解的区别

矩阵可以认为是一种线性变换,而且这种线性变换的作用效果与基的选择有关。
以Ax = b为例,x是m维向量,b是n维向量,m,n可以相等也可以不相等,表示矩阵可以将一个向量线性变换到另一个向量,这样一个线性变换的作用可以包含旋转、缩放和投影三种类型的效应。

在这里插入图片描述它表示我们找到了和这样两组基,A矩阵的作用是将一个向量从这组正交基向量的空间旋转到
这组正交基向量空间,并对每个方向进行了一定的缩放,缩放因子就是各个奇异值。如果维度比大,则表示还进行了投影
。可以说奇异值分解将一个矩阵原本混合在一起的三种作用效果,分解出来了。

而特征值分解其实是对旋转缩放两种效应的归并。(有投影效应的矩阵不是方阵,没有特征值,无法做特征值分解)
特征值,特征向量由Ax=x得到,它表示如果一个向量v处于A的特征向量方向,那么Av对v的线性变换作用只是一个缩放
。也就是说,求特征向量和特征值的过程,我们找到了这样一组基,在这组基下,矩阵的作用效果仅仅是存粹的缩放。

总结一下,特征值分解和奇异值分解都是给一个矩阵(线性变换)找一组特殊的基,特征值分解找到了特征向量这组基,在这组基下该线性变换只有缩放效果。而奇异值分解则是找到另一组基,这组基下线性变换的旋转、缩放、投影三种功能独立地展示出来了。我感觉特征值分解其实是一种找特殊角度,让旋转效果不显露出来,所以并不是所有矩阵都能找到这样巧妙的角度。

特征值用来描述方阵,可看做是从一个空间到自身的映射。奇异值可以描述长方阵或奇异矩阵,可看做是从一个空间到另一个空间的映射。

实对称矩阵特征值分解步骤

A = Q∑Q-1
在这里插入图片描述

PCA算法流程

在这里插入图片描述

奇异值分解步骤

在这里插入图片描述
在这里插入图片描述

奇异值的计算是一个难题,是一个O(N^3)的算法。在单机的情况下当然是没问题的,matlab在一秒钟内就可以算出1000 * 1000的矩阵的所有奇异值,但是当矩阵的规模增长的时候,计算的复杂度呈3次方增长,就需要并行计算参与了。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值