无效的训练数据。预测和响应必须有相同数量的观察。多个输入层,功能回归

8视图(30天)
我有一个错误的无效的训练数据。预测和响应必须有相同数量的观察。”,当我试图训练回归网络款。
我的问题是:
  1. 我不知道如何输入组(X)的多个输入层特性(不输入图像或序列)。解释说,数据存储是用于多个输入层,但我不知道怎么从我的两个输入数据存储阵列(X1, X2)。
  2. 样品的数量是相等的所有数据(X1, X2, Y)。但是我不知道为什么错误说他们不平等数量的样品(观察)
下面附加的代码
% X1: num_samples x feature1数组
% X2: num_samples x feature2数组(feature2 = 1)
% Y: num_samples x 1
X =细胞(1、2);
X {1} = X2;
X {2} = X1;
% %多个输入层
lgraph = layerGraph ();
tempLayers = featureInputLayer (1,“名称”,“featureinput_2”);
lgraph = addLayers (lgraph tempLayers);
tempLayers = [
featureInputLayer(大小(X1, 2),“名称”,“featureinput_1”)
fullyConnectedLayer (128“名称”,“fc0”)
tanhLayer (“名称”,“act0”)
fullyConnectedLayer (64“名称”,“fc1”)
tanhLayer (“名称”,“act1”)
fullyConnectedLayer (32,“名称”,“取得”)
tanhLayer (“名称”,“act2”)
fullyConnectedLayer (12,“名称”,“一个fc3”文件)
tanhLayer (“名称”,“act3”)
fullyConnectedLayer (4“名称”,“fc4”)
tanhLayer (“名称”,“act4”)
fullyConnectedLayer (1,“名称”,“fc5”)
tanhLayer (“名称”,“act5”));
lgraph = addLayers (lgraph tempLayers);
tempLayers = [
multiplicationLayer (2“名称”,“乘法”)
regressionLayer (“名称”,“regressionoutput”));
lgraph = addLayers (lgraph tempLayers);
清晰的tempLayers;
lgraph = connectLayers (lgraph,“featureinput_2”,“乘法/ in2”);
lgraph = connectLayers (lgraph,“act5”,“乘法/三机一体”);
选择= trainingOptions (“亚当”,
“MiniBatchSize”,128,
“洗牌”,“every-epoch”,
“阴谋”,“训练进步”,
“详细”假的,
“MaxEpochs”,10000);
网= trainNetwork (X, Y, lgraph、期权);

答案(1)

书中
书中 11分钟前
嗨YoungSeo !
我试图重现这个问题。“预测误差和响应应该相同数量的观察”可能发生由于维度的输入“Y”。请确保“Y”的尺寸是正确的。例如,如果您有5000个观测,那么你的“Y”应该是一个数组的大小“5000 x 1”。
如果您正在使用一个数值数组作为“trainNetwork”的“X”,然后你必须指定“反应”的论点。或者,您可以使用“数据存储”来训练神经网络。
创建“数据存储”。请参考以下 MATLAB文档。
有关“trainNetwork”功能的更多信息和示例参考以下 MATLAB文档。
希望这可以帮助!
谢谢你! !

下载188bet金宝搏


释放

R2021b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!