使矩阵更大

时间:2016-06-08 23:57:51

标签: java neural-network mtj

我正在将MatrixToolkitsJava用于我的论文的神经网络项目,并且在其中我需要使权重矩阵更大,然后可能更小。我现在正在这样做的方式,创建一个新矩阵并在实例化新值时复制现有值,效率非常低,占绝大部分时间。是否有一种向现有矩阵添加行和列的有效方法?

1 个答案:

答案 0 :(得分:0)

如上所述,您可以使用列表,但如果您已经设置了使用数组,则可以创建一个方法来创建新数组,复制数据,然后替换您正在存储的引用。

如果您使用System.arrayCopy(Object src, int srcPos, Object dest, int destPos, int length),如果您没有使用巨型阵列,它将足够快。

编辑:我不敢相信我之前没想过这个。只需使用矩阵乘法来复制数据。例如,要使2乘2乘3乘3,只需做[2,2] x [(1,0),(0,1),(0,0)] = [2,3] => [(1,0,0),(0,1,0)] x [2,3] = [3,3]