use trainnetwork for normal regression

3 ビュー (過去 30 日間)
Yunyu Hu
Yunyu Hu 2020 年 3 月 3 日
編集済み: wahed fazeli 2020 年 5 月 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?

採用された回答

Srivardhan Gadila
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
Srivardhan Gadila 2020 年 3 月 6 日
wahed fazeli
wahed fazeli 2020 年 5 月 30 日
編集済み: wahed fazeli 2020 年 5 月 30 日
Hi @Srivardhan Gadila can you solve my problem in this subject?
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 ExchangeImage Data Workflows についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by