Pytorch和Tensorflow在相同数据规模规模下的降维SVD(Singular Value Decompositionm)算法中的运算速度对比

本文对比了Pytorch和Tensorflow在相同数据规模下执行Singular Value Decomposition (SVD)算法的运算速度。SVD在PCA降维和数据压缩中有重要作用,虽然两者都能达到类似PCA的效果,但SVD在某些情况下更为稳定。实验结果显示,Pytorch在SVD运算上比Tensorflow更快。此外,SVD在分类任务上的表现优于PCA。
摘要由CSDN通过智能技术生成

Pytorch和Tensorflow在相同数据规模规模下的降维SVD(Singular Value Decompositionm)算法中的运算速度对比

上一篇文章讲了如何在Pytorch和Tensorflow中使用PCA降维算法,这篇文章就来讲一下降维的另一种算法SVD算法。
那么既然有PCA那我们为什么要用SVD呢?

对于奇异值,它跟我们特征分解中的特征值类似,在奇异值矩阵中也是按照从大到小排列,而且奇异值的减少特别的快,在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上的比例。也就是说,我们也可以用最大的几个的奇异值和对应的左右奇异向量来近似描述矩阵。正是由于这个性质,SVD可以用于PCA降维,来做数据压缩和去噪。

PCA和SVD的区别

  1. SVD可以获取另一个方向上的主成分,而PCA只能获得单个方向上的主成分。
  2. 第二,PCA在计算机中运算量很大,而SVD更加容易得到结果。
  3. 通过SVD可以得到PCA相同的结果,但是SVD通常比直接使用PCA更稳定。因为PCA需要计算 X T X X^TX XTX 的值,对于某些矩阵,求协方差时很可能会丢失一些精度。

SVD算法的基本原理

我们在上一篇文章中了解到特征值与特征向量,其中 A = P B P T A=PBP^T A=PBPT,P为A的特征向量组成的矩阵。那么我们可以假设A也可以被分解为 A = U ∑ V T A=U \sum V^T A=UVT,其中矩阵A是一个m×n的矩阵,U是一个m×m的矩阵,Σ是一个m×n的矩阵,除了主对角线上的元素以外全为0,主对角线上的每个元素都称为奇异值,V是一个n×n的矩阵. U T U = E , V T V = E U^TU=E,V^TV=E UTU=E,VTV=E(也有的书将E写为I)。
U U U被称为左奇异矩阵, V V V被称为右奇异矩阵。
那么我们如何求要的U和V呢?
假设 A = U ∑ V T A=U \sum V^T A=UVT那么 A A T = U ∑ V T V ∑ U T =

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是在 Visual Studio Code 添加 pytorchtensorflow 虚拟环境的 python 解释器的步骤: 1. 创建虚拟环境 首先,你需要在你的系统安装好 pytorchtensorflow,并创建好虚拟环境。在命令行执行以下命令: ``` # 创建 pytorch 虚拟环境 conda create --name pytorch_env pytorch # 创建 tensorflow 虚拟环境 conda create --name tensorflow_env tensorflow ``` 2. 打开 Visual Studio Code 打开 Visual Studio Code,并打开你要使用的工作区。 3. 打开命令面板 按下 `Ctrl + Shift + P` 或者 `Command + Shift + P` 打开命令面板。 4. 选择解释器 在命令面板输入 “Python: Select Interpreter” 并选择该命令。 5. 选择虚拟环境 在弹出的选项,选择你要使用的虚拟环境。例如,如果你要使用 pytorch 环境,则选择 `anaconda3/envs/pytorch_env/bin/python`。如果你要使用 tensorflow 环境,则选择 `anaconda3/envs/tensorflow_env/bin/python`。 6. 配置工作区设置 在 Visual Studio Code 的左侧边栏,点击 “设置” 按钮,打开工作区设置。在工作区设置添加以下配置: ``` "python.pythonPath": "anaconda3/envs/pytorch_env/bin/python", // 使用 pytorch 环境 或 "python.pythonPath": "anaconda3/envs/tensorflow_env/bin/python", // 使用 tensorflow 环境 ``` 7. 确认配置 保存工作区设置并重新启动 Visual Studio Code。确认你的配置是否生效。 现在,你就可以在 Visual Studio Code 使用你的 pytorchtensorflow 虚拟环境了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值