问题标签 [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.

0 投票
1 回答
874 浏览

svd - SVD 矩阵调节 - 如何从原始空间投影到条件空间?

一种经典的数据去噪方法是创建一个矩阵,执行 SVD,将小的奇异值设置为零,然后将分解的矩阵部分相乘以创建一个新矩阵。这是“调节”或“规范化”输入数据的一种方式。

给定原始矩阵空间中的一个向量,如何将该向量投影到新的条件空间中?

0 投票
1 回答
1097 浏览

matlab - 在 MATLAB 中使用双退化圆锥进行度量校正

我正在以下列方式对具有投影失真的图像进行度量校正:

  • 从原始图像中,我找到了两组平行线并找到了它们的交点(无穷远处的消失点)。
  • 我正在选择一个圆上的五个非共线点来拟合圆锥曲线,然后我正在使用上述点检查该圆锥曲线在无穷远处与直线相交的位置。
  • 我使用这些点来找到扭曲的双退化圆锥曲线。

理论上,由于扭曲的二次曲线由 C*'=HC*H' 确定(C* 是对偶退化二次曲线,' 是转置,H 是我的单应性),我应该能够运行 SVD 来确定 H。未失真,C * 是一个 3x3 单位矩阵,最后一个元素位于对角线零上。但是,如果我运行 SVD,我不会在对角矩阵中得到。对于某些矩阵,我可以通过使用 Cholesky 因式分解来避免这种情况(哪些因素是 C*'=HH' 的因素,至少对于这个来说,这基本上是可以的),但这需要一个正定矩阵。有没有办法将 SVD 中返回的对角矩阵内的比例平均分配到 U 和 V' 矩阵中,同时保持它们相同?(例如 U = V)。

我为此使用 MATLAB。我确定我错过了一些明显的东西......

0 投票
0 回答
99 浏览

svd - 在 svd 分解中寻找朋友

我正在尝试使用 svd 实现协同过滤推荐系统。我有所有的矩阵Uk, Sk, Vkt. 并且还有评级矩阵。

我也有user A vector: {5, 3, 4, 4}user B: {2, 5, 1, 3}

我需要帮助来查找用户 A 和 B 之间的相似性。

0 投票
1 回答
9849 浏览

python - 在 Python 中求解奇异值分解 (SVD)

我正在尝试将 IDL 程序翻译成 Python。我必须通过SVD以下方式解决我所取得的结果

这很好用,并且很好地从 IDL 翻译。下一步是在 IDL(!)

uin python 和 IDL 几乎相同(对于其他矩阵也是如此)。唯一的区别是维度,IDL 的矩阵更大,但有很多零。从这个意义上说,Python 的矩阵看起来更加压缩。

有谁知道 Python 类似的东西。

如果有人需要,这里是svsol.

0 投票
2 回答
2509 浏览

svd - SVD优化公式

有谁知道什么凸优化公式(目标函数)导致矩阵X(n乘p)的奇异值分解或主成分分析?

0 投票
1 回答
4886 浏览

python - 协同过滤的矩阵分解——新用户和项目?

我一直在阅读有关使用矩阵分解进行协同过滤的文章,但我似乎找不到处理向系统添加新用户或项目或让用户评价新项目的示例。在这些情况下,需要重新计算项目-用户矩阵和分解,对吗?这如何在大量用户和物品的情况下表现良好?有办法解决吗?

谢谢

0 投票
1 回答
1562 浏览

java - 快速准确的稀疏 svd 库?

我正在寻找一个快速的 svd 库,无论是 c、c++ 还是 java。最终我使用的是 Java,但我很喜欢使用 jna 来包装 c++,例如http://github.com/hughperkins/jeigen

我正在寻找一个可以处理稀疏矩阵的快速 svd 库。为了保持这个客观性,这样问题就不会被标记为过于主观,让我们说:

我环顾了几个图书馆,发现:

  • matlab:超级快,大约 10 秒,但它并不是真正的“库”。平均平方投影误差:0.93
  • redsvd:超快,运行1秒左右,6个特征,但平均平方投影误差为0.97,非常高
  • Eigen 的 svd 都非常慢,并且仅适用于密集矩阵
  • svdlibc:在我停止之前运行了 28 分钟;我想它是在计算完整的 S,而不仅仅是前 6 个特征左右

基本上,我正在寻找一个库,它提供与 matlab 相同的速度和平均平方投影误差,或者至少具有可比性。

0 投票
1 回答
2882 浏览

mahout - Mahout:如何为新用户推荐

我们计划将 Mahout 用于电影推荐系统。我们还计划使用 SVD 进行模型构建。

当新用户到来时,我们将要求他/她对一定数量的电影(比如 10 部电影)进行评分。

问题是,为了向这个新用户提出建议,我们必须再次重建整个模型。

有更好的方法吗?

谢谢

0 投票
1 回答
110 浏览

c# - **使用 Meta.Numeric.Matrices 进行 SVD 计算时,索引超出了数组的范围**

我正在使用 Meta.Numerics.Matrices 处理矩阵并计算 SVD,
但每当编译器到达最后一行代码时:
“SingularValueDecomposition singValDec=Qmultiply.SingularValueDecomposition();”
我收到一条错误消息,说Index is outisde the bounds of array。我仔细检查了 Qmultiply 数组和其余部分的边界。我尝试调试它,但错误仍然存​​在。
谁能帮我解决这个问题?

0 投票
2 回答
3623 浏览

svd - 奇异值分解算法

我正在尝试使用 numpy 库(numpy-MKL-1.6.2.win-amd64-py2.7)中的奇异值分解算法,但我建议这个函数不正确。该函数有以下语句:

我的假设是基于与 Matlab 中相同函数的比较比较,它给出了正确的答案。我还发现了与V矩阵计算错误有关的问题。

例如,我有矩阵 A:

在 python 中,我收到:

在 Matlab 中:

差异并不那么明显,但它们在 LLS 计算期间变得至关重要。我该如何克服这个问题?

好的,我找到了答案: [U,S,V]=svd(a) - Matlab U, S, Vh = linalg.svd(a), V = Vh.T - Python 也许我的问题对未来的人有帮助。