问题标签 [matrix-factorization]

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 投票
2 回答
873 浏览

matlab - 如何在 Matlab 中将矩阵(mxn)分解为两个因子(mxr,rxn)?

我想从一个 mxn 矩阵 A 开始,并将其分解为两个矩阵 mxr 和 rxn。r 可以大于矩阵 A 的维数。

nnmf 只允许r< min(size(A))

有没有办法可以将矩阵分解为两个矩阵?

0 投票
3 回答
5099 浏览

r - 在 R 中执行非负矩阵分解

我在 R 中有一个稀疏矩阵

我现在希望对 R 执行非负矩阵分解

data.txt 是我使用 python 创建的一个文本文件,它由 3 列组成,其中第一列指定行号,第二列指定列号,第三列指定值

数据.txt

原始 data.txt 包含 164009 行,这是 250000x250000 稀疏矩阵的数据

我使用了 NMF 库,我正在做

它给了我一个错误:

函数错误(类、fdef、mtable):无法找到函数 nmf 的继承方法,用于签名“dgCMAtrix”、“missing”、“missing”

谁能帮我弄清楚我做错了什么?

0 投票
2 回答
616 浏览

math - 矩阵求逆 Cholesky 分解 -> 结果不准确

我正在通过 Cholesky 分解使用不同的库计算方阵的逆。然而,我的结果并不像我预期的那样。我不是数学专家,但我期待得到更接近的结果。

我正在使用 MLK、magma 和 CULA 库来计算 CPU 和 GPU 中矩阵的逆矩阵。在对这些库进行计算后,我注意到结果总是在一个元素上有所不同。假设我想计算 的倒数A= [0.237306,0.000458;0.000458,0.238497]

我得到的结果是:

但是,正确的结果应该是

如您所见,inv(A)[3]虽然其他都很好,但它们是不同的。Cholesky Inversion 应该是这样工作的吗?这是一个正确/近似的结果还是我在这里做错了什么?

0 投票
1 回答
5799 浏览

matlab - ichol 作为 cholinc 替代品:非正向枢轴

在 Matlab 2012 中,该cholinc命令被标记为过时。警告消息说它将被替换为ichol. 直到现在我都在使用cholinc(A,droptol),通常与droptol=1E-15. 在我尝试使用的新版本中ichol(A,struct('droptol',droptol,'type','ict')),大部分时间都可以使用,但有时我会收到警告消息

这是一个基本问题(即一个问题cholinc也有但没有报告)还是有办法让ichol行为像cholinc以前那样?

0 投票
1 回答
4071 浏览

python - 是否有好的库可以快速进行非负矩阵分解(NMF)?

我有一个稀疏矩阵,其形状为570000*3000。我试过nima做 NMF(使用默认的 nmf 方法,并设置max_iter为 65)。但是,我发现 nimfa 非常慢。有没有人使用更快的库来做 NMF?

0 投票
2 回答
9995 浏览

matlab - 通过给定的 LU 分解和常数向量求解线性方程组

给定LU LU 分解和常数向量b这样LU*x=b ,是否有任何内置函数可以找到x?意思是 -

请注意,在两者中LU我们都在处理三角矩阵,它可以通过前向和后向替换直接求解,而无需使用高斯消元过程。

编辑 :

求解这个线性方程组应该按照以下步骤——

编辑 2:

我找到了 linalg::matlinsolveLU 但我没有尝试,因为我的版本太旧 ( R2010a) 。它对任何人都有效吗?

0 投票
1 回答
1917 浏览

c++ - 程序中的 LU 分解 (C++)

我需要在我的 C++ 程序中执行 LU 分解(分解,有什么区别?)的函数或类。我正在用作编译器 Dev-c 最新版本(在 Windows 上)。我想出了如何安装犰狳和 lapack,但它似乎真的很复杂,并且有一些问题http://icl.cs.utk.edu/lapack-for-windows/lapack/(如页面底部所说) . 所以我想要一个运行良好的库(在 C++ 中)并且安装起来并不复杂。我在示例中找到了一些关于 Eigen 的东西,怎么样?还有其他建议吗?

谢谢

PS 矩阵在对角线上和附近是密集的,在其余部分是稀疏的,并且靠近角 (NE) 的部分是空的。

0 投票
1 回答
956 浏览

python - 安装 nimfa(Python 矩阵分解库)时出现问题

我有一个大(~25000 x 1000)矩阵要分解。我基于 numpy 编写了自己的代码,但它效率低下并且不断抛出内存错误。

我一直在尝试安装和使用 nimfa ( http://nimfa.biolab.si/ ),并且安装过程(尝试过 easy_install、pip 以及下载和运行 git)没有显示任何错误。但是当我尝试使用它调用它时import nimfa,出现以下错误。我检查了 nimfa 先决条件,除了 numpy 和 scipy 之外,它没有提及任何内容。

我在 Windows 8 上,并使用安装了 numpy 和 scipy 的 Python 2.7.5。我也尝试过安装(并随后卸载)minGW 并执行此操作。

有任何想法吗?

0 投票
1 回答
2154 浏览

matlab - Matlab中使用随机梯度下降的矩阵分解

我必须将MatrixR[m n] 分解为两个低秩矩阵(U[K m] 和 V[K*n]),我这样做是为了通过 U 和 V 预测 R 的缺失值。
矩阵分解

问题是,对于分解R ,我不能使用Matlab分解方法,所以我必须研究目标函数,以最小化sum-of-squared-errors提高分解精度:
目标函数 详细信息如下所示:

在此处输入图像描述


我在这篇文章中的问题是如何在使用随机梯度下降法将 R 分解为 U 和 V 矩阵中最小化函数 F。Matlab

谢谢你的帮助!

0 投票
2 回答
1571 浏览

python - Scipy - 如何进一步优化随机梯度下降的稀疏矩阵代码

我正在使用带有 Scipy 的稀疏矩阵为推荐系统实现随机梯度下降算法。

这是第一个基本实现的样子:

不幸的是,我的代码仍然很慢,即使是一个小的 4x5 评级矩阵。我在想这可能是由于循环的稀疏矩阵。我尝试过使用花哨的索引来表达 q 和 p 的变化,但是由于我对 scipy 和 numpy 还是很陌生,所以我想不出更好的方法来做到这一点。

您对我如何避免显式迭代稀疏矩阵的行和列有任何指示吗?