我正在尝试使用MatLab生成能够回归的神经网络。本质上,我想将36个输入映射到24个输出。 (最终,我想将网络过渡到RNN或LSTM体系结构,但还没有。)
可悲的是,我只能找到图像输入的文档! MatLab文档建议这样设置图层:
layers = [
imageInputLayer([28 28 1])
convolution2dLayer(3,8,'Padding','same')
batchNormalizationLayer
reluLayer
averagePooling2dLayer(2,'Stride',2)
convolution2dLayer(3,16,'Padding','same')
batchNormalizationLayer
reluLayer
averagePooling2dLayer(2,'Stride',2)
convolution2dLayer(3,32,'Padding','same')
batchNormalizationLayer
reluLayer
convolution2dLayer(3,32,'Padding','same')
batchNormalizationLayer
reluLayer
dropoutLayer(0.2)
fullyConnectedLayer(1)
regressionLayer];
如何设置网络以仅接受36个浮点输入?我有一个要使用的训练数据为900000行36列的矩阵(对于地面真实情况,则为900000x24)。
答案 0 :(得分:0)
如果我理解正确,如果您有36个行的900000个样本,则您已经有一个平面数组作为输入,因此我认为卷积神经网络不会比浅层(https://it.mathworks.com/help/deeplearning/gs/fit-data-with-a-neural-network.html)更好。或回归(https://it.mathworks.com/help/deeplearning/ug/generalized-regression-neural-networks.html)。 无论如何,您应该将imageInputLayer更改为[1 36 1],因为只有一行,并为拟合提供一组目标。