【发布时间】:2017-04-26 13:13:34
【问题描述】:
我需要一个可以输入 10 个输入的神经网络:前 9 个是简单数字,最后一个是矩阵 (15x15)。我的输出将是最后 3 个数字。有什么方法可以在不将矩阵转换为向量的情况下做到这一点?因为如果我将它转换成一个向量,我会失去我的数字的位置,或者不是? 非常感谢。
【问题讨论】:
标签: matrix multidimensional-array input neural-network output
我需要一个可以输入 10 个输入的神经网络:前 9 个是简单数字,最后一个是矩阵 (15x15)。我的输出将是最后 3 个数字。有什么方法可以在不将矩阵转换为向量的情况下做到这一点?因为如果我将它转换成一个向量,我会失去我的数字的位置,或者不是? 非常感谢。
【问题讨论】:
标签: matrix multidimensional-array input neural-network output
没有理由转换矩阵会导致数字位置丢失。例如,您可以使用 numpy 的 flatten 以特定顺序获取向量,然后使用 numpy 的 reshape 将其转换回矩阵,使用相同的顺序:
In:
array([[1,2], [3, 4], [5, 6]]).flatten('F').reshape((3, 2), order='F')
Out:
array([[1, 2],
[3, 4],
[5, 6]])
【讨论】:
矢量化数据很少会损害性能。 但是,也有一些模型可以解决您的问题: https://www.mii.lt/informatica/pdf/INFO720.pdf
此模型接受纯矩阵值输入。但是很容易通过添加额外的向量值输入来修改它(即w'x + u'Xv,其中x是9个向量,15x15 X是矩阵)。
【讨论】: