use trainnetwork for normal regression
3 次查看(过去 30 天)
显示 更早的评论
Hi,
I have a dataset of 63 inputs and 1 output for a regression problem. Total sample 39686.
X: 63x39686
Y: 1x39686
I can easily use "net=fitnet(...)" and "train(net X,Y)" to train the model.
But I want to try the trainnetwork function. After configuring the layers like this:
layers = [
sequenceInputLayer(size(X,1),"Name","sequence_In","Normalization","rescale-zero-one")
fullyConnectedLayer(20,"Name","fc_1")
fullyConnectedLayer(20,"Name","fc_2")
regressionLayer("Name","regressionoutput")];
and options:
options = trainingOptions('sgdm', ...
'InitialLearnRate',0.001, ...
'Verbose',false, ...
'Plots','training-progress');
Then I train the model:
net = trainNetwork(X,Y,layers,options);
But it always shows :
To RESHAPE the number of elements must not change.
Error in NN_training_deep (line 33)
net = trainNetwork(X_,Y',layers,options);
Does anyone know how to solve this problem?
0 个评论
采纳的回答
Srivardhan Gadila
2020-3-6
The outputSize argument for the fullyConnectedLayer before the regressionLayer must be 1 as the number of ouputs for your regression problem is 1.
layers = [
sequenceInputLayer(size(X,1),"Name","sequence_In","Normalization","rescale-zero-one")
fullyConnectedLayer(20,"Name","fc_1")
fullyConnectedLayer(20,"Name","fc_2")
fullyConnectedLayer(1,"Name","fc_3")
regressionLayer("Name","regressionoutput")];
3 个评论
Srivardhan Gadila
2020-3-6
The loss seems very high, try normalizing the data.
Also refer to the following links:
wahed fazeli
2020-5-30
编辑:wahed fazeli
2020-5-30
I have a dataset of 9 inputs and 1 output for training data. Total sample 488
B: 9x488
F: 1x488
I want to train my data using deep learning but when i want to do that .matlab r2018b give me nothing.
these are codes of matlab.
Firstly i have used this code but it gave me some errors.
layers = [
sequenceInputLayer(size(B,1),"Name","sequence_In","Normalization","rescale-zero-one")
fullyConnectedLayer(20,"Name","fc_1")
fullyConnectedLayer(20,"Name","fc_2")
fullyConnectedLayer(1,"Name","fc_3")
regressionLayer("Name","regressionoutput")];
Error using sequenceInputLayer>iParseInputArguments (line 41)
'Normalization' is not a recognized parameter. For a list of valid name-value pair arguments, see the documentation
for this function.
Error in sequenceInputLayer (line 26)
inputArguments = iParseInputArguments(varargin{:});
so i have changed the code and write this code.so it worked at first.
layers = [
sequenceInputLayer(size(b,1),"Name","sequence_In")
fullyConnectedLayer(20,"Name","fc_1")
fullyConnectedLayer(20,"Name","fc_2")
fullyConnectedLayer(1,"Name","fc_3")
regressionLayer("Name","regressionoutput")];
and write this code for options.
option=trainingOptions('sgdm','MaxEpochs',20,'InitialLearnRate',0.001,'Verbose',false,'Plots','training-progress');
net=trainNetwork(B,F,layers,option);
when i run this code the matlab give me nothing in result.the version of matlab i have used is R2018b
validation RMSE: N/A and other parameters this is the snap shot of results.I dont know what is problem.can anyone help me fix this error .thanks.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Data Workflows 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!