问题标签 [svd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
machine-learning - 如何使用svd根据物品推荐物品
我已经训练了一个SVD
模型来推荐基于userId
. 但是,有没有办法根据项目列表而不是推荐项目userId
?
例如,给定一个项目列表[1,2,3,4,5]
,SVD
模型会找到最相似的项目[9,10]
。我的解决方案是从 input 中找到每个 item 的相似项[9,10]
,并获取 common 项作为输出。
那是,
- 与第 1 项相似的项目是
[9,10,12]
和 - 与第 2 项相似的项目是
[9,10,13]
。
所以常见的项目是[9,10]
,但我不知道是否有更好的方法来做到这一点。
analysis - 潜在语义分析 (LSA) 单值分解 (SVD) 理解
通过我对 LSI(机械工程背景)的适度理解,请耐心等待:
在 LSI 中执行 SVD 后,您有 3 个矩阵:
U、S 和 V 转置。
U 将单词与主题进行比较,S 是每个特征强度的一种度量。Vt 将主题与文档进行比较。
返回 SVD 之前的原始矩阵。如果不做太多(无)深入的代数,似乎:
返回逐项矩阵,该矩阵提供项之间的比较。即一个术语与其他术语的相关程度,一种比较单词而不是组件的DSM(设计结构矩阵)。我可能完全错了,但我在样本数据集上进行了尝试,结果似乎很有意义。但这可能只是偏见(我希望它起作用,所以我看到了我想要的)。由于文档受到保护,我无法发布结果。
不过我的问题是:这有意义吗?逻辑上?数学上?
感谢您的任何时间/回复。
svd - 使用 svd 进行平面拟合的残差
我正在使用奇异值分解为一组点(X、Y、Z 坐标)拟合最佳拟合平面。所以我用
现在我想要点的残差。我知道我可以计算平面方程来获得残差,但我想问是否有一些直接的方法可以从 u,s,v 矩阵中获取残差?
r - 获取 R 中 SVD 的列名
我在 R 中对一个名为 data 的数据框进行 SVD
我使用绘制结果
我发现在图中,列号与数据框中的列号不对应(无论我使用 SVD 的列子集,第一列总是显示最高方差)。
我的问题是,如何在图中获取列名(或“真实”索引)?
python - 使用 python 在 12 x 12 矩阵上使用 numpy.linalg.svd
我想在 12*12 矩阵上执行 SVD。numpy.linalg.svd
作品很好。但是当我尝试通过执行 u*s*v 来取回 12*12 矩阵 A 时,我没有取回它。
这些是我使用的要点:
请提出一些建议...
c# - 奇异值分解 - 社交网络分析
我有一个由邻接矩阵表示的非常大的节点网络。我想减少网络中的节点数量以包含更重要的节点。我知道 SVD 可以帮助我实现这一点,我已经使用 ILNumerics 库在邻接矩阵上运行 svd() 方法。
有人可以简单地向我解释一下输出是如何帮助我减少网络维度的吗?SVD 过程给我留下了一个大小相同的矩阵,其对角线的递减值范围从 ~2 到多个 0。我如何知道要删除哪些维度被认为不重要?
我可能总体上错误地执行了此过程,因此将不胜感激任何帮助!网上的许多解释很快就会变得非常混乱。
python - 如何从 numpy svd 获得残差
我已经使用 numpy svd 拟合了一组点,并具有拟合函数的系数。据我了解该算法,它将计算沿途点的残差,我想恢复它们但看不到如何做到这一点。任何有关如何获得这些的指导将不胜感激。
matlab - 在二次回归中使用奇异值分解 (svd)
为了对相当大的数据集进行二次回归,我想使用 svd(奇异值分解)求解以下方程: B(nx1)=A(nx3)*X(3x1) 我正在考虑使用 matlab那,任何提示?目标是计算矩阵 X
eigen - 使用 Eigen 计算零空间是错误的?
我正在使用 Eigen 库 ( http://eigen.tuxfamily.org ) 使用 SVD 函数进行 Null Space 计算。我将输出与matlab中的“Null”函数进行了比较,得到了不同的结果。用调试器单步执行它,并查看 Eigen 创建的 V 矩阵与 matlab 中的 V 矩阵,有一个奇怪的区别。
V矩阵中的左奇异向量(下例中左3列)几乎相同,只是符号交换了。右奇异向量(零空间;右下方 3 列)根本不是很相似。
知道什么会导致这种情况吗?我是否错误地使用了 SVD 函数?下面的代码和示例结果。
这是代码:“输入”是一个普通的 C++ 数组:
以下是一些示例结果:
A(输入)=
V(Matlab) =
V(特征) =
谢谢您的帮助!
opencv - 通过 SVD 从基本矩阵中提取翻译的正确方法
我校准了我的相机并找到了内在参数(K)。我还计算了基本矩阵(F)。
现在 E= K_T* F * K 。到目前为止,一切都很好。
现在我们将基本矩阵 (E) 传递给 SVD,以使用分解值 (U,W,V) 来提取旋转和平移:
** 问题)在这一点上,提出了两种方法,我很困惑哪一种方法真正给出了正确的答案——专门用于翻译:
首先方法在这里输入链接描述作者建议计算R,T如下:
但在第二种方法 [ http://isit.u-clermont1.fr/~ab/Classes/DIKU-3DCV2/Handouts/Lecture16.pdf]中,作者为 T 提供了另一个公式,即 +U , -U 如下所示:
我正在使用 openCv 库在 C# .Net 上实现它。有人知道哪个翻译公式是正确的吗?