R中的多维稀疏数组(3路张量)
Posted
技术标签:
【中文标题】R中的多维稀疏数组(3路张量)【英文标题】:Multidimensional sparse array (3-way tensor) in R 【发布时间】:2012-11-28 21:38:27 【问题描述】:使用Matrix
包我可以创建一个二维稀疏矩阵。
有人能推荐一个包,让我在 R 中创建一个多维(特别是 3 维)稀疏矩阵(数组,或者技术上是三向张量)吗?
【问题讨论】:
我认为我从未在线性代数中遇到过 3D“矩阵”。这是干什么用的? 在 R 中,矩阵只是二维的。 3D(或实际上是 nD)矩阵称为数组。 好吧,他应该说“数组”的时候说的是“矩阵”……但它真的需要关闭吗?! 我没有投票结束。刚刚提到它认为它会帮助 OP 找到他正在寻找的东西(如果您没有正确的词汇表,那么在帮助页面中导航并不容易)。 @duffymo:您可以使用数组来存储多维数据,或者用于张量操作... 【参考方案1】:slam
包有一个 simple_sparse_array
类:http://finzi.psych.upenn.edu/R/library/slam/html/array.html,尽管它只支持索引和强制(如果你想做张量运算或元素运算,而不转换回常规密集数组,你必须自己实现它们......)
我发现了这个
library("sos")
findFn("sparse array")
【讨论】:
包的名字好像是slam
而不是abind
。【参考方案2】:
还有 tensorr
包,它看起来很有希望为稀疏张量提供支持,并且像 PARAFAC/CANDECOMP 等张量分解也在待办事项列表中:
https://cran.r-project.org/web/packages/tensorr/README.html
【讨论】:
以上是关于R中的多维稀疏数组(3路张量)的主要内容,如果未能解决你的问题,请参考以下文章
使用稀疏张量为 TensorFlow 中的 softmax 层提供占位符