| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 人工智能 -> 关于pytorch的SVD分解结果和书里不一样的问题 -> 正文阅读 |
|
|
[人工智能]关于pytorch的SVD分解结果和书里不一样的问题 |
碎碎念问题是这样的,今天在看鱼书(《深度学习进阶:自然语言处理》)。看到SVD分解:使用奇异值分解(singular value decomposition,SVD)对矩阵进行降维。 然后我手写了一下书里的代码,结果和书中的输出不一样。本来我想越过这个问题不管它,因为书里还用matplotlib画了散点图,我想我画一下看看和人家结果一不一样不就行了嘛。结果我画图也出bug了。在不能使用图的情况下我只好硬着头皮查资料看看我的SVD分解是不是出错了。 然后我去百度,百度到了什么SVD结果和书上不一样啊和PPT不一样啊怎么的,但是到底也没说为什么,所以我只好自己写一下子了。 SVD是什么SVD就是把一个矩阵分解成U、S、V三个矩阵。其中U、V是两个列向量彼此正交的矩阵。S是除了对角线元素其他都为0的对角矩阵。 示意图大概长这样: 然后知乎上一个例子写的分解公式大概是这样:
原答主是用图像举的例子,分解的项数越多图片越精细(可以参考拉格朗日余项啊之类的项数越多越精细)。 更详细的看知乎:奇异值的物理意义是什么? - 知乎 (zhihu.com) 回到代码我是个数学废物,所以我也不知道结果不一样究竟是什么造成的,但是看完上边那个公式,据我猜测可能是计算保留的项数不一样。所以造成了我和书上的答案不一样。 那如何验证你的结果是否正确呢?
给一段代码自己试一下:
我的结果长这样,可以看到tensor和res的结果是一样的。
你的结果可能和你的矩阵还是不一样?比如下图这种。
|
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/24 1:01:37- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |