问题标签 [matrix-decomposition]

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 投票
0 回答
342 浏览

r - 编写一个输出最大似然估计的 R 函数?

我将如何编写一个 R 函数,它采用响应 vec y 和协变量矩阵 X 并输出系数 β 的最大似然估计向量,其中 μ = Xβ 和 E[Y] = μ,其中 Y 是指数分布的随机向量?

我可以使用 qr() 和相关函数,并且需要使用 QR 分解从第一原理对迭代重新加权最小二乘算法进行编程。

0 投票
1 回答
421 浏览

matlab - 具有对称和正半定矩阵的 MvNormal 误差

我的问题的总结是我正在尝试复制 Matlab 函数:

进入 Julia 使用:

结果是一个 200 x 7 的矩阵,本质上是生成 200 个随机返回的时间序列数据。

Matlab 有效,而 Julia 无效。

我的输入矩阵是:

使用 Distributions.jl,运行该行:

产生错误:

矩阵 sigma 是对称的,但只是半正定的:

Matlab 为这些测试产生相同的结果,但是 Matlab 能够生成 200x7 随机返回样本矩阵。

有人可以建议我可以做些什么来让它在 Julia 中工作吗?或者问题出在哪里?

谢谢。

0 投票
3 回答
1627 浏览

matlab - 我的例子表明 SVD 的数值稳定性不如 QR 分解

我在 Math Stackexchange 中问过这个问题,但似乎没有得到足够的关注,所以我在这里问。https://math.stackexchange.com/questions/1729946/why-do-we-say-svd-can-handle-singular-matrx-when-doing-least-square-comparison?noredirect=1#comment3530971_1729946

我从一些教程中了解到,在解决最小二乘问题时,SVD 应该比 QR 分解更稳定,并且能够处理奇异矩阵。但是下面我用matlab写的例子似乎支持了相反的结论。我对 SVD 没有深入的了解,所以如果你能在 Math StackExchange 的旧帖子中查看我的问题并向我解释,我将不胜感激。

我使用具有大条件数(e+13)的矩阵。结果显示 SVD 得到的误差(0.8)比 QR(e-27)大得多

0 投票
0 回答
133 浏览

algorithm - 计算上三角矩阵奇异值分解的最有效方法?

有几种方法可用于计算一般矩阵的 SVD。我很想知道可用于计算上三角矩阵的 SVD 的最佳方法。请建议我一种可以针对这种特殊情况进行优化的算法。

0 投票
0 回答
65 浏览

scikit-learn - 如何在 Sklearn NMF 库的 cd 求解器中施加稀疏约束?

最近,我发现 Sklearn NMF 库弃用了它的 pg 求解器,现在使用它的 cd 求解器。使用 cd 求解器,我认为我不能应用稀疏约束。或者也许 L1 速率隐含地表示稀疏?有没有办法应用稀疏约束?

因为我想在 NMF 中使解空间更小,所以我想指定稀疏约束以提高性能并减小解空间大小。是否有指定稀疏约束的替代方法?

0 投票
1 回答
526 浏览

matrix - 如何在 fortran 函数中输出 2 个或更多数组?

我正在编写一个计算矩阵的 LU 分解的程序,具有部分旋转,我希望该函数输出几个(2 或 3)个矩阵,而不需要多次运行程序来单独输出每个矩阵,这是浪费时间,因为它让我一次获得我想要的一切。有没有办法做到这一点?例如,这是我使用 Doolittle 算法的函数,用于不需要旋转的方阵。我希望我的输出同时成为矩阵 l 和 u,但我不知道这样做的方法。

0 投票
1 回答
387 浏览

eigen - computeScalingRotation 和 computeRotationScaling 有什么区别

Eigen 的 Transform 类的文档中,有两个签名几乎相同的成员函数:

两个函数都有相同的文档(乘法顺序rotation * scaling在两个函数中)。

将变换的线性部分分解为乘积旋转 x 缩放,缩放不一定是正的。

如果任一指​​针为零,则跳过相应的计算。

这是在 SVD 模块中定义的。

它们之间有什么区别?

0 投票
2 回答
229 浏览

python - 使用保存的 W 矩阵应用矩阵分解进行分类

我正在对 tf-idf 输入执行 NMF 分解以执行主题分析。

这将返回W,一个由主题到术语分配的模型定义和H,一个文档到主题分配矩阵

到目前为止一切顺利,我可以使用 H 根据它们通过词频与主题列表的关联对文档进行分类,而主题列表又基于它们与词频的关联。

我想将主题术语关联保存到磁盘,以便稍后重新应用它们 - 并采用此处描述的方法 [ https://stackoverflow.com/questions/8955448]来存储 W 的稀疏矩阵表示.

所以我现在想做的是执行相同的过程,只修复主题定义矩阵 W。

在文档中,我似乎可以在调用参数中设置 W 类似的内容:

我已经尝试过了,但它似乎不起作用。

我已经通过使用不同大小的词汇表编译 W 矩阵进行了测试,然后将其输入到applyModel函数中,结果矩阵的形状应该由 W 模型定义(或者我应该说,这就是我想要的),但事实并非如此。

这个问题的简短版本是:如何保存从矩阵分解生成的主题模型,以便我可以使用它来分类与最初生成它的文档集不同的文档集?

换句话说,如果V = WH ,那么在给定VW的情况下,我如何返回H

0 投票
0 回答
117 浏览

matlab - Suitesparse 等价于复半对称矩阵的 MATLAB A/b

我目前正在使用 MATLAB 对结构对称但值不对称的非常大、非常稀疏、复杂的矩阵进行矩阵除法(即 A(1,2)=3+4i 和 A(2,1)=3- 4i)。

我现在正在将我的代码转换为 Java。Suitesparse/LApack 中 A\b 的正确等效函数是什么?

我知道这是 MATLAB 为 A\b 运行的,但 chol 似乎仅限于实数对称矩阵。

0 投票
1 回答
3051 浏览

r - R 中的 chol() 函数不断返回上三角(我需要下三角)

我正在尝试使用该chol()函数在 R 中获取以下矩阵的下三角 Cholesky 分解。但是,它不断返回上三角分解,即使在查看文档之后,我似乎也找不到获得下三角分解的方法。以下是我正在使用的代码 -

我基本上需要找到Q这样的矩阵QQ' = X。谢谢你的帮助!